第1回 基礎プログラミング II レポート課題 氏名:遠藤達也 学籍番号:c1090271 語学クラス:中国語 コース(系):政策マネージメント 1、筆記問題 Emacsの使い方。 ファイルを開く(新しく作る)。 Ctrl-x Ctrl-f ファイルを保存する。 Ctrl-x Ctrl-s メールの作成および添付、送信の方法。 mewを立ち上げる。 EmacsからEsc-x (M-x) mew iPopパスワードを打ち込む。 メールの新規作成。 w mew に添付すると教える Ctrl-c Ctrl-a 添付するファイルを教える c 指定したら 2 回リターンキーを押す。 2、プログラム問題 a、考えた設定 (選択B) 7歳から今年(22歳)までの夏の思い出を検索できるプログラム。 b、作成したプログラムとデータ 作成したプログラム #!/usr/koeki/bin/ruby $KCODE = 'e' #日本語 toshi = Array.new #年齢の変数 memory = Array.new #夏の思い出の変数 STDERR.print("私の夏の思い出を発表します。\n") STDERR.print("何歳の夏の思い出を聞きたいですか? : ") nenrei = gets.chomp.to_i if 7 <= nenrei && nenrei <= 22 i = 0 open("summer_c.dat","r") do |omoide| while summer = omoide.gets if /(\d+)\s+(\S+)/ =~ summer toshi[i] = $1.to_i memory[i] = $2 end i += 1 end end printf("%d 歳の夏は %s\n", toshi[nenrei-1], memory[nenrei-1]) else print("やり直して下さい!\n") end データ #年齢 #思い出 7 小学1年生で、トマトやきゅうりの栽培授業に参加しました。 8 父親の影響と、体力作りのために野球を始めました。 9 小学校のプールに毎日通っていました。 10 遊戯王カードという遊びにはまっていました。 11 スポーツ少年団のジャンボ大会というとても大きな大会に出場しました。 12 ドッジボールの最中に右手の人差し指を骨折しました。 13 部活が終わると毎日友達の家で「ロッキー」を見ながらコーラを飲んでいました。 14 人生初の坊主でしたが、夏場で快適なのではまってしまいました。 15 中総体県大会のベスト4になり、通っていた中学校の歴代の記録を更新しました。 16 男子校に入学したことを駅のホームで毎日悔やんでいました。 17 時代遅れの短ランにボンタンという格好で勘違いしていました。 18 夏の高校野球地方大会(最後の試合)でまさかの監督の逆鱗に触れてしまいました。 19 久しぶりの共学の夏休みに自分の力のなさを痛感しました。 20 大学軟式野球大会で東日本1位になりました。そして大学を辞めました。 21 実家に帰る度に酒田と地元のギャップにホームシックを覚えました。 22 赤川の花火大会に行ってきました。 c、実行結果 pan{c109027}% ./summer_b.rb [~/Ruby] 私の夏の思い出を発表します。 何歳の夏の思い出を聞きたいですか? : 7 7 歳の夏は 小学1年生で、トマトやきゅうりの栽培授業に参加しました。 pan{c109027}% ./summer_b.rb [~/Ruby] 私の夏の思い出を発表します。 何歳の夏の思い出を聞きたいですか? : 8 8 歳の夏は 父親の影響と、体力作りのために野球を始めました。 pan{c109027}% ./summer_b.rb [~/Ruby] 私の夏の思い出を発表します。 何歳の夏の思い出を聞きたいですか? : 9 9 歳の夏は 小学校のプールに毎日通っていました。 pan{c109027}% ./summer_b.rb [~/Ruby] 私の夏の思い出を発表します。 何歳の夏の思い出を聞きたいですか? : 10 10 歳の夏は 遊戯王カードという遊びにはまっていました。 pan{c109027}% ./summer_b.rb 私の夏の思い出を発表します。 何歳の夏の思い出を聞きたいですか? : 11 11 歳の夏は スポーツ少年団のジャンボ大会というとても大きな大会に出場しました。 pan{c109027}% ./summer_b.rb [~/Ruby] 私の夏の思い出を発表します。 何歳の夏の思い出を聞きたいですか? : 12 12 歳の夏は ドッジボールの最中に右手の人差し指を骨折しました。 pan{c109027}% ./summer_b.rb [~/Ruby] 私の夏の思い出を発表します。 何歳の夏の思い出を聞きたいですか? : 13 13 歳の夏は 部活が終わると毎日友達の家で「ロッキー」を見ながらコーラを飲んでいました。 pan{c109027}% ./summer_b.rb [~/Ruby] 私の夏の思い出を発表します。 何歳の夏の思い出を聞きたいですか? : 14 14 歳の夏は 人生初の坊主でしたが、夏場で快適なのではまってしまいました。 pan{c109027}% ./summer_b.rb [~/Ruby] 私の夏の思い出を発表します。 何歳の夏の思い出を聞きたいですか? : 15 15 歳の夏は 中総体県大会のベスト4になり、通っていた中学校の歴代の記録を更新しました。 pan{c109027}% ./summer_b.rb [~/Ruby] 私の夏の思い出を発表します。 何歳の夏の思い出を聞きたいですか? : 16 16 歳の夏は 男子校に入学したことを駅のホームで毎日悔やんでいました。 pan{c109027}% ./summer_b.rb 17 [~/Ruby] 私の夏の思い出を発表します。 何歳の夏の思い出を聞きたいですか? : ./summer_b.rb:10:in `gets': No such file or directory - 17 (Errno::ENOENT) from ./summer_b.rb:10 pan{c109027}% ./summer_b.rb [~/Ruby] 私の夏の思い出を発表します。 何歳の夏の思い出を聞きたいですか? : 17 17 歳の夏は 時代遅れの短ランにボンタンという格好で勘違いしていました。 pan{c109027}% ./summer_b.rb [~/Ruby] 私の夏の思い出を発表します。 何歳の夏の思い出を聞きたいですか? : 18 18 歳の夏は 夏の高校野球地方大会(最後の試合)でまさかの監督の逆鱗に触れてしまいました。 pan{c109027}% ./summer_b.rb [~/Ruby] 私の夏の思い出を発表します。 何歳の夏の思い出を聞きたいですか? : 19 19 歳の夏は 久しぶりの共学の夏休みに自分の力のなさを痛感しました。 pan{c109027}% ./summer_b.rb [~/Ruby] 私の夏の思い出を発表します。 何歳の夏の思い出を聞きたいですか? : 20 20 歳の夏は 大学軟式野球大会で東日本1位になりました。そして大学を辞めました。 pan{c109027}% ./summer_b.rb [~/Ruby] 私の夏の思い出を発表します。 何歳の夏の思い出を聞きたいですか? : 21 21 歳の夏は 実家に帰る度に酒田と地元のギャップにホームシックを覚えました。 pan{c109027}% ./summer_b.rb [~/Ruby] 私の夏の思い出を発表します。 何歳の夏の思い出を聞きたいですか? : 22 22 歳の夏は 赤川の花火大会に行ってきました。 pan{c109027}% ./summer_b.rb [~/Ruby] 私の夏の思い出を発表します。 何歳の夏の思い出を聞きたいですか? : 23 やり直して下さい! d、考察 7歳から22歳まで、検索した年齢とdatに打ち込んだ思い出がきちんと合っている のでプログラムは正しいと思う。 また検索範囲外の23歳で検索すると、やり直して下さい!がでたのでプログラム は正しい。 3、感想 今回は共同学習者が誰もいなかったため、過去の講評を見ながらのレポート作成 でした。 2009年の講評その4をベースに作成したのですが、実行をすると7歳のときに10歳 の思い出が出てきて苦労しました。 プログラムそのものを直すのは自分ひとりではできないと思い、データの方をい じっていたら正しく表示されるようになったのでよかったです。(ちなみに、デー タの7歳の上にスペースを複数入れたことによって正しく表示されるようになり ました。) プログラムは講評その4のものを見ながら、たとえば if ? <= nenrei && nenrei <= ! だったら、年齢が?から!までを意味しているんだなと自分なりに解釈しながら作 業しました。 4、参考文献 2009年後期1回目レポート講評その4 http://roy/~madoka/2009/r2/01/rpt/c108040.txt 1. 応募書類を作ってみよう http://roy/~madoka/2010/r2/01/01_01_theme_01_application.html 2. 添付メールの送信 http://roy/~madoka/2010/r2/01/01_02_theme_02_attach.html 3. メールの書き方 http://roy/~madoka/2010/r2/01/01_03_theme_03_content.html 4. 添付ドラフト http://roy/~madoka/2010/r2/01/01_04_theme_04_draft.html 5. メールの受信 http://roy/~madoka/2010/r2/01/01_05_theme_05_receive.html 6. Ruby 言語のプログラミングでの約束事 http://roy/~madoka/2010/r2/01/01_06_theme_06_programming.html