第4回 基礎プログラミング II レポート課題 氏名:大島 藍 学籍番号:C1090331 語学クラス:中国語 コース(系):福祉コース 1、筆記問題 A、「炭酸水」とかけて「かっこいい彼氏」と解きます。 その心は、 「どちらも振れません」 B、お菓子を買って、いくらかかるか調べた。 チョコ1個100円、ポテチ1個150円、ガム30円である。 チョコを2個、ポテチを3個、ガムを7個買うことにした。 100*2+150*3+30*7 = 860 pan{c109033}% bc -l [~] 100*2+150*3+30*7 860 quit 2、プログラム問題 A、 ・考えた設定 お菓子を買う時何円か調べるプログラムを作った。 ・作成したプログラム #!/usr/koeki/bin/ruby def okasi(p,s,l) # ここから関数が始まる 100 * p + 150 * s + 30 * l end # def に対する end STDERR.print("チョコの値段は 100円 です。何個買いますか?: ") # 文章を表示 a = gets.to_i # 入力された文字列を整数にする STDERR.print("ポテチの値段は 150円 です。何個買いますか?: ") # 文章を表示 b = gets.to_i # 入力された文字列を整数にする STDERR.print("ガムの値段は 30円 です。何個買いますか?: ") # 文章を表示 c = gets.to_i # 入力された文字列を整数にする printf("合計は %d円です。\n", okasi(a,b,c)) # 文章を表示 ・もとにしたプログラムからの変更点 授業で作ったプログラムの変数の名前を okasi に変えた。 ・実行画面 pan{c109033}% ./def_twoparam.rb [~/Ruby] チョコの値段は 100円 です。何個買いますか?: 2 ポテチの値段は 150円 です。何個買いますか?: 1 ガムの値段は 30円 です。何個買いますか?: 4 合計は 470円です。 ・考察 pan{c109033}% bc -l [~/Ruby] 100*2+150*1+30*4 470 quit 確かめ算をしてみたところ 470 になり、実行結果と同じになったのでこのプロ グラムは正しかったといえる。 B、 ・考えた設定 チョコだけを買う前提として、個数を入力するプログラムを考えた。 ・作成したプログラム #!/usr/koeki/bin/ruby def okasi(p) # ここから関数が始まる 100 * p end STDERR.print("チョコの値段は 100 円です。\n") # 文章を表示 STDERR.print("何個買いますか?: ") # 文章を表示 a = gets.to_i # 入力された文字列を整数にする printf("合計は %d円です。\n", okasi(a)) # 文章を表示 ・もとにしたプログラムからの変更点 2つの変数ではなく、1つの変数を入力することで合計が出るプログラムに変えた。 ・実行画面 pan{c109033}% ./def_oneparam_a.rb [~/Ruby] チョコの値段は 100 円です。 何個買いますか?: 2 合計は 200円です。 ・考察 pan{c109033}% bc -l [~/Ruby] 100*2 200 quit 確かめ算をしてみたところ 200 になり、実行結果と同じになったのでこのプロ グラムは正しかったといえる。 ・感想 義務教育で学んだ算数や数学が基礎だと思った。defを使ったプログラムは数字 を入力して、グラフの形を指定するということがわかった。授業でやったグラフ の作成にその形は似ているのではないか。 ・参考文献 西村 まどか http://roy/~madoka/2010/r2/04/04_03_theme_03_method.html 基礎プログラミング II 第 4 回 「繰り返しは引っ張りだそう」どんな関数が きてもだいじょうぶ 西村 まどか http://roy/~madoka/2010/r2/04/04_08_theme_08_comment.html 基礎プログラミング II 第 4 回 「繰り返しは引っ張りだそう」method を使っ たプログラムの作り方の特徴 ・共同学習者 酒井 春香 / 横山 広樹