第2回 基礎プログラミング I レポート課題 氏名:永井 絹人 学籍番号:c109120 語学クラス:英語1 コース(系):政策 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 1、筆記問題 A.1日目 = 1個 2日目 = 1個+(1個*4個) = 5個 3日目 = 5個+(4個*4個) = 21個 4日目 = 21個+(16個*4個) = 85個 5日目 = 85個+(64個*4個) = 341個 これにより5日目で全部孵化し終わっている ktermで確かめ算 pan{c109120}% bc -l 1+(1*4) 5 5+(4*4) 21 21+(16*4) 85 85+(64*4) 341 2、プログラム問題 A. ・設定 筆記問題の結果を表示するプログラム ・プラグラム本体 #!/usr/koeki/bin/ruby print("@卵の孵化のプログラム@\n") print("1日目…1個孵化\n") print("2日目…1個+(1個*4個) = 5個孵化\n") print("3日目…5個+(4個*4個) = 21個孵化\n") print("4日目…21個+(16個*4個) = 85個孵化\n") print("5日目…85個+(64個*4個) = 341個孵化\n") print("これにより5日目で全部孵化し終わっている\n") ・実行結果 pan{c109120}% ./print_snail.rb [~/Ruby] @卵の孵化のプログラム@ 1日目…1個孵化 2日目…1個+(1個*4個) = 5個孵化 3日目…5個+(4個*4個) = 21個孵化 4日目…21個+(16個*4個) = 85個孵化 5日目…85個+(64個*4個) = 341個孵化 これにより5日目で全部孵化し終わっている ・考察 実行結果により5日目で全部孵化し終わった。 B. ・設定 プログラムで計算し、その結果を表示させるプログラム ・プログラム本体 #!/usr/koeki/bin/ruby day = 1 #日にちの初期値 tamago = tamago0 = 1 #卵の初期値 tamagomax = 200 #卵の最大数 print("1日目\t 1個孵化\n") #一日目は必ず一個孵化 while tamago < tamagomax #200個孵化するまで繰り返し printf("%d日目\t %d個孵化\n",day +=1 ,tamago *= 4) #一日に増える卵の量 end #while対するend printf("%d日目には200個を越えます。\n",day) #最終結果。 ・実行結果 pan{c109120}% ./while_snail.rb [~/Ruby] 1日目 1個孵化 2日目 4個孵化 3日目 16個孵化 4日目 64個孵化 5日目 256個孵化 5日目には200個を越えます。 ・考察 卵が実行結果のように5日目に256個孵化したか分からない。 そこで、bc -lで確かめ算を行なった。 pan{c109120}% bc -l [~/Ruby] 1*1 1 1*4 4 4*4 16 16*4 64 64*4 256 quit 実行結果と確かめ算が正しく一致したので、このプラグラムは正常である。 3、感想 今回の課題は初めてのプログラム問題だったのでとても苦労しましたが、先生 の教えを思いだし、そして、先輩に教えてもらいながらやり何とか完成しまし た。 さらに、先輩にctrl+x押してiを押すとプログラムをコピーできる便利なこと 等を教えていただき自分のプログラミング能力が少しアップできたと実感しま した。 4、参考文献 基礎プログラミング I 第2回 Ruby の基礎 / 計算が終ったら止まる問題 より プログラムの作成と実行の手順 http://roy/~madoka/2010/r1/02/02_06_theme_04_chmod.html メタボリック症候群 http://roy/~madoka/2010/r1/02/02_09_theme_07_while_meta.html よい考察を行なうには http://roy/~madoka/2010/r1/02/02_18_theme_10_consideration.html 西村まどか著 協力先輩者 ・工藤智也 協同者 ・久保田 瑛一郎 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\