第2回 基礎プログラミング I レポート課題 氏名:小松志保 学籍番号:c1090667 語学クラス:中国語1 コース(系):社会福祉コース 1. A. カタツムリが1日に孵化するのに1個かかり、 次の日は4倍も孵化しているので 計算をしてみると 1日目 1個(問題から) 2日目 (4×1)=4 4個 3日目 (4×4)=16 16個 4日目 (4×4×4)=64 64個 5日目 (4×4×4×4)=256 ↑ 5日目は256。カタツムリの卵が 全部で200個なので完全に孵化している。 2. A. a)「カタツムリの卵が200個あります。まだ卵は卵のままです。 ポカポカしてきたので1個かえってしましました。 気がつくと次の日には4倍もかえっていました。カタツムリの卵が 全部かえるのに何日かかるでしょうか?」 b) waist *= 4 変数waistに入っている値を4倍させる day += 1 変数dayに入ってる値を1増加させる printf 変数を変換指定子を使って表示する実行文 %d 整数値を表示する変換指定子 \t print文ですき間を表示させる プログラムしてみると以下のようになる↓ #!/usr/koeki/bin/ruby day = 1 #日にち waist = waist0 = 1 #開始日の孵化してる個数 tamago = 200 #カタツムリの卵の数 while waist < tamago #卵の個数が200個になったら止める printf("%d 日 \t %f [個]\n", day += 1, waist *= 4) end #卵が4倍ずつ孵化していく printf("%d 日後には 200[個] を%f [個]越えます。\n", day, waist - 200) #結果がどうなるか c) 問題文に応じた変数に変えた 具体的には↓ yearをdayにした waistmaxをtamagoにした d) 結果 ktermで実行した画面を貼りつけると以下のようになる↓ 2 日 4.000000 [個] 3 日 16.000000 [個] 4 日 64.000000 [個] 5 日 256.000000 [個] 5 日後には 200[個] を56.000000 [個]越えます。 よって5日後には孵化している。 e) 翌日に前日の7倍孵化する場合は 2 日 7.000000 [個] 3 日 49.000000 [個] 4 日 343.000000 [個] 4 日後には 200[個] を143.000000 [個]越えます。 よって4日後には孵化している。 B.a) 「隊商の主が瑠美姫に宝石を1つあげた。 隊商の主は宝石を全部で200個もっている。 瑠美姫は次の日になると、2倍もの宝石が欲しいと頼んだ。 隊商の主が瑠美姫に全ての宝石をあげるのには何日かかるか?」 b) waist *=2 変数 waist に入ってる値を2倍増加させる day += 1 変数dayに入ってる値を1増加させる printf 変数を変数指定子を使って表示する実行文 %d 整数値を表示する変換指定子 \t printf文ですき間を表示させる プログラミングをしてみると以下のようになる↓ #!/usr/koeki/bin/ruby day = 1 #日にち waist=waist0 = 1 #始めに献上した宝石の数 ruby = 200 #主が持っている宝石の数 while waist < ruby #宝石の数を越えるのを止める printf("%d 日後 \t %f [個 ]\n", day += 1, waist *= 2) end #宝石が2倍ずつ瑠美姫にプレゼントされる printf("%d 日後には 200 [個] を %f [個] 越えます。\n", day, waist - 200) #結果がどうなるか c) 問題文に応じた変数に変えた 具体的に↓ yearをdayにした tamagoをrubyにした d) 結果 ktermで実行した画面を貼りつけると以下のようになる↓ 2 日後 2.000000 [個 ] 3 日後 4.000000 [個 ] 4 日後 8.000000 [個 ] 5 日後 16.000000 [個 ] 6 日後 32.000000 [個 ] 7 日後 64.000000 [個 ] 8 日後 128.000000 [個 ] 9 日後 256.000000 [個 ] 9 日後には 200 [個] を 56.000000 [個] 越えます。 よって9日後には全ての宝石が瑠美姫のものとなる。 e) 前日の3倍宝石が欲しいと言われたら 2 日後 3.000000 [個 ] 3 日後 9.000000 [個 ] 4 日後 27.000000 [個 ] 5 日後 81.000000 [個 ] 6 日後 243.000000 [個 ] 6 日後には 200 [個] を 43.000000 [個] 越えます。 よって6日後には全ての宝石が瑠美姫のものとなる。 2. emacsの中で計算をする文字を入力するのに苦戦しました。 先生のホームページをみたり友人に教えてもらいながら課題をやりました。 瑠美姫の問題とカタツムリの問題が少し似ているところがあったのでカタツム リの問題で時間がかかった分瑠美姫の問題はスムーズに解けることができまし た。 これからもがんばって一つずつ消化していきたいです。 3. 基礎プログラミング I 第2回 Rubyの基礎/計算が終わったら止まる問題 「メタボリック症候群」 西村まどか http://roy/~madoka/2010/r1/02/02/02_09_theme_07_while_meta.html 協力してくれた友人:伊藤彩 佐藤綾香