第 1 回 前期の復習 レポート課題 氏名: 下妻 匡哉 学籍番号: c1101164 語学クラス: 英語 (6) コース(系): 地域共創コース 1.筆記問題 A ・Ctrl+1(Ctrlキーを押しながら1を押す)でemacs、Ctrl+2でkterm、Ctrl+3で console、Ctrl+4でFirefoxが前に出る。連続で数字を押すと、各々のアプリケー ションを開いている数だけ前に出る。 ・emacsでファイルを開くときはCtrl+x Ctrl+fで、対象のディレクトリを入力。 保存はCtrl+x Ctrl+s。 ・printメソッドで、指定した""内の文章を表示する。printfメソッドでは、指 定した""内の文章と変数を表示する。改行は\nで行う。また、printfメソッドで の変数の入力を読み込むために、getsメソッドを使う。この際は文字列として読 み込むが、to_iで値を整数に、to_fで実数に、to_sで文字列にそれぞれ変換する。 ・繰り返しを表現する時は while-end を用いる。さらに、条件付きで永遠に繰 り返しを続ける時は while true-end を用いる。このメソッドは、break という、 ある条件に当てはまった場合に繰り返しから抜ける命令が実行されない限り、延々 と続く。 2.プログラム問題 Bを選択 while true - end とif - end を併用することによって、今回のプログラムが 作成できる、と考えた。 (1)考えた設定 現在自分は19歳なので、0〜19歳までの夏の思い出を振り返る、という設定にし た。0〜19までの数値を入力すると対象の年齢時の夏の思い出が表示されるプロ グラム summer_b.rb を作成した。 (2)作成したプログラム #!/usr/koeki/bin/ruby age =0 #年齢をageとし、初期値は0にする。 while true STDERR.print("私は現在19歳です。0〜19歳のうち、いつの夏の思い出を知り たいですか?数値を入力してください。exitで終了します。\n") #入力を促すメソッド STDERR をいれる。 age = gets.chomp! if age == "exit" #exitが入力されると終了する。 break end if age.to_i >= 20 #20以上の数値が入力されたら、再入力を促す。 print("私はまだ19歳です。未来はこれからやってきます。\n") print("もし飽きた時は exit と入力して下さい。\n") print("\n") sleep 2 #表示されるまでの時間間隔(この場合2杪空ける)。 redo #以降、それぞれの数値により表示される。 elsif age.to_i == 0 || age.to_i == 1 || age.to_i == 2 print("よく泣いてよく寝た夏、だったらしい。\n") print("\n") sleep 2 elsif age.to_i == 3 || age.to_i == 4 || age.to_i == 5 print("保育園の友達とよく遊んだ。ビニールプールが大好きだった。\n") print("\n") sleep 2 elsif age.to_i == 6 || age.to_i == 7 || age.to_i == 8 print("小学校低学年。\n") print("よく母方の実家に長期滞在し、従兄妹と遊んだ。\n") print("帰りたくなくて泣いていたのを覚えている。(笑)\n") print("\n") sleep 2 elsif age.to_i == 9 || age.to_i == 10 || age.to_i == 11 print("小学校高学年。\n") print("野球のスポ少が忙しかった。\n") print("自由研究や自由工作のネタを考えるのが大変だった。\n") print("\n") sleep 2 elsif age.to_i == 12 || age.to_i == 13 || age.to_i == 14 print("中学校時代。\n") print("部活動で野球に明け暮れた夏休み。\n") print("しかし中学3年の夏は引退していたから遊べた。(笑)\n") print("\n") sleep 2 elsif age.to_i == 15 || age.to_i == 16 || age.to_i == 17 print("高校時代。\n") print("部活動でボート漬け?の毎日。\n") print("最後(高校3年)の夏にはインターハイに出場できて、琵琶湖で漕いだ。\n") print("宿題も多すぎて泣きそうだった。\n") print("\n") sleep 2 elsif age.to_i == 18 print("大学1年目の夏。\n") print("大学で知り合った友達といろいろとよく遊んだ。\n") print("自動車免許の取得にも挑戦し、見事に一発合格!!\n") print("\n") sleep 2 elsif age.to_i == 19 print("大学2年目の夏。\n") print("ほぼ毎日和太鼓の練習をし、後輩の育成にもあたる。\n") print("和太鼓部のメンバーであちこちに観光や映画を観に行った。\n") print("\n") sleep 2 end end print("さようなら\n") (3)プログラム実行結果 pan{c110116}% ./summer_b.rb [~/Ruby] 私は現在19歳です。0〜19歳のうち、いつの夏の思い出を知りたいですか?数値を入力してください。exitで終了します。 0 よく泣いてよく寝た夏、だったらしい。 私は現在19歳です。0〜19歳のうち、いつの夏の思い出を知りたいですか?数値を入力してください。exitで終了します。 1 よく泣いてよく寝た夏、だったらしい。 私は現在19歳です。0〜19歳のうち、いつの夏の思い出を知りたいですか?数値を入力してください。exitで終了します。 2 よく泣いてよく寝た夏、だったらしい。 私は現在19歳です。0〜19歳のうち、いつの夏の思い出を知りたいですか?数値を入力してください。exitで終了します。 3 保育園の友達とよく遊んだ。ビニールプールが大好きだった。 私は現在19歳です。0〜19歳のうち、いつの夏の思い出を知りたいですか?数値を入力してください。exitで終了します。 4 保育園の友達とよく遊んだ。ビニールプールが大好きだった。 私は現在19歳です。0〜19歳のうち、いつの夏の思い出を知りたいですか?数値を入力してください。exitで終了します。 5 保育園の友達とよく遊んだ。ビニールプールが大好きだった。 私は現在19歳です。0〜19歳のうち、いつの夏の思い出を知りたいですか?数値を入力してください。exitで終了します。 6 小学校低学年。 よく母方の実家に長期滞在し、従兄妹と遊んだ。 帰りたくなくて泣いていたのを覚えている。(笑) 私は現在19歳です。0〜19歳のうち、いつの夏の思い出を知りたいですか?数値を入力してください。exitで終了します。 7 小学校低学年。 よく母方の実家に長期滞在し、従兄妹と遊んだ。 帰りたくなくて泣いていたのを覚えている。(笑) 私は現在19歳です。0〜19歳のうち、いつの夏の思い出を知りたいですか?数値を入力してください。exitで終了します。 8 小学校低学年。 よく母方の実家に長期滞在し、従兄妹と遊んだ。 帰りたくなくて泣いていたのを覚えている。(笑) 私は現在19歳です。0〜19歳のうち、いつの夏の思い出を知りたいですか?数値を入力してください。exitで終了します。 9 小学校高学年。 野球のスポ少が忙しかった。 自由研究や自由工作のネタを考えるのが大変だった。 私は現在19歳です。0〜19歳のうち、いつの夏の思い出を知りたいですか?数値を入力してください。exitで終了します。 10 小学校高学年。 野球のスポ少が忙しかった。 自由研究や自由工作のネタを考えるのが大変だった。 私は現在19歳です。0〜19歳のうち、いつの夏の思い出を知りたいですか?数値を入力してください。exitで終了します。 11 小学校高学年。 野球のスポ少が忙しかった。 自由研究や自由工作のネタを考えるのが大変だった。 私は現在19歳です。0〜19歳のうち、いつの夏の思い出を知りたいですか?数値を入力してください。exitで終了します。 12 中学校時代。 部活動で野球に明け暮れた夏休み。 しかし中学3年の夏は引退していたから遊べた。(笑) 私は現在19歳です。0〜19歳のうち、いつの夏の思い出を知りたいですか?数値を入力してください。exitで終了します。 13 中学校時代。 部活動で野球に明け暮れた夏休み。 しかし中学3年の夏は引退していたから遊べた。(笑) 私は現在19歳です。0〜19歳のうち、いつの夏の思い出を知りたいですか?数値を入力してください。exitで終了します。 14 中学校時代。 部活動で野球に明け暮れた夏休み。 しかし中学3年の夏は引退していたから遊べた。(笑) 私は現在19歳です。0〜19歳のうち、いつの夏の思い出を知りたいですか?数値を入力してください。exitで終了します。 15 高校時代。 部活動でボート漬け?の毎日。 最後(高校3年)の夏にはインターハイに出場できて、琵琶湖で漕いだ。 宿題も多すぎて泣きそうだった。 私は現在19歳です。0〜19歳のうち、いつの夏の思い出を知りたいですか?数値を入力してください。exitで終了します。 16 高校時代。 部活動でボート漬け?の毎日。 最後(高校3年)の夏にはインターハイに出場できて、琵琶湖で漕いだ。 宿題も多すぎて泣きそうだった。 私は現在19歳です。0〜19歳のうち、いつの夏の思い出を知りたいですか?数値を入力してください。exitで終了します。 17 高校時代。 部活動でボート漬け?の毎日。 最後(高校3年)の夏にはインターハイに出場できて、琵琶湖で漕いだ。 宿題も多すぎて泣きそうだった。 私は現在19歳です。0〜19歳のうち、いつの夏の思い出を知りたいですか?数値を入力してください。exitで終了します。 18 大学1年目の夏。 大学で知り合った友達といろいろとよく遊んだ。 自動車免許の取得にも挑戦し、見事に一発合格!! 私は現在19歳です。0〜19歳のうち、いつの夏の思い出を知りたいですか?数値を入力してください。exitで終了します。 19 大学2年目の夏。 ほぼ毎日和太鼓の練習をし、後輩の育成にもあたる。 和太鼓部のメンバーであちこちに観光や映画を観に行った。 私は現在19歳です。0〜19歳のうち、いつの夏の思い出を知りたいですか?数値を入力してください。exitで終了します。 20 私はまだ19歳です。未来はこれからやってきます。 もし飽きた時は exit と入力して下さい。 私は現在19歳です。0〜19歳のうち、いつの夏の思い出を知りたいですか?数値を入力してください。exitで終了します。 exit さようなら 3.感想 今回は、全体的に前期の基礎プログラミングIでやった事を参考にして作成した。 最初から、while true--end や if--end を用いることはわかっていたが、gets メソッドや細かい部分も多くを忘れていたので、苦労した。復習は大事である事 を改めて感じた。 しかし、最後はプログラムが正常に作動したので、嬉しかったのと同時に、安 堵した。 4.参考文献 http://roy/~naoya/ruby/index.html 神田直弥 基礎プログラミングI http://roy/~madoka/2011/rpt/multipart.html 西村まどか 基礎プログラミングII 第 1 回 2011年度講義ノート 協力してくれた友人:菅原 彩花 さん -------------------------- 東北公益文科大学 公益学部 2年 下妻 匡哉 C110116@f.koeki-u.ac.jp --------------------------