第2回 基礎プログラミング I レポート課題 氏名:酒井信市郎 学籍番号:c1090733 語学クラス:英語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日かかる pan{c109073}% 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{c109073}% ./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日かかる <考察> 筆記問題のktermによる計算確認、プログラムの実行結果により 5日で全て孵化することが分かった。 B、 <設定> 計算し、その結果を表示させる <プログラム> #!/usr/koeki/bin/ruby day = 1 #日にちの初期値 tamago = tamago0 = 1 #卵の初期値 tamagomax = 200 #卵の最大数 print("1日目\t 1個孵化\n") #1日目は必ず1個孵化 while tamago < tamagomax #200個孵化するまで繰り返し printf("%d日目\t %d個孵化\n", day +=1 , tamago *= 4) #1日に増える卵の量 end #while対するend printf("%d日目に200個を越えます。 \n", day) #最終結果。 <実行結果> pan{c109073}% ./while_snail.rb [~/Ruby] 1日目 1個孵化 2日目 4個孵化 3日目 16個孵化 4日目 64個孵化 5日目 256個孵化 5日目に200個を越えます。 <考察> プログラムの実行結果が正しいかbc -lで確認しようと思う。 pan{c109073}% bc -l [~/Ruby] 1*1 1 1*4 4 4*4 16 16*4 64 64*4 256 上記よりプログラムが正常であることが確認できた。 -------------------------------------------------------------------------------- 3、感想 始めてのプログラミングということもあって作業時間が長くなったが、先生の ページや授業のメモ書きを利用して完成することが出来た。 苦労した分プログラムが正常に実行出来たときは達成感があった。 今回の講義内容を復習して次回に臨みたい。 -------------------------------------------------------------------------------- 4、参考文献 基礎プログラミング1 第2回Rubyの基礎 / 計算が終わったら止まる問題 http://roy/~madoka/2010/r1/02/ 西村まどか著