第 7 回 ゼミ紹介 レポート課題 氏名: 安藤夏海 学籍番号: c1100130 語学クラス: 英語2 ロシア語 コース(系): 環境サイエンスコース ================================================================== >> http://roy/~c110013/advertise2/ 1. 最高傑作に関する通常のレポート================================ 1. 仕様書(企画意図と遊び方、連絡先等が書かれているもの) >> http://roy/~c110013/advertise2/ >> ページに記載しています。 2. プログラムに関する部分 (通常のレポートと同じ内容) >>前期 基礎プログラミングIの時に作成したプログラムに手を加えた。 ------------------------------------------------------------------ >>カクテル帳 … >>前回の授業で学んだ。hashやopenを使って、 >>データを読み込んで表示させるプログラムにしました。 >>また、プログラム中に、入力したとき、データが無かった場合、 >>新規作成させるプログラムにしてあります。 #!/usr/koeki/bin/ruby $KCODE = 'e' schedule = Hash.new #変数にハッシュを代入する schedule_b = Hash.new open("material.dat","r") do |imihu| #読みこみモードでファイルオープンをする while hash_data = imihu.gets if /(\S+)\s+(\S+)/ =~ hash_data schedule[$1] = $2 end end end STDERR.print("カクテル名を入力して下さい。\n") name = gets.chomp if schedule.key?(name) == false #変数nameがハッシュのkeyに存在しないときに実行される部分 STDERR.printf("%sは登録されていません。\n",name) STDERR.print("新規登録しますか?\n") STDERR.print("(y 新規登録/ その他の入力 検索終了)\n") answer = gets.chomp if answer == "y" while true STDERR.print("カクテル名を入力して下さい。(Ctr-dで終了)\n") name_b = gets if name_b == nil break else name_b_m = name_b.chomp end STDERR.print("ベース(基酒)となるお酒を入力して下さい\n") number = gets.chomp schedule_b[name_b] = number open("material.dat","a") do |hash_data| #hash_data.dat内に以下のprintf文を書き込むため部分(データの新規登録する部分) hash_data.printf("%s %s\n",name_b_m,number) end end print("入力終了 \n") for namae,bangou in schedule_b #schedule_b内のハッシュの対を表示させる printf("カクテル名 : %s ベース(基酒) : %s\n",namae,bangou) end print("を新規登録しました。\n") else print("検索終了\n") end else printf("【%s】のベース(基酒)は 〈%s〉です。\n",name,schedule[name]) end ***************** データ マティーニ ジン、ウォッカ アラスカ ジン アレキサンダー ブランデー カシスオレンジ カシスリキュール カルアミルク コーヒーリキュール キール 白ワイン カーディナル 赤ワイン ギムレット ジン --------------------------------------------------------------------------------- 実行結果 pan{c110013}% ./cocktail.rb [~/public_html/advertise2] カクテル名を入力して下さい。 アレキサンダー 【アレキサンダー】のベース(基酒)は 〈ブランデー〉です。 pan{c110013}% ./cocktail.rb [~/public_html/advertise2] カクテル名を入力して下さい。 ギムレット 【ギムレット】のベース(基酒)は 〈ジン〉です。 ----------------------------------------------------------------------------------- >>オセロ … >>改正個所は、前期は駒を置くことまでは出来たが、自分の色の駒が最 >>終的に何枚残っているのか。などの計算などが出来なかったため、 >>今回計算して、何方が何枚残っているのかなどを表示させるようにした。 >>カレンダー … >>日付の一行目の段が若干ずれてしまいました。 >>今日の日付の部分の色が変わるようにしてあります。 3. 広告ページ(リンク先) >> 前記で作成した自分のページのリンクです。 >> http://roy.e.koeki-u.ac.jp/~c110013/index.html 2. ホームページでの作業============================================================ 1. 自分のトップページへのリンク >> http://roy.e.koeki-u.ac.jp/~c110013/index.html 2. 仕様書へのリンク >> http://roy/~c110013/advertise2/ >> 3. 最高傑作のプログラムへのリンク >> http://roy/~c110013/advertise2/cocktail.rb >> 貼っちゃいました。 3. 感想=========================================================================== 前期のプログラミングの時のページや、プログラムを参考にした。 プログラムの改善点が多くあったため、 ページの作成はいっぱいいっぱいでした。 いつも評価が低いのは、説明不足や、 メールの書き方が良くなかったのが原因だとおもったため、 今回は説明や、プログラム内での#(コメント)を多く使えたのではないかと思う。 ------------------------ 東北公益文科大学2年 安藤夏海 Ando Natsumi c110013@f.koeki-u.ac.jp ------------------------