第 1 回 前期の復習 レポート課題 氏名:宮原絵美里 学籍番号:c1101885 語学クラス:英語6 コース(系):地域共創 1.A ●プログラミングの基礎 * メソッドと変数 ・printメソッド:""内のメッセージを表示 ・printfメソッド:%の位置に""の後ろで指定したものを入れ込んで表示 * \nの働き ・改行 * getsメソッドによるキーボード入力の取得 ・getsメソッド:キーボードからの入力を読み込む ●値の型変換 * 算術演算子 + 加算 - 減算 * 乗算 / 除算 % 剰余 ** べき乗 * 型変換メソッド(to_i・to_f・to_s) ・to_i:値の型を整数に変換 ・to_f:値の型を実数に変換 ・to_s:値の型を文字列に変換 ●制御構造[1] * 繰り返し(while-end) while 繰り返しを継続する条件 繰り返し行う処理 end * 代入演算子 = 通常代入 += 加算代入 -= 減算代入 *= 乗算代入 /= 除算代入 %= 剰余代入 **= べき乗代入 * 論理演算子 == 左辺と右辺が等しい < 左辺が右辺よりも小さい <= 左辺が右辺以下 > 左辺が右辺よりも大きい >= 左辺が右辺以上 && かつ(論理積) || または(論理和) ! 否定 not 否定 ●制御構造[2] * 条件判断(if-end) if 条件A    条件Aを満たせば 処理A     処理Aを実施する else       条件Aを満たさない場合は 処理B     処理Bを実施する end * while true・break・redo・next while true:繰り返し break:繰り返しの実行を中止し、繰り返しから抜ける redo:その回の繰り返しの先頭からやりなおす next:次の繰り返しに突入する ●配列 * 配列 ・複数の値を保持することができる変数 ●正規表現 * 正規表現 /正規表現/ =~ 文字列 ・ =~は正規表現にマッチする ・ !~は正規表現にマッチしない * 正規表現の後方参照 ・\S:空白以外にマッチ ・\s:空白にマッチ ・\d:数字にマッチ ・+:1回以上の繰り返しにマッチ ●ファイルの入出力 * openメソッド 1. r:読み込み専用 2. r+:読み込み/書き込み用 3. w:書き込み専用 指定したファイルを新規作成 4. w+:読み込み/書き込み用で、その他はwと同じ 5. a:追加書き込み専用 6. a+:読み込み/追加書き込み専用で、その他はaと同じ 2.B 【プログラム】 #!/usr/koeki/bin/ruby sleep(2) print"\n何歳の頃の思い出を見ますか? → " age = gets.to_i if age == 19 sleep(3) print"\n〜2011 夏〜\n\n" sleep(3) print"成人式がありました。\n" sleep(2) print"みんなあまり変わってなかったです。\n" sleep(2) print"結構あっさり終わってしまいましたが\n" sleep(2) print"中学時代に戻ったみたいで\n" sleep(2) print"とても懐かしく 楽しかったです!\n\n" sleep(2) elsif age == 18 sleep(3) print"\n〜2010 夏〜\n\n" sleep(3) print"東京に旅に出ました。\n" sleep(2) print"11日間滞在しました。\n" sleep(2) print"東京に住んでるたくさんの友だちに会ったり\n" sleep(2) print"いとこのお姉さんの結婚式に行ったり\n" sleep(2) print"とても充実した11日間でした!\n\n" sleep(2) elsif age == 17 sleep(3) print"\n〜2009 夏〜\n\n" sleep(3) print"放送のコンクールで東京に行きました。\n" sleep(2) print"3泊4日 場所はNHKホールです。\n" sleep(2) print"結果はまあまあでした。\n" sleep(2) print"全国はレベルが高いです。\n" sleep(2) print"とても勉強になりました!\n\n" sleep(2) elsif age == 16 sleep(3) print"\n〜2008 夏〜\n\n" sleep(3) print"放送のコンクールで東京に行きました。\n" sleep(2) print"3泊4日 場所はNHKホールです。\n" sleep(2) print"今回は先輩の付添いで行きました。\n" sleep(2) print"全国はレベルが高いです。\n" sleep(2) print"とても勉強になりました!\n\n" sleep(2) elsif age == 15 sleep(3) print"\n〜2007 夏〜\n\n" sleep(3) print"高校になって初めての夏休みでした。\n" sleep(2) print"課題が多くて終わりません。\n" sleep(2) print"中学のクラスで集まったりしました。\n" sleep(2) print"BBQや花火をしたり\n" sleep(2) print"とても楽しかったです!\n\n" sleep(2) elsif age == 14 sleep(3) print"\n〜2006 夏〜\n\n" sleep(3) print"中学最後の夏休みでした。\n" sleep(2) print"クラスのみんなでBBQや花火や\n" sleep(2) print"肝試しもしました。\n" sleep(2) print"2組最高!\n\n" sleep(2) elsif age == 13 sleep(3) print"\n〜2005 夏〜\n\n" sleep(3) print"部活に勤しんだ夏でした。\n" sleep(2) print"私は吹奏楽部で打楽器を担当しています。\n" sleep(2) print"スネアドラムを溺愛してます。\n" sleep(2) print"やっぱり合奏は楽しいです。\n" sleep(2) print"音楽は素晴らしい!\n\n" sleep(2) elsif age == 12 sleep(3) print"\n〜2004 夏〜\n\n" sleep(3) print"水泳の全県総体に出ました。\n" sleep(2) print"入賞したような気もするけど\n" sleep(2) print"何位だったか覚えてません。\n" sleep(2) print"これがあたしの最後の水泳の大会でした多分。\n" sleep(2) print"水泳をやめたことを少し後悔しています。\n\n" sleep(2) elsif age == 11 sleep(3) print"\n〜2003 夏〜\n\n" sleep(3) print"小学校最後の夏休みでした。\n" sleep(2) print"水泳ばっかしてました多分。\n\n" sleep(2) elsif age == 10 sleep(3) print"\n〜2002 夏〜\n\n" sleep(3) print"小学5年生の夏休みでした。\n" sleep(2) print"水泳ばっかしてました多分。\n\n" sleep(2) elsif age == 9 sleep(3) print"\n〜2001 夏〜\n\n" sleep(3) print"小学4年生の夏休みでした。\n" sleep(2) print"水泳ばっかしてました多分。\n\n" sleep(2) elsif age == 8 sleep(3) print"\n〜2000 夏〜\n\n" sleep(3) print"小学3年生の夏休みでした。\n" sleep(2) print"ピアノばっかしてました多分。\n\n" sleep(2) elsif age == 7 sleep(3) print"\n〜1999 夏〜\n\n" sleep(3) print"小学2年生の夏休みでした。\n" sleep(2) print"遊んでばっかいました多分。\n\n" sleep(2) elsif age == 6 sleep(3) print"\n〜1998 夏〜\n\n" sleep(3) print"小学1年生の夏休みでした。\n" sleep(2) print"遊んでばっかいました多分。\n\n" sleep(2) elsif age == 5 sleep(3) print"\n〜1997 夏〜\n\n" sleep(3) print"年長さんの夏休みでした。\n" sleep(2) print"遊んでばっかいました多分。\n\n" sleep(2) elsif age == 4 sleep(3) print"\n〜1996 夏〜\n\n" sleep(3) print"年中さんの夏休みでした。\n" sleep(2) print"遊んでばっかいました多分。\n\n" sleep(2) elsif age == 3 sleep(3) print"\n〜1995 夏〜\n\n" sleep(3) print"年少さんの夏休みでした。\n" sleep(2) print"遊んでばっかいました多分。\n\n" sleep(2) elsif age == 2 sleep(3) print"\n〜1994 夏〜\n\n" sleep(3) print"寝てばっかいました多分。\n\n" sleep(2) elsif age == 1 sleep(3) print"\n〜1993 夏〜\n\n" sleep(3) print"寝てばっかいました多分。\n\n" sleep(2) elsif age == 0 sleep(3) print"\n〜1992 夏〜\n\n" sleep(3) print"生まれて初めての夏でした。\n\n" sleep(2) else sleep(3) print"0〜19を入力して下さい。\n\n" end 【実行結果】 pan{c110188}% ./summer_b.rb [~/Ruby] 何歳の頃の思い出を見ますか? → 0 〜1992 夏〜 生まれて初めての夏でした。 pan{MIYAHARA Emiri}% ./summer_b.rb [~/Ruby] 何歳の頃の思い出を見ますか? → 5 〜1997 夏〜 年長さんの夏休みでした。 遊んでばっかいました多分。 pan{c110188}% ./summer_b.rb [~/Ruby] 何歳の頃の思い出を見ますか? → 10 〜2002 夏〜 小学5年生の夏休みでした。 水泳ばっかしてました多分。 pan{c110188}% ./summer_b.rb [~/Ruby] 何歳の頃の思い出を見ますか? → 15 〜2007 夏〜 高校になって初めての夏休みでした。 課題が多くて終わりません。 中学のクラスで集まったりしました。 BBQや花火をしたり とても楽しかったです! pan{MIYAHARA Emiri}% ./summer_b.rb [~/Ruby] 何歳の頃の思い出を見ますか? → 19 〜2011 夏〜 成人式がありました。 みんなあまり変わってなかったです。 結構あっさり終わってしまいましたが 中学時代に戻ったみたいで とても懐かしく 楽しかったです! pan{c110188}% ./summer_b.rb [~/Ruby] 何歳の頃の思い出を見ますか? → 20 0〜19を入力して下さい。 3 今回は簡単なプログラムを作ったので スムーズにできた。忘れていたことや難 しいことは 筆記問題でしっかり復習できた。特に正規表現やファイルの出入力 についてよく復習した。 4 【参考文献】 著:神田直弥 基礎プログラミングI 第2回〜第8回 http://roy/~naoya/ruby/index.html 【協同学習者】 菊地瑞紀 見川英駿 ----------------- 東北公益文科大学 公益学部 公益学科 2年 宮原絵美里 c110188@f.koeki-u.ac.jp -----------------