講評: 工夫がなされていたのと、多くの場合について 実験してある部分が光りました。ただ日本語がおかしいところが あるので、もう一度確認してからレポートを送りましょう。 --- 10月3日第一回レポート 「前期の復習」 学籍番号: c106XXXX 氏名: XXXXXXXX 語学クラス:XXXX語XX 系: XXXX系 1 Emacsでの操作方法 ファイルを開く→ Ctrl-x Ctrl-f を入力し開きたいファイル名を入力すれば開ける。 ファイルを保存する→ Ctrl-x Ctrl-s を入力する。そうすると下にWrote 書かれ保存される。他にも※を確認の手もある。 Emacs を分裂させる→ Ctrl-x 5 2 を入力する。そうすると、Emacsの数が増えます。 Emacs の数を減らす→ Ctrl-x 5 0 を入力する。そうすると、増えたEmacsの数を 減らす事ができます。 mewでの操作方法 メールを送るためにメールソフト mew を立ち上げる→ Esc-x mew と入力する。 メールを書きはじめる → mewを立ち上げている状態で w と入力する。 メールを受信する→ mewを立ち上げている状態で i と入力しパスワードを入力 すれば受信する。 mewを立ち上げると同時にパスワードを入力すれば受信する。 プログラムを作成時の注意 #!/usr/koeki/bin/ruby → これを最初に持って来ないとプログラム自体が起動 しない。一行も隙間をあけては行けない kterm:上での操作 % bc -l → 確かめ算などプログラムの確認などにはもってこいなプログラム。 cd ◯◯ → ◯◯の場所に入る事ができる。 ls ◯◯ → ◯◯にあるプログラムなどを見ることができる。 chmod +x ◯◯ → ◯◯にあるプログラムを実行可能にする。 ./◯◯ → ◯◯にあるプログラムを起動する事ができる。 他に授業中に気づいたのは、ifであった。ifにはプログラム作りでは、大変御世 話になった存在なのでこれからも使って行きたい。 2 A 考えた設定 自分の夏休みを語るプログラムである。printやsleepを使い 淡々と語るプログラムを作ることができた。 作成したプログラムコードそのもの #!/usr/koeki/bin/ruby print("私の\n") sleep 2 print(`banner "Summer vacation!!!\n"`) sleep 2 print("について語るプログラムです。\n") sleep 2 print("聞いてってくださいね。\n") sleep 2 print("私の休みの一番の思い出は\n") sleep 2 print("車を買った事が一番の思い出です。\n") sleep 2 print("買ったのは良いんですが・・・・・・・・・\n") sleep 2 print("・・・・・・・・・・・・・・・・・・\n") sleep 2 print("悪友の存在によって\n") sleep 2 print("仙台に行かされるはめになりました。\n") sleep 2 print("仙台の世界観はまさに圧巻で\n") sleep 2 print("8車線など未知の領域が見ることができました。\n") sleep 2 print("思わず目を擦ってしまいました。\n") sleep 2 print("そして、車線変更など様々な困難の壁が立ち塞がり\n") sleep 2 print("私を苦しめました。\n") sleep 2 print("悪友は私の隣でげらげら笑っていたのを今でも覚えています。\n") sleep 2 print("もう二度と車で仙台に行きたくないと誓う・・・・・・・・・・・・・・・\n") sleep 2 print("私がそこに居ました。\n") sleep 2 print("そして最後に・・・・・・・・・・・・・・・・・・・・・\n") sleep 2 print("自分の車はMTで\n") sleep 2 print("大変疲れました。\n") sleep 2 print("これで私の夏休みの思いでを語るプログラムを\n") sleep 2 print(`banner "Finish!!!\n"`) sleep 2 print("したいと思います。\n") もとにしたプログラムからの変更点 前に作った面接のプログラムを参考に作りました。 面接のプログラムでは、語る構成を使っていたのでその部分を抜き出し 改良して作りました。 下のは面接プログラムの一部分です #!/usr/koeki/bin/ruby print("このゲームの最終目的は、主人公 ( 面接 受郎 :めんせつ うけろう) を\n") sleep 1 print("会社の面接に見事合格させることです!!\n") sleep 2 print("操作は簡単!\n") sleep 2 print("途中にでてくる選択肢に数字を入力して答えるだけ☆\n") sleep 2 print("はたして、さまざまな誘惑から主人公を救いだすことができるでしょうか??\n") sleep 2 print("主人公の運命はアナタ次第!!\n") sleep 1 print("アナタの手で、面接 受郎 を社会に旅立たせてあげて下さい!!\n") sleep 2 print(`banner "game start\n"`) プログラムを実行した結果画面 irsv{c106054}% ./summer_a.rb [~/Ruby] 私の ##### # # # # # # # # ###### ##### # # ## #### # # # ## ## ## ## # # # # # # # # # ##### # # # ## # # ## # ##### # # # # # # # # # # # # # # # ##### # # ###### # # # # # # # # # # # # # # # # # # ##### #### # # # # ###### # # ## # # #### について語るプログラムです。 聞いてってくださいね。 私の休みの一番の思い出は 車を買った事が一番の思い出です。 買ったのは良いんですが・・・・・・・・・ ・・・・・・・・・・・・・・・・・・ 悪友の存在によって 仙台に行かされるはめになりました。 仙台の世界観はまさに圧巻で 8車線など未知の領域が見ることができました。 思わず目を擦ってしまいました。 そして、車線変更など様々な困難の壁が立ち塞がり 私を苦しめました。 悪友は私の隣でげらげら笑っていたのを今でも覚えています。 もう二度と車で仙台に行きたくないと誓う・・・・・・・・・・・・・・・ 私がそこに居ました。 そして最後に・・・・・・・・・・・・・・・・・・・・・ 自分の車はMTで 大変疲れました。 これで私の夏休みの思いでを語るプログラムを ####### ### ### ### # # # # # #### # # ### ### ### # # ## # # # # # ### ### ### ##### # # # # # #### ###### # # # # # # # # # # # # # # # ## # # # # # ### ### ### # # # # # #### # # ### ### ### したいと思います。 導き出された結果の考察 今回は語るプログラムだったので、簡単にできたが もう少し工夫する点があったと考えた。 例えば、 print("これで私の夏休みの思いでを語るプログラムを\n") sleep 2 print(`banner "Finish!!!\n"`) sleep 2 print("したいと思います。\n") もとにしたプログラムからの変更点 前に作った面接のプログラムを参考に作りました。 面接のプログラムでは、語る構成を使っていたのでその部分を抜き出し 改良して作りました。 下のは面接プログラムの一部分です #!/usr/koeki/bin/ruby print("このゲームの最終目的は、主人公 ( 面接 受郎 :めんせつ うけろう) を\n") sleep 1 print("会社の面接に見事合格させることです!!\n") sleep 2 print("操作は簡単!\n") sleep 2 print("途中にでてくる選択肢に数字を入力して答えるだけ☆\n") sleep 2 print("はたして、さまざまな誘惑から主人公を救いだすことができるでしょうか??\n") sleep 2 print("主人公の運命はアナタ次第!!\n") sleep 1 print("アナタの手で、面接 受郎 を社会に旅立たせてあげて下さい!!\n") sleep 2 print(`banner "game start\n"`) プログラムを実行した結果画面 irsv{c106054}% ./summer_a.rb [~/Ruby] 私の ##### # # # # # # # # ###### ##### # # ## #### # # # ## ## ## ## # # # # # # # # # ##### # # # ## # # ## # ##### # # # # # # # # # # # # # # # ##### # # ###### # # # # # # # # # # # # # # # # # # ##### #### # # # # ###### # # ## # # #### について語るプログラムです。 聞いてってくださいね。 私の休みの一番の思い出は 車を買った事が一番の思い出です。 買ったのは良いんですが・・・・・・・・・ ・・・・・・・・・・・・・・・・・・ 悪友の存在によって 仙台に行かされるはめになりました。 仙台の世界観はまさに圧巻で 8車線など未知の領域が見ることができました。 思わず目を擦ってしまいました。 そして、車線変更など様々な困難の壁が立ち塞がり 私を苦しめました。 悪友は私の隣でげらげら笑っていたのを今でも覚えています。 もう二度と車で仙台に行きたくないと誓う・・・・・・・・・・・・・・・ 私がそこに居ました。 そして最後に・・・・・・・・・・・・・・・・・・・・・ 自分の車はMTで 大変疲れました。 これで私の夏休みの思いでを語るプログラムを ####### ### ### ### # # # # # #### # # ### ### ### # # ## # # # # # ### ### ### ##### # # # # # #### ###### # # # # # # # # # # # # # # # ## # # # # # ### ### ### # # # # # #### # # ### ### ### したいと思います。 導き出された結果の考察 今回は語るプログラムだったので、簡単にできたが もう少し工夫する点があったと考えた。 例えば、bannerで英語をでかくできるが日本語を大きくできないので 日本語も大きくできれば、さらに楽しめる語るプログラムになったと思う。 ifも使って相手にもっと聞きたいか?などの問いもあればまた楽しめたかもしれ ないと考えました。 そして、bannerでの途切れは解決策は 二つのbannerでの組み合わせをすることで解決すると考えました。 これを、後で試し直したい。 参考文献 mennsetu.rbのプログラムです。ここから、プログラムを取って来ました。 添付をしておきます B 考えた設定 先程Aで行ないたい設定を試してみた。相手に聞きたいかを尋ね、聞きたいと選 択した場合は続け、してない場合は続けない設定にしました。 そして、幼少の頃の夏にあった事件を6〜12歳までまとめて 選択できるようにした。 作成したプログラムコードそのもの #!/usr/koeki/bin/ruby print(" 自分の幼少時代の思い出を語りたいと思います\n") sleep 2 print(" 聞きたいですか?\n") print(" 1:yes 2:no\n") summer0 = gets.chomp.to_i #summer0から取ってくる if summer0 == 2 #ifを使う(summer0) そして、2を選んだ場合 print(" そうですかーー残念ですね\n") exit elsif summer0 == 1 #elsifを使う そして、1を選んだ場合 print(" 分かりました聞かせましょうーー\n") end sleep 2 print(" 6〜12歳までの間で思い出を答えますよーー\n") print(" 聞きたい年の数を入力してくださいねーーー。\n") summer1 = gets.chomp.to_i #summer1から取ってくる if summer1 == 6 #ifを使う(summer1) そして、6を選んだ場合 print(" 小学生1年生、夏の思い出は・・・・・・\n") sleep 2 print(" 自分の家の近くの川に落ちた・・・親が必死に助けに来ていた。\n") sleep 2 print(" その時の父の顔が怖かった。\n") elsif summer1 == 7 #ifを使う(summer1) そして、7を選んだ場合 print(" 小学生2年生、夏の思い出は・・・・・・\n") sleep 2 print(" サッカースポーツ少年団に入る\n") sleep 2 print(" サッカーはつらい事を知る・・・・\n") elsif summer1 == 8 #ifを使う(summer1) そして、8を選んだ場合 print(" 小学生3年生、夏の思い出は・・・・・・\n") sleep 2 print(" 友達が体育館で鬼ごっこ中にネットにからまる・・・・\n") sleep 2 print(" 友達、死にそうになる\n") elsif summer1 == 9 #ifを使う(summer1) そして、9を選んだ場合 print(" 小学生4年生、夏の思い出は・・・・・・\n") sleep 2 print(" サッカーの大会に出る・・・・\n") sleep 2 print(" プレッシャーに負けて、泣く・・・・\n") elsif summer1 == 10 #ifを使う(summer1) そして、10を選んだ場合 print(" 小学生5年生、夏の思い出は・・・・・・\n") sleep 2 print(" 松島旅行に行く・・・・\n") sleep 2 print(" 船の移動の時、吐きそうになりグロッキー。横になる。\n") elsif summer1 == 11 #ifを使う(summer1) そして、11を選んだ場合 print(" 小学生6年生、夏の思い出は・・・・・・\n") sleep 2 print(" 女の子から告白される\n") sleep 2 print(" 嬉しかったので、付き合うが・・・・・\n") sleep 2 print(" その先は聞かないで下さい\n") elsif summer1 == 12 #ifを使う(summer1) そして、12を選んだ場合 print(" 中学1年生、夏の思い出は・・・・・・\n") sleep 2 print(" 友達と離れ離れになり悲しくなる・・・\n") sleep 2 print(" が、しかしすぐに友達ができて中学生活が薔薇色に!!!\n") sleep 2 print(" しかし、その友達は・・・・\n") sleep 2 print(" 今の悪友だった。\n") else summer1 == #elseを使う. 他の選択肢の選んだ場合 print("違う年齢は入力しないで下さいーーなのでやり直し\n") end もとにしたプログラムからの変更点 自分のmennsetu.rbとcalender.rbを参考にして改良しました。 そこには、if-endの使ったプログラムがあったので抜き出して プログラムにあうように変えました。 プログラムの内容は添付をしておきます。 西村先生のホームページからも参考にしたのでURLを貼ります。 http://roy/~madoka/2007/r1/04/04-02-review_if.html プログラムを実行した結果画面 irsv{c106054}% ./summer_b.rb [~/Ruby] 自分の幼少時代の思い出を語りたいと思います 聞きたいですか? 1:yes 2:no noの場合 2 そうですかーー残念ですね yesの場合 1 分りました聞かせましょうーー 6〜12歳までの間で思い出を答えますよーー 聞きたい年の数を入力してくださいねーーー。 6の場合 6 小学生1年生、夏の思い出は・・・・・・ 自分の家の近くの川に落ちた・・・親が必死に助けに来ていた。 その時の父の顔が怖かった。 7の場合 7 小学生2年生、夏の思い出は・・・・・・ サッカースポーツ少年団に入る サッカーはつらい事を知る・・・・ 8の場合 8 小学生3年生、夏の思い出は・・・・・・ 友達が体育館で鬼ごっこ中にネットにからまる・・・・ 友達、死にそうになる 9の場合 9 小学生4年生、夏の思い出は・・・・・・ サッカーの大会に出る・・・・ プレッシャーに負けて、泣く・・・・ 10の場合 10 小学生5年生、夏の思い出は・・・・・・ 松島旅行に行く・・・・ 船の移動の時、吐きそうになりグロッキー。横になる。 11の場合 11 小学生6年生、夏の思い出は・・・・・・ 女の子から告白される 嬉しかったので、付き合うが・・・・・ その先は聞かないで下さい 12の場合 12 中学1年生、夏の思い出は・・・・・・ 友達と離れ離れになり悲しくなる・・・ が、しかしすぐに友達ができて中学生活が薔薇色に!!! しかし、その友達は・・・・ 今の悪友だった。 他の数字を選んだ場合 0 違う年齢は入力しないで下さいーーなのでやり直し 導き出された結果の考察 今回のプログラムでは、Aのプログラムでの行ないたいことをBのプログラムに導 入できた。 しかし、今回別の選択肢を選んだ場合にコメントが出るように設定したが、 elseで良いのかと疑問に思ったので、後で正しい設定はないかを調べておき設定 をしなしておきたい。 しかし、今回は内容がうっすかたので次回は多少濃い内容をしていきたい。 参考文献 自分のmennsetu.rbとcalender.rbを参考 添付をしておきます 西村先生のホームページからも参考にしたのでURLを貼ります。 http://roy/~madoka/2007/r1/04/04-02-review_if.html 3感想 忘れていたのは、ifの構成の仕方でした。西村先生のホームページやmensetu.rb calender.rbを参考にすることで解決できました。 そして、ifはこれからも使うと思うのでしっかりレポートを書きながら復習や 参考にしていたものをじっくりと見ることで 理解が深まったと感じています。 次回からもしっかりしていきたいです。