Skip to content

Latest commit

 

History

History
193 lines (158 loc) · 11.6 KB

File metadata and controls

193 lines (158 loc) · 11.6 KB

初めてのペア・プログラミング

  • 共通補足
    • 説明文では便宜上「変数x」「変数y」と記載しているが、その変数が何を表すのか分かるように、適切な変数名を付けよう。
    • サブ設問毎にdriver, observerを交代して実施しよう。
    • driverは、ゆっくりで構わないので考えていることを言葉にしよう。
      • 「これ、どう取り組んだらいいんだろうね?」「まずこうしてみようか」
    • observerは、直前の内容を把握していないと交代した時に取り組めないはず。わからない場合は質問しよう。気になる点があればその都度確認取るようにしよう。
      • 「今何やってるの?」「こうした方が良いんじゃない?」

<目次>



  • 作業内容
    • ターミナルを起動し、今回演習を作業するためのディレクトリとして「~/prog1/ex1/」を作成し、そこに移動せよ。
    • 条件: ターミナル内で作業すること。
    • ヒント: プログラミング演習1で既に習った内容です。
  • 補足
    • レポートには、ターミナル上でコマンドを実行した様子と、「~/prog1/ex1/」に移動したことが分かるように、移動後にカレントディレクトリを確認した結果を掲載すること。

  • 作業内容
    • 新規作成した作業用ディレクトリ「~/prog1/ex1/」にはファイルが一つもないはずだ。そのことを確認せよ。
    • 条件: ターミナル内で作業すること。
    • ヒント: プログラミング演習1で既に習った内容です。
  • 補足
    • レポートには、ターミナル上でコマンドを実行した様子を掲載すること。

  • 作業内容
    • Pythonインタプリタを起動し、 print('test') を実行してからインタプリタを終了せよ。
  • レポートには、下記3点の様子を掲載すること。
    • ターミナル上からPythonインタプリタを起動する様子。
    • インタプリタ上でprint()関数を実行する様子。
    • インタプリタを終了して、シェルに戻る様子。


  • 作業内容
    • 以下のように出力するプログラムを作成せよ。
    • Pythonインタプリタ上で実施するものとする。
  • 補足
    • 3行同時に出力することは求めていない。結果として3行の出力となれば良く、1行毎に1つのprint()文を用いて構わない。
      • 1つのprint()文でまとめて出力することも可能である。どちらであっても構わない。
      • 変数は使わず、直接print()文の中にすべての文字列を埋め込んで構わない。
    • レポートにはコードと実行結果を掲載すること。
  • 出力したい内容
naltoma に遭遇した。
naltoma はレポート課題の始まりを高らかに宣言した。
naltoma は楽しそうに待ち構えている。

  • 作業内容
    • naltomaは敵であり、敵はnaltoma以外にも数多く待ち構えている。他の敵にも対応しやすくするため、敵の名前を変数xに保存し、変数xを用いて演習2.1と同様の出力をするように実行するプログラムを作成せよ。
    • 敵の名前は naltoma 以外であれば任意とする。
    • 変数名は妥当だと思うものを検討してみよう。
    • Pythonインタプリタ上で実施するものとする。
  • 補足
    • 変数名は妥当だと思う名称に変更 すること。
    • レポートには、コードと実行結果を掲載すること。

  • 作業内容
    • 演習2.2のコードを「ex2_3.py」というファイル名で保存し、シェル上で実行せよ。その結果が演習2.2と同じであることを確認せよ。
  • 補足
    • ひとまず「シェル=ターミナル」と考えて良い。Pythonインタプリタではなく、ターミナルで実行すること。
      • なお、出力確認の際に大きな違いが一つある。Pythonインタプリタ上では「変数名を書いて改行」すると、その変数の中に保存している値が出力される。しかしスクリプトファイル実行の場合には、同じ書き方をしても値が出力されない。変数の中身を確認する際には、必ずprint関数で出力 させる必要がある。
    • レポートには、シェル上で実行する様子と、実行結果を掲載すること。

  • 作業内容
    • 出会った敵「naltoma」のレベルは1(int型オブジェクトの1)とする。この値を変数xに保存し、正しく保存されていることを確認するコードを書け。
  • 補足
    • 変数名は適切に命名 すること。
    • レポートには、コードと、実行結果を掲載すること。

  • 作業内容
    • あなたは特殊技「レベル5デス」を使用することができるとしよう。この技は「敵のレベルが5の倍数なら、敵を倒す」ものとする。naltomaを「レベル5デス」で倒すことが可能か判定するために、次の手順で判定せよ。
  • 手順
    • [手順1] 敵のレベルを5で割った余りを求め、その結果を変数yに保存する。
    • [手順2] 変数yには5で割った余りが保存されている。これを利用して「5の倍数か否か」を判定し、判定結果を変数zに保存する。
    • [手順3] 判定結果zをprint()出力する。
  • 補足
    • 変数名は適切に命名 すること。
    • 判定結果はブール型で出力するものとする。
    • レポートには、手順1〜手順3のコードと実行結果を掲載すること。

  • 作業内容
    • 演習3.2のコードを「ex3_3.py」というファイル名で保存し、シェル上で実行せよ。実行結果が演習3.2と同一であることを確認せよ。
  • 補足
    • レポートには、コードと、実行結果を掲載すること。(既にスクリプトファイルで作成済みの場合にはスキップしてOK)

  • 作業内容
    • print()関数について、help()コマンドか公式ドキュメントで調べよ。
  • 補足
    • レポートには、print()関数について説明している箇所冒頭数行程度を掲載し、分かったこと、分からないことについて言及せよ。

  • 作業内容
    • print('hoge', 'fuga', 'piga') を実行すると、それぞれの要素が「スペースで連結された文字列」として出力されるはずだ。ことのことについて、help()コマンドもしくは公式ドキュメントではどのように説明しているだろうか。該当箇所を探し出せ。
  • 補足
    • レポートには、説明している箇所をコピペすること。

  • 作業内容
    • 先程は「スペースで連結された文字列」として出力されたが、ここでは連結文字なしに3つの要素を繋げて出力したい。すなわち「hogefugapiga」と出力させたい。print関数で連結文字を指定する(スペースなしに連結させる)にはどうしたら良いだろうか。help()でその手段を探し出し、実現するコードを検討し、動作確認せよ。
    • 実現したコードを「ex4_3.py」というファイル名で保存し、シェル上で実行せよ。
  • 補足
    • レポートには、シェル上で実行する様子と、実行結果を掲載すること。(演習4.2までと同じインタプリタ上ではないことに注意)

def encount_enemy(name):
    print(name, 'に遭遇した。')
    print(name, 'はレポート課題の始まりを高らかに宣言した。')
    print(name, 'は楽しそうに待ち構えている。')

encount_enemy(name='naltoma')
encount_enemy(name='TA')
encount_enemy('naltoma')
  • 補足
    • このコードは「3回print()実行するコードに、encount_enemy() という名前を付けて定義した(この時点ではまだ何も実行されない)。その名前を指定することでコードを実行させた。」という例である。
    • print()関数の前の空白は「半角スペース4つ」で統一しよう。
    • 何もない「空行」は必要です。改行するだけで良いですが、必ず空行を入力してください。