第1回 基礎プログラミング II レポート課題 氏名:木内雄 学籍番号:c1090561 語学クラス:中国語 コース(系):政策 1.筆記問題 A emacs> Ctrl-x-f 新しいファイルを出す。 Ctrl-x-i 以前作ったファイルを開く。 Ctrl-x.5 2 同じ画面をもう一つ出す。 Ctrl-x.5 0 複数出したemacs画面を消す。 Ctrl-n すぐ下の行に移動する。 Ctrl-e 行の一番後ろに移動する。 Ctrl-a 行の一番前に移動する。 Ctrl-f 行のすぐ右に移動する。 Ctrl-b 行のすぐ左に移動する。 Ctrl-k その行の以下が切り取られる。 cd ホームディレクトリーにもどる。 cd Ruby Rubyに入れる。 gimp& ロゴ作成ツールを起動する。 tgif& 画像作成ツールを起動する。 ooo3& OpenOfficeを起動する。 mv ファイル1 ディレクトリ ファイルのディレクトリをかえることが出来る。 firefox& firefoxを開く。 exit 全て終了させる。 2.プログラム問題 a. プログラム本体 print("\t〜夏の思い出〜\n\n\n") sleep 3 #時間差で表示する print("酒田といえば海!\n\n") sleep 2 print("とういことで今年は海人になりました!\n\n") sleep 2 print("まずはダイビング免許を取るためにダイビング教室へ\n\n") sleep 2 print("そこで学課5時間、プール5時間、海洋実習2回やりました。\n\n") sleep 2 print("学課はとても暇でした。\n\n") sleep 2 print("プール実習は初めての器材にわくわくで海猿気分でした。\n\n") sleep 2 print("しかし、実際やってみると器材はとても重く大変でした。\n\n") sleep 2 print("海洋実習は海が温かく潜りやすかったです。\n\n") sleep 2 print("今年はクラゲが多く最初は抵抗ありましたが、下からみるクラゲは幻想的で感動しました。\n\n") sleep 2 print("イカの大群が横を通ったときは驚きました。\n\n") sleep 2 print("疲れましたがとてもいい体験ができたと思います。\n\n") sleep 2 print("もう一つ海といえばサーフィンです!\n\n") sleep 2 print("昔から憧れだったサーフィンーに挑戦しました!\n\n") sleep 2 print("友達と一緒にはじめました。\n\n") sleep 3 print("しかし、どっちも素人なのでなかなか波に乗れませんでした。\n\n") sleep 3 print("たまに乗れたときは気持ちよかったです。\n\n") sleep 3 print("来年もダイビングとサーフィンをやりたいと思います。\n\n") sleep 2 print("\tFin\n") 実行結果 pan{c109056}% ./summer_a.rb [~/Ruby] 〜夏の思い出〜 酒田といえば海! とういことで今年は海人になりました! まずはダイビング免許を取るためにダイビング教室へ そこで学課5時間、プール5時間、海洋実習2回やりました。 学課はとても暇でした。 プール実習は初めての器材にわくわくで海猿気分でした。 しかし、実際やってみると器材はとても重く大変でした。 海洋実習は海が温かく潜りやすかったです。 今年はクラゲが多く最初は抵抗ありましたが、下からみるクラゲは幻想的で感動しました。 イカの大群が横を通ったときは驚きました。 疲れましたがとてもいい体験ができたと思います。 もう一つ海といえばサーフィンです! 昔から憧れだったサーフィンーに挑戦しました! 友達と一緒にはじめました。 しかし、どっちも素人なのでなかなか波に乗れませんでした。 たまに乗れたときは気持ちよかったです。 来年もダイビングとサーフィンをやりたいと思います。 Fin 考察 ちゃんと時間差で表示することができた。 c. プログラム本体 #!/usr/koeki/bin/ruby STDERR.print "検索パターン (10〜20歳までの年齢を入力して下さい) : \n" pattern = STDIN.gets.chomp request = Regexp.new(pattern, true, "e") open("summer_c.dat","r") do |nenrei| while summer_c = nenrei.gets if request =~ summer_c if /(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/ =~ summer_c printf("%s\n %s\n %s\n %s\n\n",$1,$2,$3,$4) end end end end データ本体 #歳 #思い出 10歳 2000年 小4 川で魚取ってた。 11歳 2001年 小5 親と湯ノ浜に旅行をした。 12歳 2002年 小6 学童水泳大会にでた。 13歳 2003年 中1 水泳で県大会にでた。 14歳 2004年 中2 水泳で東北大会にでた。 15歳 2005年 中3 腰を痛め全国大会にいけなかった。 16歳 2006年 高1 東北大会で岩手にいった。 17歳 2007年 高2 東北大会で青森にいった。 18歳 2008年 高3 全国大会で東京にいった。 19歳 2009年 大1 海でバーベキューをした。 20歳 2010年 大2 ダイビングとサーフィンをした。 実行結果pan{c109056}% ./summer_c.rb [~/Ruby] 検索パターン (10〜20歳までの年齢を入力して下さい) : 10歳 10歳 2000年 小4 川で魚取ってた。 pan{c109056}% ./summer_c.rb [~/Ruby] 検索パターン (10〜20歳までの年齢を入力して下さい) : 12歳 12歳 2002年 小6 学童水泳大会にでた。 pan{c109056}% ./summer_c.rb [~/Ruby] 検索パターン (10〜20歳までの年齢を入力して下さい) : 18歳 18歳 2008年 高3 全国大会で東京にいった。 pan{c109056}% ./summer_c.rb [~/Ruby] 検索パターン (10〜20歳までの年齢を入力して下さい) : 20歳 20歳 2010年 大2 ダイビングとサーフィンをした。 考察 全てデータどうりに出すことができた。しかし、歳をつけずにやると10、20歳の 思い出が出てきてしまった。そして10歳以下の数字を入れると全部出てきた。 感想 夏休みをはさんだので、いろいろと忘れてしまっていた。パスワードをを忘れ ていなくて安心した。しかし、今回のレポートをすることによって少し思い出 すことができた。プログラミングが始まって夏休みはもう終わったんだと痛感 した。後期も頑張りたいと思いますのでよろしくお願いします。 参考文献 第6回 正規表現と検索 http://roy/~madoka/2010/r1/06/ 第7回 正規表現と Ruby 言語でのプログラミング http://roy/~madoka/2010/r1/07/ 作者:西村まどか先生 共同学習者 遠藤裕貴