第2回 基礎プログラミング I レポート課題 氏名:佐竹聡美 学籍番号:c1090816 語学クラス:英語1 コース:社会福祉士コース 1、 A,1日目まず、1個孵化した。翌日は前日の4倍孵化する。カタツムリの卵は200個ある。 1日目>>>>1個 2日目>>>>4個 1×4 3日目>>>>16個 4×4 4日目>>>>64個 16×4 5日目>>>>256個 64×4 よって、5日目で200個を越えるため、全て孵化するには5日かかる。 2、 A, <考えた設定> 200個ある卵の1個が孵化した。翌日は前日の4倍孵化する時、200個ある卵全てが孵化す るプログラム <作成したプログラム> #!/usr/koeki/bin/ruby print("1日目は1個孵化する\n") print("2日目は4個孵化する\n") print("3日目は16個孵化する\n") print("4日目は64個孵化する\n") print("5日目は256個孵化する\n") day = 1 egg = waist0 = 1 eggmax = 200 while egg < eggmax printf("%d 日後 \t %1.0f [個]\n", day += 1, egg *= 4) end printf("%d 日後には 200 [個] を %1.0f [個] 越えます。\n",day,egg -200 ) <もとにしたプログラムの変更点> メタボリック症候群の例を参考にしました。 year→day waist→egg waistmax→eggmax 年後→日後 cm→個 <プログラムを実行した結果> pan{c109081}% ./print_snail.rb [~/Ruby] 1日目は1個孵化する 2日目は4個孵化する 3日目は16個孵化する 4日目は64個孵化する 5日目は256個孵化する 2 日後 4 [個] 3 日後 16 [個] 4 日後 64 [個] 5 日後 256 [個] 5 日後には 200 [個] を 56 [個] 越えます。 <導き出された結果の考察> 自分で計算した答えと、プログラムの答えが合っていた!! B, <作成したプログラム> #!/usr/koeki/bin/ruby print("1日目は1個献上する\n") print("2日目は2個献上する\n") print("3日目は4個献上する\n") print("4日目は8個献上する\n") print("5日目は16個献上する\n") print("6日目は32個献上する\n") print("7日目は64個献上する\n") print("8日目は128個献上する\n") print("9日目は256個献上する\n") day = 1 daiya = daiya0 = 1 daiyamax = 200 while daiya < daiyamax printf("%d 日目 \t %1.0f [個]\n", day += 1, daiya *= 2) end printf("%d 日目には 200 [個] を %1.0f [個] 越えます。\n",day,daiya -200 ) print("よって%d日目まで求婚出来る。\n",day) <プログラムを実行した結果> pan{c109081}% ./while_snail.rb [~/Ruby] 1日目は1個献上する 2日目は2個献上する 3日目は4個献上する 4日目は8個献上する 5日目は16個献上する 6日目は32個献上する 7日目は64個献上する 8日目は128個献上する 9日目は256個献上する 2 日目 2 [個] 3 日目 4 [個] 4 日目 8 [個] 5 日目 16 [個] 6 日目 32 [個] 7 日目 64 [個] 8 日目 128 [個] 9 日目 256 [個] 9 日目には 200 [個] を 56 [個] 越えます。 よって%d日目まで求婚出来る。 3、感想 今回はRubyの基礎と計算についてやった。プログラムを作るのに苦戦し、友人に助け てもらった。問題2ではあまり理解出来ていなかったが、問題2のBをしていて、理解 することが出来た。もう少し、スムーズに出来るように次回頑張りたい!!次も頑張る ぞー!! 4、参考文献など 西村先生のホームページ メタボリック症候より http://roy/~madoka/2010/r1/02/02_09_theme_07_while_meta.html 共同学習者:酒井春香/大島藍/久保田瑛一郎