第2回 基礎プログラミング I レポート課題 氏名:布川大地 学籍番号:c1091230 語学クラス:英語3 コース(系):政策 1.筆記問題 A. 1日目 1個 2日目 1個+(1*4)=5個 3日目 5個+(4*4)=16個 4日目 21個+(16*4)=85個 5日目 85個+(64*4)=341個 これにより、5日目で全部の卵が孵化していることになる。 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{c109123}% ./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 print("\ 1=献上する\n") day = 1 #日にちの初期値 2日目から計算するからday = 1とする。 houseki = 1 #献上できるのは200個までだから housekimax = 200 while houseki < housekimax printf("%d 日後 \f %d個 献上する\n", day +=1,houseki*=2) #変数1を2倍させるのでhouseki*2 #日にちは1日ずつ進むのでday=1とする。 end printf("%d 日後には200個を越えて求婚できない\n",day, houseki,-200) printf("よって%d 日後 \f %d 日後まで求婚できる\n",day=1,houseki-200) ・実行結果 pan{c109123}% ./while_snail.rb [~/Ruby] 1=献上する 2 日後 2個 献上する 3 日後 4個 献上する 4 日後 8個 献上する 5 日後 16個 献上する 6 日後 32個 献上する 7 日後 64個 献上する 8 日後 128個 献上する 9 日後 256個 献上する 9 日後には200個を越えて求婚できない よって8日後 まで求婚できる <考察> ktermによる計算連想、プログラムの実行結果により、9日後以降は求婚できなく なることがわかった。 3.感想 ほかのひとたち助けてもらいながらすることができました。これから頑張って授 業を受けてちゃんと自分でできるようにしたい。 4.参考文献 http://roy/~madoka/2010/r1/02/ 西村まどか 基礎プログラミング I 第2回 Ruby の基礎 / 計算が終ったら止まる問題 共同学習者:渡辺力、酒井信市郎、木内雄、永井絹人 協力してくれた先輩:沓澤ゆうじ先輩、くどうともや先輩