第 1 回 前期の復習 レポート課題 氏名:伊藤 桜子 学籍番号:c1100265 語学クラス:英語6 コース(系):政策マネジメント 1、筆記問題 A ●画面について ctrl + 1 →emacsを表示 ctrl + 2 →ktermを表示 ctrl + 3 →consoleを表示 ctrl + 5 + 2 →同じページを増やす ●メール w →メール書く i →受信メールを見る shift + e →メール書き直す ctrl + c ctrl + a →添付ファイル ctrl + c ctrl + c →送信 ctrl + x ctrl + i →署名 ●実行方法(kterm) firefox& →ファイヤーフォックスの起動 ls →ファイルの一覧表示 cd →ディレクトリの移動 bc - l →計算の確認ができる ls - l →アクセス権があるかを確認する ●値の型変換 to_i →値の型を整数に変換 to_f →値の型を実数に変換 to_s →値の型を文字列に変換 %s →文字列 %f →小数 %d →整数 %- →左詰め表記 ●openメソッド STDERR.print →ディスプレイへの表示 変数.gets →ファイルからの読みこみ ●メタ文字 \s →空白文字を表す \S →空白以外を表す \d →0から9までの数字とマッチする \D →0から9までの数字以外とマッチする 2、プログラム問題 A ●プログラム #!/usr/koeki/bin/ruby print("夏休みの思い出\n") sleep 1 print("8月13日…お墓参りに行きました。\n") sleep 1 print("8月16日…地元の友達と遊びました。\n") sleep 1 print("8月23日…友達と海に花火をしに行きました。\n") sleep 1 print("9月2日…夏休み中の公務員講座終わりました。\n") sleep 1 print("9月5日…友達と食べ放題に行きました。\n") sleep 1 print("9月9日…アルバイトが大忙しで大変でした。\n") sleep 1 print("9月14日…成人式の前撮りに行きました。\n") sleep 1 print("9月18日…ペットと遊びました。\n") sleep 1 print("9月22日…部活で汗を流しました。\n") sleep 1 print("9月25日…アルバイトでお客様に褒められました。\n") sleep 1 print("9月26日…友達と爆笑した\n") ●実行結果 夏休みの思い出 8月13日…お墓参りに行きました。 8月16日…地元の友達と遊びました。 8月23日…友達と海に花火をしに行きました。 9月2日…夏休み中の公務員講座終わりました。 9月5日…友達と食べ放題に行きました。 9月9日…アルバイトが大忙しで大変でした。 9月14日…成人式の前撮りに行きました。 9月18日…ペットと遊びました。 9月22日…部活で汗を流しました。 9月25日…アルバイトでお客様に褒められました。 9月26日…友達と爆笑した ●考察 いきなり全てが表示されるのがおかしいと思ったので sleepを使って1秒毎に表示されるようにした。 B ●プログラム #!/usr/koeki/bin/ruby while true print("夏の思い出を語ります。\n") sleep 1 print("何歳の思い出を聞きたいですか?0〜19までの数字を入力して下さい。終わりたいときは100を入力してください。\n") nenrei = gets.to_i if nenrei == 0 print("正直、覚えてません。すみません。\n") elsif nenrei == 1 print("歩けるようになりました。\n") elsif nenrei == 2 print("たくさん笑いました。\n") elsif nenrei == 3 print("姉と走りまわりました。\n") elsif nenrei == 4 print("友達とたくさん遊びました。\n") elsif nenrei == 5 print(" おままごとにハマりました。\n") elsif nenrei == 6 print("家族旅行に行きました。\n") elsif nenrei == 7 print("自転車に乗れるようになりました。\n") elsif nenrei == 8 print("海でスイカ割りしました。\n") elsif nenrei == 9 print("アイスクリームたくさん食べました。\n") elsif nenrei == 10 print("カブトムシを捕まえました。\n") elsif nenrei == 11 print("家族で花火大会に行きました。\n") elsif nenrei == 12 print("かきごおり食べすぎました。\n") elsif nenrei == 13 print("夏休みの宿題早く終わらせました。\n") elsif nenrei == 14 print("友達と夏祭りに行きました。\n") elsif nenrei == 15 print("バーベキューをしました。\n") elsif nenrei == 16 print("部活の合宿に行きました。\n") elsif nenrei == 17 print("受験勉強頑張りました。\n") elsif nenrei == 18 print("海できれいな夕日を見ました。\n") elsif nenrei == 19 print("食べ放題を食べに行きました。\n") elsif nenrei == 100 break end end ●実行結果 夏の思い出を語ります。 何歳の思い出を聞きたいですか?0〜19までの数字を入力して下さい。終わりたいときは100を入力してください。 4 友達とたくさん遊びました。 夏の思い出を語ります。 何歳の思い出を聞きたいですか?0〜19までの数字を入力して下さい。終わりたいときは100を入力してください。 6 家族旅行に行きました。 夏の思い出を語ります。 何歳の思い出を聞きたいですか?0〜19までの数字を入力して下さい。終わりたいときは100を入力してください。 9 アイスクリームたくさん食べました。 夏の思い出を語ります。 何歳の思い出を聞きたいですか?0〜19までの数字を入力して下さい。終わりたいときは100を入力してください。 14 友達と夏祭りに行きました。 夏の思い出を語ります。 何歳の思い出を聞きたいですか?0〜19までの数字を入力して下さい。終わりたいときは100を入力してください。 18 海できれいな夕日を見ました。 夏の思い出を語ります。 何歳の思い出を聞きたいですか?0〜19までの数字を入力して下さい。終わりたいときは100を入力してください。 19 食べ放題を食べに行きました。 夏の思い出を語ります。 何歳の思い出を聞きたいですか?0〜19までの数字を入力して下さい。終わりたいときは100を入力してください。 100 ●考察 年齢である0から19までの数字を入力してもらい、その数字のときに 出すセリフを19個考えた。繰り返し出来るようにしたので終わりたいときは 100を入力すると終われるようにした。実行してみると100を入力すると 終われるようになっていたのでこのプログラムが正しく実行できていることが わかった。 C ●プログラム #!/usr/koeki/bin/ruby omo = [] i = 0 open("summer_c.dat","r") do |omoide| while line = omoide.gets if/\s+(\S+)\s+/ =~line omo[i] = $1 i += 1 end end end while true print("夏の思い出を語ります。\n") sleep 1 print("何歳の思い出を聞きたいですか?0〜19までの数字を入力して下さい。終わりたいときは100を入力して下さい\n") nenrei = gets.to_i if nenrei == 100 break end printf("%s\n",omo[nenrei]) end ●データ 0 正直、覚えてません。すみません。 1 歩けるようになりました。 2 たくさん笑いました。 3 姉と走りまわりました。 4 友達とたくさん遊びました。 5 おままごとにハマりました。 6 家族旅行に行きました。 7 自転車に乗れるようになりました。 8 海でスイカ割りしました。 9 アイスクリームをたくさん食べました。 10 カブトムシを捕まえました。 11 家族で花火大会に行きました。 12 かきごおり食べすぎました。 13 夏休みの宿題早く終わらせました。 14 友達と夏祭りに行きました。 15 バーベキューをしました。 16 部活の合宿に行きました。 17 受験勉強を頑張りました。 18 海できれいな夕日を見ました。 19 食べ放題を食べに行きました。 ●実行結果 夏の思い出を語ります。 何歳の思い出を聞きたいですか?0〜19までの数字を入力して下さい。終わりたいときは100を入力して下さい 2 たくさん笑いました。 夏の思い出を語ります。 何歳の思い出を聞きたいですか?0〜19までの数字を入力して下さい。終わりたいときは100を入力して下さい 7 自転車に乗れるようになりました。 夏の思い出を語ります。 何歳の思い出を聞きたいですか?0〜19までの数字を入力して下さい。終わりたいときは100を入力して下さい 11 家族で花火大会に行きました。 夏の思い出を語ります。 何歳の思い出を聞きたいですか?0〜19までの数字を入力して下さい。終わりたいときは100を入力して下さい 19 食べ放題を食べに行きました。 夏の思い出を語ります。 何歳の思い出を聞きたいですか?0〜19までの数字を入力して下さい。終わりたいときは100を入力して下さい 100 ●考察 openメソッドを使ってデータファイルを読み込めるようにした。 正規表現を使って、入力された年齢に合う文章を表示できるようにした。 メタ文字の組み合わせ方は数個試したが、最もシンプルな形にした。 終わるときはB問題と同様に100を入力すると終われるようにした。 実行してみると正常に実行できることがわかった。 3、感想 openメソッドとメタ文字の部分で忘れているところが多かったが、 前期で学習した神田先生の授業ページを参考にした。一緒に作業していた 友人とは忘れていたメソッドの意味の確認などをした。 openメソッドについては前期の自由制作課題でも使ったのでしっかり復習 した。 今回の課題に取り組んでみて、忘れているところが多いことに気付いたので 復習をしっかりしていきたい。これからの授業でも復習をしっかりしていきたい。 4、参考文献など 参考文献 神田先生の前期の授業ページ http://roy/~naoya/ruby/index.html 協同学習者 畠山貴衣 東北公益文科大学 公益学部 公益学科 2年 伊藤桜子 c110026@f.koeki-u.ac.jp