第2回 基礎プログラミング II レポート課題 氏名:遠藤孝之 学籍番号:c1090265 語学クラス:中国語 コース(系):環境サイエンス 1:筆記問題 プロ野球球団名を hash 配列 の team とする。 team の key と value はそれぞれのプロ野球球団名とその所属する有名選手1名 とする。(自分の独断で有名選手を選びました。) その1:key「読売ジャイアンツ」に対して valueは 「坂本勇人」 その2:key「中日ドラゴンズ」に対してvalueは 「森野将彦」 その3:key「阪神タイガース」に対してvalueは 「藤川球児」 その4:key「東京ヤクルトスワローズ」に対してvalueは 「青木宣親」 その5:key「広島東洋カープ」に対してvalueは 「栗原健太」 その6:key「横浜ベイスターズ」に対してvalueは 「村田修一」 その7:key「北海道日本ハムファイターズ」に対してvalueは 「ダルビッシュ有」 その8:key「埼玉西武ライオンズ」に対してvalueは 「涌井秀章」 その9:key「福岡ソフトバンクホークス」 に対してvalueは 「杉内俊哉」 その10:key「千葉ロッテマリーンズ」 に対してvalueは 「西岡剛」 その11:key「オリックスバファローズ」 に対してvalueは 「Tー岡田」 その12:key「東北楽天ゴールデンイーグルス」 に対してvalueは 「田中将大」 team["読売ジャイアンツ"]="坂本勇人" team["中日ドラゴンズ"]="森野将彦" team["阪神タイガース"]="藤川球児" team["東京ヤクルトスワローズ"]="青木宣親" team["広島東洋カープ"]="栗原健太" team["横浜ベイスターズ"]="村田修一" team["北海道日本ハムファイターズ"]="ダルビッシュ有" team["埼玉西武ライオンズ"]="涌井秀章" team["福岡ソフトバンクホークス"]="杉内俊哉" team["千葉ロッテマリーンズ"]="西岡剛" team["オリックスバファローズ"]="Tー岡田" team["東北楽天ゴールデンイーグルス"]="田中将大" {"読売ジャイアンツ"=>"坂本勇人","中日ドラゴンズ"=>"阪神タイガース","藤川球児"=>"東京ヤクルトスワローズ"=>"青木宣親","広島東洋カープ"=>"栗原健太","横浜ベイスターズ"=>"村田修一","北海道日本ハムファイターズ"=>"ダルビッシュ有","埼玉西武ライオンズ"=>"涌井秀章","福岡ソフトバンクホークス"=>"杉内俊哉""千葉ロッテマリーンズ"=>"西岡剛","オリックスバファローズ"=>"Tー岡田","東北楽天ゴールデンイーグルス"=>"田中将大" } 1-b:計算問題 一問目: 0d 2010 0dは10進数、0xは16進数。10進数にするにはまず、2010を16ずつ割って行く。 2010 / 16 = 125 余り 10 125 / 16 = 7 余り 13 7 / 16 = 0 余り 7 下から数字を並べて変換する。 そうすると、0x7daとなる。 二問目: 0d 2010 0dは10進数、0bは2進数。2進数にするにはまず、2010を2ずつ割って行く。 2010 / 2 = 1005 余り 0 1005 / 2 = 502 余り 1 502 / 2 = 251 余り 0 251 / 2 = 125 余り 1 125 / 2 = 62 余り 1 62 / 2 = 31 余り 0 31 / 2 = 15 余り 1 15 / 2 = 7 余り 1 7 / 2 = 3 余り 1 3 / 2 = 1 余り 1 1 / 2 = 0 余り 1 下から数字を並べみると、11111011010となる。それを上と同じ答えになるよ うに4つずつ数字を分ける。そうすると7da となり上と同じ答えになる。 2 プログラミング問題 作成したプログラム #!/usr/koeki/bin/ruby $KCODE = 'e' team = Hash.new team["読売ジャイアンツ"]="坂本勇人" team["中日ドラゴンズ"]="森野将彦" team["阪神タイガース"]="藤川球児" team["東京ヤクルトスワローズ"]="青木宣親" team["広島東洋カープ"]="栗原健太" team["横浜ベイスターズ"]="村田修一" team["北海道日本ハムファイターズ"]="ダルビッシュ有" team["埼玉西武ライオンズ"]="涌井秀章" team["福岡ソフトバンクホークス"]="杉内俊哉" team["千葉ロッテマリーンズ"]="西岡剛" team["オリックスバファローズ"]="Tー岡田" team["東北楽天ゴールデンイーグルス"]="田中将大" for kyudan,sensyu in team printf("%s のチームは %s選手が有名です。 \n" ,kyudan, sensyu) end もとにしたプログラムの変更点 授業中に使用したhash_data.rbを使った。shopと表していたところを球団名が 出るようにteamと表した。 実行結果 pan{c109026}% ./hash_for.rb [~/Ruby] 千葉ロッテマリーンズ のチームは 西岡剛選手が有名です。 東北楽天ゴールデンイーグルス のチームは 田中将大選手が有名です。 東京ヤクルトスワローズ のチームは 青木宣親選手が有名です。 オリックスバファローズ のチームは Tー岡田選手が有名です。 福岡ソフトバンクホークス のチームは 杉内俊哉選手が有名です。 埼玉西武ライオンズ のチームは 涌井秀章選手が有名です。 阪神タイガース のチームは 藤川球児選手が有名です。 横浜ベイスターズ のチームは 村田修一選手が有名です。 広島東洋カープ のチームは 栗原健太選手が有名です。 中日ドラゴンズ のチームは 森野将彦選手が有名です。 読売ジャイアンツ のチームは 坂本勇人選手が有名です。 北海道日本ハムファイターズ のチームは ダルビッシュ有選手が有名です。 考察 データがちゃんと表示がされた。そうすると正しくプログラムが作動したことと 言える。 感想 コンビニやスーパーの製品と値段の一致に使われている。 参考文献 http://roy/~madoka/2010/r2/02/02_07_theme_06_forprint.html 「Hash の対に表示するには」 http://roy/~madoka/2010/r2/02/02_06_theme_05_hash_pair.html 「Hash の対に入力するには」 共同学習者:池田博哉くん 佐藤裕康くん 花木剛志くん