前回提出したレポート課題の内容がちゃんとした体裁になっていなかったため、 再提出します。 第 1 回 前期の復習 レポート課題 再提出 氏名:細田 洋平 学籍番号:c1101773 語学クラス:英語6 コース(系):政策マネジメントコース (1) UNIXの操作方法 <3種類のウィンドウ> kterm:ファイルのコピーや移動に使用する。 emacs:mew(メール)やプログラムの作成に使用する。 console:ログアウトのときに使用する。 <ウィンドウの切り替え> Ctrl+1:emacsの画面が前に出てくる Ctrl+2:ktermの画面が前に出てくる Ctrl+3:consoleの画面が前に出てくる Ctrl+4:Firefoxの画面が前に出てくる <ブラウザの起動> ソフトウェア名 &[Return] である。&をつけないで起動した場合、起動中は ktermを使用できない。 Rubyプログラムの作成はemacsで行い、ktermで実行する。 新規作成:Ctrl+x Ctrl+f ファイルを開く:Ctrl+x Ctrl+f ファイルの保存:Ctrl+x Ctrl+s 日本語入力の切替:Ctrl+o 保存する際、Rubyプログラムはファイル名に必ず.rbの拡張子をつける。 <プログラムの実行と手順> 1.cd プログラム名 で保存されたディレクトリに移動 2.chmod +x プログラム名 で実行可能な状態に 3../プログラム名 で実行 <メソッド> printメソッド:""内を表示する pメソッド:指定した変数内の値を表示する printfメソッド:""内のメッセージに変数内の値を入れ込んで表示する \nで改行を表すが、pメソッドは自動的に改行するので\nはつけない getsメソッド:入力を文字列として取得する chomp!メソッド:\nがあれば取り除く to_iメソッド:値の型を整数に変換 to_fメソッド:値の型を実数に変換する <繰り返し> while 繰り返しを継続する条件   繰り返し行う処理 end この形が基本となる <論理演算子> == :左辺と右辺が等しい < :左辺が右辺よりも小さい > :左辺が右辺よりも大きい <条件判断> if 条件A      処理A    else         処理B    end この形が基本となり、条件が2つ以上の場合はelsifを使用する。 elsifの行で2つ目の条件を満たすかどうか判定が行われ、満たす場合はその下 の処理、 満たさない場合はelse以下の処理が行われる。 while trueは:横の繰り返し継続条件が「常に条件を満たす」 break:while-trueの繰り返しから抜ける為のプログラム open("ファイル","モード")do |変数| 開いたファイルを使って行う処理 end ファイル:ファイル名の指定 モード:指定したファイルを開いて読み込むのか、指定したファイルを作成して 書き込むのか等を選択する r:読み込み専用。 r+:読み込み/書き込み用。 w:書き込み専用。指定したファイルを新規作成する 2 プログラム 毎年の思い出ではなく、小学校、中学校、高校、大学の4つに分けて選択する形 にした。if elsif else end のプログラムをいれることで、選択肢である1〜4以 外の文字を入力した場合、再入力を促す文が表示されるようにした。 #!/usr/koeki/bin/ruby print"思い出リスト\n" print"1.小学校(6〜12歳)の時の思い出\n" print"2.中学校(13〜15歳)の時の思い出\n" print"3.高校(16〜18歳)の時の思い出\n" print"4.大学(19歳〜)の思い出\n" print"番号を選んで下さい。\n" number = gets.chomp.to_i if number == 1 print"小学校の時は家族で、横手市にある忍者屋敷に遊びに行った。建物の中にある文字をみつけ、最終的に文にして答える。というゲームだったが、いくら探しても全てみつけることが出来ず、迷子になってしまった。\n" elsif number == 2 print"中学校の時は友達と地元の夏祭りや花火大会を見に行った。市販で売ってる花火と違って迫力があり、大きな花火を間近で見たのが初めてだったのでとても印象に残っている。夏祭りは昼過ぎから行き、結局夜までずっと遊んでいたのを覚えている。\n" elsif number == 3 print"高校のときはひたすら部活だった。夏休み始まってすぐと終わりの頃に合宿があり、朝練で4時半から100M×100本走ったことをとても覚えている。また、8月中旬にはインターハイがあり、それに向けての練習や合宿もいい思い出である。そしてインターハイは高校最大の思い出であった。私が3年の時は奈良で行われ、平城京遷都1300年記念の準備もあったようで、市内がとても活気にあふれていた。" elsif number == 4 print"大学の、つまり最近の思い出は、友達みんなで湯ノ浜に遊びに行ったことである。何人かで海に入って流されたりもしたし、夜はバーベキューや花火をした。足湯にも温泉にも入り、とても楽しかった。" else print"1〜4の中から選んで下さい。" end 今回元にしたプログラム : なし <実行結果> 思い出リスト 1.小学校(6〜12歳)の時の思い出 2.中学校(13〜15歳)の時の思い出 3.高校(16〜18歳)の時の思い出 4.大学(19歳〜)の思い出 番号を選んで下さい。 1 小学校の時は家族で、横手市にある忍者屋敷に遊びに行った。建物の中にある文字をみつけ、最終的に文にして答える。というゲームだったが、いくら探しても全てみつけることが出来ず、迷子になってしまった。 pan{c110177}% ./summer_b.rb [~/Ruby] 思い出リスト 1.小学校(6〜12歳)の時の思い出 2.中学校(13〜15歳)の時の思い出 3.高校(16〜18歳)の時の思い出 4.大学(19歳〜)の思い出 番号を選んで下さい。 2 中学校の時は友達と地元の夏祭りや花火大会を見に行った。市販で売ってる花火と違って迫力があり、大きな花火を間近で見たのが初めてだったのでとても印象に残っている。夏祭りは昼過ぎから行き、結局夜までずっと遊んでいたのを覚えている。 pan{c110177}% ./summer_b.rb [~/Ruby] 思い出リスト 1.小学校(6〜12歳)の時の思い出 2.中学校(13〜15歳)の時の思い出 3.高校(16〜18歳)の時の思い出 4.大学(19歳〜)の思い出 番号を選んで下さい。 3 高校のときはひたすら部活だった。夏休み始まってすぐと終わりの頃に合宿があり、朝練で4時半から100M×100本走ったことをとても覚えている。また、8月中旬にはインターハイがあり、それに向けての練習や合宿もいい思い出である。そしてインターハイは高校最大の思い出であった。私が3年の時は奈良で行われ、平城京遷都1300年記念の準備もあったようで、市内がとても活気にあふれていた。% pan{c110177}% ./summer_b.rb [~/Ruby] 思い出リスト 1.小学校(6〜12歳)の時の思い出 2.中学校(13〜15歳)の時の思い出 3.高校(16〜18歳)の時の思い出 4.大学(19歳〜)の思い出 番号を選んで下さい。 4 大学の、つまり最近の思い出は、友達みんなで湯ノ浜に遊びに行ったことである。何人かで海に入って流されたりもしたし、夜はバーベキューや花火をした。足湯にも温泉にも入り、とても楽しかった。% pan{c110177}% ./summer_b.rb [~/Ruby] 思い出リスト 1.小学校(6〜12歳)の時の思い出 2.中学校(13〜15歳)の時の思い出 3.高校(16〜18歳)の時の思い出 4.大学(19歳〜)の思い出 番号を選んで下さい。 5 1〜4の中から選んで下さい。% <考察> 選択肢以外の文字を入力した際、再入力を促す文が正しく表示され、ちゃんと1〜 4の中から選択した場合、通常に機能した為、プログラムの内容に問題はないと 思われる。 <感想> まだ初回の内容のため、特別難しいという印象は無かった。前期の内容を復習 する際、神田先生のページを参考にしたが、以外と抜けていた点もあったので、 課題としてではなく、自主的に復習を進め、今期の講義に少しでも役立てるよ うにしたい。 <参考文献> http://roy/~naoya/ruby/1.html 神田先生のページ http://roy/~naoya/ruby/2.html 神田先生のページ http://roy/~naoya/ruby/3.html 神田先生のページ http://roy/~naoya/ruby/4.html 神田先生のページ http://roy/~naoya/ruby/5.html 神田先生のページ http://roy/~naoya/ruby/8.html 神田先生のページ