第2回 基礎プログラミング II レポート課題 氏名:布川大地 学籍番号:c1091230 語学クラス:英語3 コース(系):政策 1. 筆記問題 A、 スポーツとそのスポーツをおこなうのに必要な人数を Hash配列sportsとする。 sports の key と value はそれぞれスポーツとその行なう人数とおきました。 key value その1 「"バスケット"」 に対して 「 5人」 その2 「"サッカー"」 に対して 「11人」 その3 「"野球"」 に対して 「 9人」 その4 「"バレー"」 に対して 「 6人」 その5 「"フットサル"」 に対して 「 5人」 その6 「"テニス"」 に対して 「 2人」 ・Hashの配列の表し方 sprots["バスケット"] = "5人" sports["サッカー"] = "11人" sports["野球"] = "9人" sports["バレー"] = "6人" sports["フットサル"] = "5人" sports["テニス"] = "2人" ・もう一つの表し方 {"バスケット" => "5人","サッカー" => "11人","野球" => "9人","バレー" => "6人","フットサル" => "5人" => "テニス" => "2人"} B、 a、10進数 Od 2010 を 16進数 Ox に変換する。 2010 / 16 = 125 余り 10 125 / 16 = 7 余り 13 7 / 16 = 0 余り 7 上記の計算より、下の余りから順に並べていくと 1の位 7 10の位 13 → d 100の位 10 → a となる。 よって、Od 2010 = Ox 7da となる。 b、10進数 Od 2010 を 2進数 Ob に変換する。 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 となる。 よって、Od 2010 = Ob 11111011010 となる。 ・プログラム問題 A、 ・解説 #!/usr/koeki/bin/ruby $KCODE = 'e' # 日本語コードをEUCで出力する sports = Hash.new # Hash配列をanimeと定義する sports["バスケット"] = "5" sports["サッカー"] = "11" sports["野球"] = "9" sports["バレー"] = "6" sports["フットサル"] = "5" sports["テニス"] = "2" sports["卓球"] = "2" for name,ninzuu in sports printf("スポーツ → %s \n人数 → %d人\n",name,ninzuu) end ・実行結果 pan{c109123}% ./hash_for.rb [~/Ruby] スポーツ → 野球 人数 → 9人 スポーツ → バスケット 人数 → 5人 スポーツ → テニス 人数 → 2人 スポーツ → バレー 人数 → 6人 スポーツ → サッカー 人数 → 11人 スポーツ → フットサル 人数 → 5人 スポーツ → 卓球 人数 → 2人 となった。 考察 前回の授業をもとに、作業をおこないました。うまく表示できてよかった。今回 はひとつひとつ確認しながらプログラムを作成しました。スポーツの種類は自分 の好きなスポーツでそれぞれまとめてみました。 感想 授業で教えてもらったことを使って、上手くいくことができました。自分はスポー ツがすきなのでこのプログラムにしようと思いました。まだまだ忘れているとこ ろが多いのでこれからも頑張っていきたいです。 参考文献 http://roy/~madoka/2010/r2/02/ 基礎プログラミング II 第2回 なになにといえばこれこれ 西村まどか