c110190 森 桂太 第 1 回 前期の復習 レポート課題 1.筆記問題 ・配列 []を使いデータを複数保存可能にし、いちいちデータを消さなくてもよ くさせる 2.プログラム問題 ・A(夏休みの思い出を語る)プログラム ・B(幼少の頃からの夏の思い出を語る)プログラム 3.作成したプログラム プログラムA #!/usr/koeki/bin/ruby print("今年の夏の思い出\n") sleep(3) print("今年の夏はトレーニングジムで体を鍛え続け、図書館にも通った。\n") sleep(3) print("特にこれといって特別な事は何一つなく、\n") sleep(3) print("平凡な夏休みとなった。\n") sleep(3) print("心残りと言うならば、\n") sleep(3) print("花火見に行けなくてショックであることだろうか。\n") プログラムB #!/usr/koeki/bin/ruby print("<夏の思いで>\n") print("c110190 森桂太\n") print("「三歳〜十五歳の夏のおもいで」") print("1〜13の番号を選択し、終わるときにはendを入力して下さい。") while true number = gets.chomp! if number == "end" print"\n" break elsif number == "1" print("三歳の夏、保育園で催した夏祭で、友達と出店で買ったものを食い、騒いで楽しかった。\n") elsif number == "2" print("四歳の夏、花火で友達と悪ふざけ、結果は火傷。\n") elsif number == "3" print("五歳の夏、海に沖に流されかけ、近くにいた見知らぬ男性に助けられた。\n") elsif number == "4" print("六歳の夏、叔父の家に遊びに行き、オタマジャクシを三十匹捕獲。\n") elsif number == "5" print("七歳の夏、遊園地に遊びに行き、テンション上昇。\n") elsif number == "6" print("八歳の夏、地域の夏祭に出掛け、財布を落とす。\n") elsif number == "7" print("九歳の夏、山に昆虫探しに行く。\n") elsif number == "8" print("十歳の夏、部活の合宿で苦労した。\n") elsif number == "9" print("十一歳の夏、バーベキューをして、腹いっぱい食った。\n") elsif number == "10" print("十二歳の夏、人生の中で最多の十三回海に行った。\n") elsif number == "11" print("十三歳の夏、花火大会で豪快な花火を満喫。\n") elsif number == "12" print("十四歳の夏、部活の全国大会で高知まで。部員の皆と良い思い出に。\n") elsif number == "13" print("十五歳の夏、家族で温泉旅行。日頃の疲れがなくなった。\n") end end 4.プログラム説明 プログラムAでは、 print("\n") で()内に思いでの内容を書き、 sleep() で何秒 間かの間を空けさせ、次の print("\n") 項目を表示させて、自動的に思い出を語ら せていくプログラムをつくりました。 プログラムBでは、 while true を使い繰り返し入力を受け付けるようにさせ、 number = gets.chomp! で、数字を入力するよう指示、 if number == "end" でも し"end"と入力されたら、" break"で繰り返しから抜け出すと設定する。 elsif number == "" で 番号を選択されたときに、 print("\n") 内の思い出を表示 させる。 5.プログラムを実行した結果 ・プログラムAの結果 今年の夏の思い出 今年の夏はトレーニングジムで体を鍛え続け、図書館にも通った。 特にこれといって特別な事は何一つなく、 平凡な夏休みとなった。 心残りと言うならば、 花火見に行けなくてショックであることだろうか。 ・プログラムBの結果 <夏の思いで> c110190 森桂太 「三歳〜十五歳の夏のおもいで」1〜13の番号を選択し、終わるときにはendを入力して下さい。1 三歳の夏、保育園で催した夏祭で、友達と出店で買ったものを食い、騒いで楽しかった。 2 四歳の夏、花火で友達と悪ふざけ、結果は火傷。 3 五歳の夏、海に沖に流されかけ、近くにいた見知らぬ男性に助けられた。 4 六歳の夏、叔父の家に遊びに行き、オタマジャクシを三十匹捕獲。 5 七歳の夏、遊園地に遊びに行き、テンション上昇。 6 八歳の夏、地域の夏祭に出掛け、財布を落とす。 7 九歳の夏、山に昆虫探しに行く。 8 十歳の夏、部活の合宿で苦労した。 9 十一歳の夏、バーベキューをして、腹いっぱい食った。 10 十二歳の夏、人生の中で最多の十三回海に行った。 11 十三歳の夏、花火大会で豪快な花火を満喫。 12 十四歳の夏、部活の全国大会で高知まで。部員の皆と良い思い出に。 13 十五歳の夏、家族で温泉旅行。日頃の疲れがなくなった。 end 6.結果の考察 プログラムAは、print("\n")で書いた内容をsleep()で何秒後に表示させるかを というプログラムだった。 プログラムBは、while true、elsif number == ""を用いて、print("\n")内の内 容を歳ごと出来事に分け、読みこませ、番号入力で表示できるようにしました。 1〜13以外の数字を打ち込むと、何も反応しないことがわかった。 「三歳〜十五歳の夏のおもいで」1〜13の番号を選択し、終わるときにはendを入力して下さい。16 14 7.参考文献 神田先生のホームページ http://roy/~naoya/ruby/5.html 8.再提出での変更点 ・考えた設定 ・プログラムを実行した結果 ・作成したプログラム ・結果の考察 の項目追加を行いました。 9.感想 手直ししたところ、自分でも驚くほど抜けているところがあることに気付きまし た。先生に御手数掛けさせてすいません。再チェックよろしくお願いします。