第 1 回 前期の復習 レポート課題 氏名:夏井 知恵子 学籍番号:c1101655 語学クラス:英語クラス 6 コース(系):政策マネジメントコース 1. 前期で学んだ項目はprintやgetsなど基本的なメソッドの使い方、+や*といった 算術演算子。to_iやto_sを使った値の変換、while-endを使った繰り返しの制御 構造の使い方、if-endを使った条件判断、while trueを使った繰り返し、配列、 openメソッドを用いたファイルの読み込みや書込みの方法、進数変換。以上が前 期で学んだことである。 26日の授業で復習したことは、プログラムの実行のしかた、桁揃えのしかた、 emacsの基本的な操作方法である。 vi) 参考文献 Web サイト:http://roy/~naoya/ruby/index.html 神田直弥、基礎プログラミングI情報検索 2. i)今回は幼年期から最近までの夏の思い出を語るプログラムということで、 if-endを使って、自分の或る年齢における夏の思い出を語るプログラムを設定し た。 ii) 作成したプログラム #!/usr/koeki/bin/ruby print"私の夏の思い出について語って行きたいと思います。\n" print"何歳の時の思い出について聞きたいですか?(3、10、14、18から選択して下さい。)\n" year = gets.to_i #何歳の時の思い出を語るかを選択する printf("それでは、私が%d歳の時の思い出について語りたいと思います。\n",year) if #if-endを用い、year=3だった場合に実行するプログラムをif-end内につくった year == 3 #年齢 print"-----------------------------------------------------------------------\n" print"3歳の時、近所の市営プールに行きました。\n" print"初めてのプールということもあり、楽しく遊んでいたのですが、この数十分後、私 のテンションが急降下することが起こったのです。\n" print"私の身に起こった事とは?\n" print"1.プールに落ちた\n" print"2.親とはぐれて迷子になった\n" answer = gets.chomp!.to_i #質問の答えをキーボードの入力から読み込む if answer == 1 #if-endを使い、answer==1だった場合L28、L29を実行 print"正解です。プールの休憩時間にプールサイドで足を滑べらせてプールにおち てしまったんです。\n" else #answerが 1 以外だった場合を想定 print"親とはぐれてしまうことはなかったのですが、プールの休憩時間にプールサイドで 足を滑べらせてプールにおちてしまったんです。\n" end print"それ以来、1回もプールには行っていませんし、その上、泳げません\n\n" print"これで私の3歳の頃の夏の思い出は以上です。\n" print"-----------------------------------------------------------------------\n" end if year == 10 #if-endを用い、year=10だった場合に実行するプログラムをif-end内におく print"-----------------------------------------------------------------------\n" print"小学3年生の夏休み、夏休みの宿題のポスター制作を残して全て夏休み1日目で終わ らせた私。\n" print"暇だったので、家の中を歩き回っていたら、当時中学3年生の兄が仏間でポスターを制作していました。\n" print"この時、私は兄が描いていたポスターを見て驚きます。なぜ、私は驚いたでしょう。\n" print"1.兄の絵があまりにもひどかったから\n" print"2.去年と同じ構図でポスターを描いていたから\n" answer = gets.chomp!.to_i #質問の答えをキーボードの入力から読み込む if answer == 2 #if-endを使い、answer==2だった場合L54を実行 print"正解です。「去年より上手くなってる」って独り言をいってました。\n" else #answerが 2 以外だった場合を想定 print"実は、2が正解なんです。ポスターの絵は以外とまともでした。\n" end print"これで10歳の頃の夏の思い出は以上です\n" print"-----------------------------------------------------------------------\n" end if year == 14 #if-endを用い、year=14だった場合に実行するプログラムをif-end内におく print"-----------------------------------------------------------------------\n" print"中学2年生の夏休み、毎日部活で大変でした。\n" print"ある日、部活のミーティングの最中にハチが飛んできました。\n" print"この時顧問の先生がとった行動とは?\n" print"1.生徒を盾にして自分が逃げた\n" print"2.ハチをやっつけた\n" answer = gets.chomp!.to_i if answer == 2 #if-endを使い、answer==2だった場合L74を実行 print"正解です。手袋をはいた手でハチを潰していました。\n" else #answerが 2 以外だった場合を想定 print"実は、2が正解なんです手袋をはいた手でハチを潰していました。\n" end print"これで14歳の頃の夏の思い出は以上です\n" print"-----------------------------------------------------------------------\n" end if year == 18 #if-endを用い、year=18だった場合に実行するプログラムをif-end内におく print"-----------------------------------------------------------------------\n" print"高校3年生の夏休み、ほぼ毎日補習授業で大変でした。\n" print"これで18歳の頃の夏の思い出は以上です。\n" print"-----------------------------------------------------------------------\n" end iii) プログラムの実行結果 pan{c110165}% ./summer_b.rb [~/Ruby] 私の夏の思い出について語って行きたいと思います。 何歳の時の思い出について聞きたいですか?(3、10、14、18から選択して下さい。) 3 それでは、私が3歳の時の思い出について語りたいと思います。 ----------------------------------------------------------------------- 3歳の時、近所の市営プールに行きました。 初めてのプールということもあり、楽しく遊んでいたのですが、この数十分後、私 のテンションが急降下することが起こったのです。 私の身に起こった事とは? 1.プールに落ちた 2.親とはぐれて迷子になった 2 親とはぐれてしまうことはなかったのですが、プールの休憩時間にプールサイドで 足を滑べらせてプールにおちてしまったんです。 それ以来、1回もプールには行っていませんし、その上、泳げません これで私の3歳の頃の夏の思い出は以上です。 ----------------------------------------------------------------------- pan{c110165}% ./summer_b.rb [~/Ruby] 私の夏の思い出について語って行きたいと思います。 何歳の時の思い出について聞きたいですか?(3、10、14、18から選択して下さい。) 10 それでは、私が10歳の時の思い出について語りたいと思います。 ----------------------------------------------------------------------- 小学3年生の夏休み、夏休みの宿題のポスター制作を残して全て夏休み1日目で終わ らせた私。 暇だったので、家の中を歩き回っていたら、当時中学3年生の兄が仏間でポスターを制作していました。 この時、私は兄が描いていたポスターを見て驚きます。なぜ、私は驚いたでしょう。 1.兄の絵があまりにもひどかったから 2.去年と同じ構図でポスターを描いていたから 2 正解です。「去年より上手くなってる」って独り言をいってました。 これで10歳の頃の夏の思い出は以上です。 ----------------------------------------------------------------------- pan{c110165}% ./summer_b.rb [~/Ruby] 私の夏の思い出について語って行きたいと思います。 何歳の時の思い出について聞きたいですか?(3、10、14、18から選択して下さい。) 14 それでは、私が14歳の時の思い出について語りたいと思います。 ----------------------------------------------------------------------- 中学2年生の夏休み、毎日部活で大変でした。 ある日、部活のミーティングの最中にハチが飛んできました。 この時顧問の先生がとった行動とは? 1.生徒を盾にして自分が逃げた 2.ハチをやっつけた 1 実は、2が正解なんです。手袋をはいた手でハチを潰していました。 これで14歳の頃の夏の思い出は以上です。 ----------------------------------------------------------------------- pan{c110165}% ./summer_b.rb [~/Ruby] 私の夏の思い出について語って行きたいと思います。 何歳の時の思い出について聞きたいですか?(3、10、14、18から選択して下さい。) 18 それでは、私が18歳の時の思い出について語りたいと思います。 ----------------------------------------------------------------------- 高校3年生の夏休み、ほぼ毎日補習授業で大変でした。 これで18歳の頃の夏の思い出は以上です。 ----------------------------------------------------------------------- iv)感想 今回はプログラミングIIの第1回目の講義で復習したprintfやgets、また、 if-endといった制御構造を用い、前期の復習も兼ねてプログラムを作成した。 if-endを使うことで年齢によって語られる内容を分けることができ、設問の内容 に沿ったプログラムを作ることが可能となった。 このプログラムでは、if文の中に更にif文が入っているためendをそれらに対し、 1つずつ書かなければならなかったのだが、endを書き忘れなどによりプログラム が動かなかったことがあった。 このプログラムの作成にあたり、基本的なprintfメソッドや値の型を変換する to_i などの使い方を復習し、前期に学んだことを振り返った。復習をするにあ たり、http://roy/~naoya/ruby/index.html 神田直弥、基礎プログラミングI情 報検索、を参考にした。 v) 参考文献 Web サイト:http://roy/~naoya/ruby/5.html 、 神田直弥、基礎プログラミングI 第5回 追伸:第1回の出席課題が送れていませんでした。