第 4 回 繰り返しは引っ張りだそう レポート課題 氏名:水口天地 学籍番号:c1101862 語学クラス:英語2 コース(系):地域共創 1.筆記問題 A.「選挙とかけて、体力テストと解きます。」 「その心は?」   「日頃の運動がものをいいます。」 B.(1) 時給と時間を出し、何円貰えるのか計算する。 時給を x 時間を y とする。 x * y 時給 700 円、時間 5 時間の場合、 700 * 5 = 3500 bc -l で確認すると pan{c110186}% bc -l [~] 700*5 3500 quit となり、3500円が正しい答えである。 (2)田中は、漫画と雑誌の合計金額を知りたい。 漫画は1冊420円、雑誌は1冊500円で売っている。 漫画を x 冊、雑誌を y 冊とする。 420 * x + 500 * y 漫画を2冊、雑誌を3冊買った場合、 420 * 2 + 500 * 3 = 2340 bc -l で確認すると pan{c110186}% bc -l [~] 420*2+500*3 2340 quit となり、2340円が正しい答えである。 2.プログラム問題 A.def_twoparam.rb ◯作成したプログラム◯ #!/usr/koeki/bin/ruby def kyuuryou(j,t) # メソットの定義 j * t end # def に対する end STDERR.print("あなたの時給は何円ですか?: ") # 標準出力で相手の画面に出力する a = gets.to_i # a の中に入力された文字列を整数に直し代入する STDERR.print("今回は何時間働きましたか?: ") # 標準出力で相手の画面に出力する b = gets.to_i # b の中に入力された文字列を整数に直し相手の画面に出力する printf("あなたは今回 %d 円貰えます。\n",kyuuryou(a,b)) # 表示させたい文をカッコとダブルコーテーションで囲み、%d の中にはメソット # で定義したもの (j * t) が入る ◯実行結果◯ pan{c110186}% ./def_twoparam.rb [~/ruby] あなたの時給は何円ですか?: 700 今回は何時間働きましたか?: 3 あなたは今回 2100 円貰えます。 ◯考察◯ このプログラムが正しく実行されているのか確かめる為に、bc -l を使い確か め算をした。 pan{c110186}% bc -l [~/ruby] 700*3 2100 quit 実行結果は 2100 になり、確かめ算でも 2100 なので、このプログラムは正しく 実行されているといえる。 B.def_oneparam_a.rb ◯考えた設定◯ 時給を 770 円に固定し何時間働いたかを入力すると貰える金額が表示される プログラムを考えた。 ◯作成したプログラム◯ #!/usr/koeki/bin/ruby def kyuuryou(t) # メソッドの定義 770 * t end # def に対する end STDERR.print("時給は 770 円です。\n") # 標準出力で相手の画面に出力する STDERR.print("何時間働きましたか?: ") # 標準出力で相手の画面に出力する b = gets.to_i # b の中に入力された文字列を整数に直し相手の画面に出力する printf("あなたは今回 %d 円貰えます。\n",kyuuryou(b)) # 表示させたい文をカッコとダブルコーテーションで囲み、%d の中にはメソッド # で定義したもの (770 * t) が入る ◯実行結果◯ pan{c110186}% ./oneparam_a.rb [~/ruby] 時給は 770 円です。 何時間働きましたか?: 5 あなたは今回 3850 円貰えます。 ◯考察◯ このプログラムが正しく実行されているのか確かめる為に、bc -l を使い確か め算をした。 pan{c110186}% bc -l [~/ruby] 770*5 3850 quit 実行結果は 3850 になり、確かめ算でも 3850 なので、このプログラムは正しく 実行されているといえる。 3.感想 義務教育で学んだ算数や数学とくらべ今回やったことは同じしくみだと思う。 例えば f(x)=3x+5 のような数式があったとき、これをプログラムで表すと def f(x) 3 * x + 5 end というように表すことができるので同じしくみを使っていると思う。 今回学んだ def は数学の要素もあるので少し難しく感じた。しかし def を 使えるようになれば、プログラミングの幅も広がるのでしっかりと使える ようにしたいと思った。 4.参考文献 基礎プログラミング II 第4回 繰り返しは引っ張りだそう http://roy/~madoka/2011/r2/04/ 協同研究者 千葉倫之 羽田圭介 中川弘樹