第 2 回 なになにといえばこれこれ レポート課題 氏名:千葉倫之 学籍番号:C1101520 語学クラス:英語2 コース(系):地域共創 (1)筆記問題 A.テレビで活躍するお笑い芸人を hash 配列 芸人 とした。 geinin の key と value はそれぞれお笑い芸人の名前とその所属事務所にした。 1:key「ダウンタウン」に対してvalueは 「吉本興行」 2:key「くりぃむしちゅー」 に対してvalueは 「ナチュラルエイト」 3:key「爆笑問題」 に対してvalueは 「タイタン」 4:key「江頭2:50」に対してvalueは 「大川興業」 5:key「おぎやはぎ」に対してvalueは 「人力車」 geinin["ダウンタウン"]="吉本興業" geinin["くりぃむしちゅー"]="ナチュラルエイト" geinin["爆笑問題"]="タイタン" geinin["江頭2:50"]="大河興行" geinin["おぎやはぎ"]="人力車" B.計算問題 a. 0d 2010 = 0x ?? 0dは10進数で0xは16進数です。10進数を16進数にするには、16で割り出 た商を16で割って、余りを下から順に並べる。 2010 / 16 = 125 余り 10 125 / 16 = 7 余り 13 7 / 16 = 0 余り 7 これを下から順に並べる。 7 13 10 これを16進数の表記に直していくと、 7 = 7、 13 = d、 10 = a よって、 0d 2010 = 0x7da となる。 b.0d 2010 = 0b ?? 0dは10進数、0bは2進数である。10進数を2進数にするためには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 となります。0x2010 = 0b11111011010 0b11111011010を16進数に変換する。2進数を16進数にするには 2進数を下から4桁ずつに区切って、その数字ごとに10進数に変換する。 0111/1101/1010 0111=0*2の3乗 + 1*2の2乗 + 1*2の1乗 + 1*2の0乗 =0+4+2+1 =7 1101=1*2の3乗 + 1*2の2乗 + 0*2の1乗 + 1*2の0乗 =8+4+0+1 =13 1010=1*2の3乗 + 0*2の2乗 + 1*2の1乗 + 0*2の0乗 =8+0+2+0 =10 以上の計算から0x7daとなる。これは1問目と同じ答えになることから正しいと言 える。 (2)プログラム問題 Bを選択しました。 ・プログラム #!/usr/koeki/bin/ruby $KCODE = 'e' geinin = Hash.new("ありません。\n") geinin["ダウンタウン"] = "吉本興行" geinin["くりぃむしちゅー"] = "ナチュラルエイト" geinin["爆笑問題"] = "タイタン" geinin["江頭2:50"] = "大川興行" geinin["おぎやはぎ"] = "人力車" print("・ダウンタウン ・くりぃむしちゅー ・爆笑問題 ・江頭2:50 ・おぎやはぎ\n") STDERR.print("この中から1つ選んで入力すると所属事務所が表示されるであります: ") jimusyo = gets.chomp if geinin.key?(jimusyo) == true printf("%s の所属事務所は「%s」であります。\n", jimusyo, geinin[jimusyo]) else printf("\n%s …そんな人は存在しません。\n",jimusyo) end ・実行結果 pan{c110152}% ./hash_choice.rb [~/Ruby] ・ダウンタウン ・くりぃむしちゅー ・爆笑問題 ・江頭2:50 ・おぎやはぎ この中から1つ選んで入力すると所属事務所が表示されるであります: ダウンタウン ダウンタウン の所属事務所は「吉本興行」であります。 pan{c110152}% ./hash_choice.rb [~/Ruby] ・ダウンタウン ・くりぃむしちゅー ・爆笑問題 ・江頭2:50 ・おぎやはぎ この中から1つ選んで入力すると所属事務所が表示されるであります: 江頭2:50 江頭2:50 の所属事務所は「大川興行」であります。 pan{c110152}% ./hash_choice.rb [~/Ruby] ・ダウンタウン ・くりぃむしちゅー ・爆笑問題 ・江頭2:50 ・おぎやはぎ この中から1つ選んで入力すると所属事務所が表示されるであります: X-GUN X-GUN …そんな人は存在しません。 ・考察 プログラムで設定した所定の文字、例えば「ダウンタウン」と入力すると「吉本 興業」と表示された。また、設定した以外の文字が入力されると「…そんな人は 存在しません。」と表示された。以上から正しくプログラムを作成できた。 (3)感想 筆記問題のBの問題では、ひさしぶりに進数をやったので忘れているところがあっ たが、なんとか友人と協力してやることで なんとか解くことができた。また、 プログラムの作成も正しくできたので良かった。 (4)参考文献 基礎プログラミング II 第2回 なになにといえばこれこれ のページ