第2回 基礎プログラミング I レポート課題 氏名:小松由里 学籍番号:c1090673 語学クラス:中国語1 コース(系):環境サイエンス [22日に送信したレポートに、ファイルの添付をしていませんでした。また、誤 字脱字やプログラムの解説不足、どのようにプログラム結果の考察を行ったの かが欠けていたので、新たに付け加えました。感想も付け加えました。そのため、 今回新たに送らせていただきます。] 1、筆記問題 A、1日目に卵1個が孵化し、翌日は前日の4倍になるので、 1日目 1個、2日目 1*4=4個、3日目 4*4=16個、4日目 16*4=64個、 5日目 64*4=256個となる。5日目には200個を越えてしまうので、卵200個全て が孵化するには5日かかる。 2A、プログラム問題 a、上で行なった問題を計算した内容をKtermで表示させるプログラム b、 #!/usr/koeki/bin/ruby day=1 #day=日にち egg=1 #1日目孵化した卵の数 egg=egg1=1 #これまでに孵化した卵の数 eggmax =200 #孵化する卵の上限 while egg < eggmax printf("%d 日後 \t %4.0f [個]\n", day += 1, egg *= 4) #*=4 =変数eggの4倍 end printf("%d 日後には 200 [個] を %4.0f [個] 越えます。\n", day, egg -200) c、授業で行なったメタボリック症候群のプログラムをもとにしました。 yearをday、waistをegg、waistmaxをeggmax、年後を日後、[cm]を[個] waist *=1.04をegg*=4に変更しました。 d、 pan{c109067}% ./print_snail.rb [~/Ruby] 2 日後 4 [個] 3 日後 16 [個] 4 日後 64 [個] 5 日後 256 [個] 5 日後には 200 [個] を 56 [個] 越えます。 e、 1*4 4 4*4 16 16*4 64 64*4 256 計算機で計算したところ合っていました。 2B、 a、去年産まれたシオナガスクジラの全長は26メートルだった。そして毎年6倍ず つ成長していった。このシオナガスクジラが全長5600メートルに成長するま で何年かかるか。 b、 #!/usr/koeki/bin/ruby year = 1 #year=1年 length = 26 #length=全長 #length=26 =去年の全長 lengthmax = 5600 #lengthmax=全長の上限 while length < lengthmax length*=6 #変数lengthの6倍 printf("%d 年後 \t %1.00f [m]\n", year += 1, length) end printf("%d 年後には 5600 [m] を %1.00f [m] 越えます。\n", year, length - 5600) c、カタツムリのプログラムをもとにしました。 dayをyear、eggをlength、eggmaxをlemgthmax、f4.0%をf1.00%、[個を]を[m] に変更しました。 d、 pan{c109067}% ./while_snail.rb [~/Ruby] 2 年後 156 [m] 3 年後 936 [m] 4 年後 5616 [m] 4 年後には 5600 [m] を 16 [m] 越えます。 e、 26*6 156 156*6 936 936*6 5616 計算機で計算したところ合っていました。 3、 今回の課題を通して、実際にプログラムを作成するということがいかに難しいか、 感じることができました。 しかし、プログラムを自分で作成し、実行させ、それが成功していたと きが一番達成感を感じました。 また、何回かプログラムを作成している内に、ファイルの内容をチェックするに はcat(小さいサイズのファイルの場合)や、less(大きいサイズのファイルの場合) などのコマンドと、プログラムを実行させた結果画面の数字の表示方法を変 えるためには、f○.○%(点の前の数字が小数点前の数。点の後の数字が小数点の 数を表す。)の数字を変更させることを覚えることができたので良かったです。 これから覚えなければならないことが多くなるので、復習も行いながら頑張ってい きたいです。 プログラムを作成し、導き出された結果の考察するまでの流れの中で、プログラム の解説や、プログラム実行結果を求めた手順の説明などの気を付けていかなければな らない点を抑え、次のプログラム作成時に今回の反省点を活かし、より内容のあるプ ログラムを作成できるようになりたいです。 4、参考文献 著者:西村まどか 題名:基礎プログラミング I 第2回 Ruby の基礎 / 計算が終わったら止まる 問題 Web:http://roy/~madoka/2010/rpt/report.html 協力してくれた先輩: 松島佳奈江 先輩 ************************ 東北公益文科大 1年 小松由里 Komatsu Yuri c109067@e.koeki-u.ac.jp