第3回 基礎プログラミング II レポート課題 氏名:永井 絹人 学籍番号:c109120 語学クラス:英語1 コース(系):政策 //////////////////////////////////////////////////////////////////////////////// 1、筆記問題 A, [Nagai Kento] ASIIコードにすると [4e,61,67,61,69, 4b,65,6e,74,6f] となる。 B, { きのうえをかいた きのう え を かいた (昨日絵を描いた) きの うえを かいた (木の上を描いた) } { それはいしゃだ それは いしゃ だ (それは医者だ) それ はいしゃ だ (それ歯医者だ) それ はいしゃ だ (それ廃車だ) } { はいしゃとなる はいしゃ と なる(歯医者となる) はいしゃ と なる(廃車となる) はいしゃ と なる(敗者となる) } C, 球技の特徴を hash 配列 sport とした。 sport の key と value はそれぞれ球技名と,必要な物,人数,屋外か屋内とした その1:key 「バスケ」に対し valueは「バッシュ, 10, 屋内」 その2:key 「野球」に対し valueは「バット, 18, 屋外」 その3:key 「サッカー」に対し valueは「スパイク, 22, 屋外」 その4:key 「卓球」に対し valueは「ラケット, 2, 屋内」 その5:key 「アメフト」に対し valueは「パワー, 22, 屋外」 これらを hash 配列で表記すると "バスケ"=>[バッシュ, 10, 屋内] "野球"=>[バット, 18, 屋外] "サッカー"=>[スパイク, 22, 屋外] "卓球"=>[ラケット, 2, 屋内] "アメフト"=>[パワー, 22, 屋外] となる。 2、プログラム問題 Aを選択 あらかじめプログラムに登録してある対を表示する設定 プログラム #!/usr/koeki/bin/ruby $KCODE = 'e' sport = Hash.new print("球技:\n\n") sport["バスケ"] = "バッシュ", 10, "屋内" sport["野球"] = "バット", 18, "屋外" sport["サッカー"] = "スパイク", 22, "屋外" sport["卓球"] = "ラケット", 2, "屋内" sport["アメフト"] = "パワー", 22, "屋外" for name, undo in sport printf("%sには%sが必要で、試合には最低%s人が必要。そして%sスポーツです。\n\n", name, undo[0], undo[1], undo[2]) end 実行結果 pan{c109120}% ./hash_ary_pribt.rb [~/Ruby] 球技: 野球にはバットが必要で、試合には最低18人が必要。そして屋外スポーツです。 バスケにはバッシュが必要で、試合には最低10人が必要。そして屋内スポーツです。 アメフトにはパワーが必要で、試合には最低22人が必要。そして屋外スポーツです。 サッカーにはスパイクが必要で、試合には最低22人が必要。そして屋外スポーツです。 卓球にはラケットが必要で、試合には最低2人が必要。そして屋内スポーツです。 考察 あらかじめプログラムに登録してある対が実行結果で表示されたのでこのプログ ラムは正しい。 3、感想 今回のレポートをしていてよくパソコンの検索で何文字かいれると単語や人の 名前が出るが、このhashを利用しているのではないかとおもいました。 参考文献 なになにといえばこれこれ http://roy/~madoka/2010/r2/02/ 情報の構造を分析しよう http://roy/~madoka/2010/r2/03/