第2回なになにといえばこれこれ レポート課題 氏名:菅原彩花 学籍番号:c1101253 語学クラス:英語6 コース:政策マネジメントコース 1、筆記問題 A、動物の特徴をhash配列animalとした。 animalのkeyとvalueはそれぞれ動物名とその特徴にとる。 その1:key 「きりん」に対してvalueは「長い首」 その2:key 「うさぎ」に対してvalueは「長い耳」 その3:key 「かえる」に対してvalueは「みどりのからだ」 その4:key 「カンガルー」に対してvalueは「お腹の袋」 その5:key 「ダチョウ」に対してvalueは「大きなたまご」 これに対応するHashの表し方は、 animal["きりん"]="長い首" animal["うさぎ"]="長い耳" animal["ぞう"]="大きな耳" animal["カンガルー"]="お腹の袋" animal["ダチョウ"]="大きなたまご" またもう一つの表し方は、 {"きりん"=>"長い首","うさぎ"=>"長い耳","ぞう"=>"大きな耳","カンガルー "=>"お腹の袋","ダチョウ"=>"大きなたまご"} である。 B、a、0d2010=0x??? 16)2010 10→A ----- 16) 125 13→D ----- 16) 7 7 ----- 0 答え、0d2010=0x7DA b、0d2010=0b??? 2)2010 0 ----- 2)1005 1 ----- 2) 502 0 ----- 2) 251 1 ----- 2) 125 1 ----- 2) 62 0 ----- 2) 31 1 ----- 2) 15 1 ----- 2) 7 1 ----- 2) 3 1 ----- 2) 1 1 ----- 0 答え、0d2010=0b11111011010 0b11111011010=0x??? 0b 0111 1101 1010 ・0b0111=0x7 0*8+1*4+1*2+1*1=7 ・0b1101=0xD 1*8+1*4+0*2+1*1=13(D) ・0b1010=0xA 1*8+0*4+1*2+0*1=10(A) 答え、0b11111011010=0x7DA 2、プログラム問題 選択番号 B i.設定 あらかじめプログラムに登録してある対を全て表示させた上で、動物の名前を入 力させその特徴を結果表示させる。またあらかじめ登録した動物名以外の名前が 入力されたときは「登録されていない」と表示させる。 ii.作成したプログラム(hash_choice.rb) #!/usr/koeki/bin/ruby $KCODE = 'e' #日本語の文字列を使うこという。 animal=Hash.new("登録されていません") #新しくhashに対のデータを登録する。 #配列をanimalとする。 animal["きりん"] = "長い首" #[""]にkey、""にvalue(特徴)をいれる。 animal["うさぎ"] = "長い耳" animal["ぞう"] = "大きな耳" animal["カンガルー"] = "お腹の袋" animal["ダチョウ"] = "大きなたまご" #p animal animal.keys.each{|name| printf("%s の特徴は%s\n",name,animal[name]) #ここで登録された対のデータを全て表示させる。(keyを検索して配列を使っている) } STDERR.print("動物の名前:") #STDERRを使って入力させる。 name = gets.chomp!.to_s #入力されたものを変数nameとし、入力を読みこむgets、改行を取り除くchomp!、文字列に変換する。 if animal.key?(name)== false printf("%s はありません。\n",name) printf("%s は%s 。\n",name,animal[name]) #keyの検索を使って入力された名前がないときは「ない」といい、終了する。 else animal.key?(name) == true printf("%sの特徴は%sです。\n",name,animal[name]) #入力された名前があるときは名前とその特徴を表示させる。 end iii.実行結果 1、登録されているものを入力した場合 ダチョウ の特徴は大きなたまご ぞう の特徴は大きな耳 カンガルー の特徴はお腹の袋 うさぎ の特徴は長い耳 きりん の特徴は長い首 動物の名前:ぞう ぞうの特徴は大きな耳です。 ダチョウ の特徴は大きなたまご ぞう の特徴は大きな耳 カンガルー の特徴はお腹の袋 うさぎ の特徴は長い耳 きりん の特徴は長い首 動物の名前:ダチョウ ダチョウの特徴は大きなたまごです。 ダチョウ の特徴は大きなたまご ぞう の特徴は大きな耳 カンガルー の特徴はお腹の袋 うさぎ の特徴は長い耳 きりん の特徴は長い首 動物の名前:カンガルー カンガルーの特徴はお腹の袋です。 ダチョウ の特徴は大きなたまご ぞう の特徴は大きな耳 カンガルー の特徴はお腹の袋 うさぎ の特徴は長い耳 きりん の特徴は長い首 動物の名前:うさぎ うさぎの特徴は長い耳です。 ダチョウ の特徴は大きなたまご ぞう の特徴は大きな耳 カンガルー の特徴はお腹の袋 うさぎ の特徴は長い耳 きりん の特徴は長い首 動物の名前:きりん きりんの特徴は長い首です。 2、登録されていないものを入力した場合 ダチョウ の特徴は大きなたまご ぞう の特徴は大きな耳 カンガルー の特徴はお腹の袋 うさぎ の特徴は長い耳 きりん の特徴は長い首 動物の名前:かえる かえる はありません。 かえる は登録されていません 。 3、数字を入力した場合 ダチョウ の特徴は大きなたまご ぞう の特徴は大きな耳 カンガルー の特徴はお腹の袋 うさぎ の特徴は長い耳 きりん の特徴は長い首 動物の名前:111 111 はありません。 111 は登録されていません 。 v.考察 登録されている動物の名前を登録された通りに入力すると正しく特徴が表示され た。また登録されていない名前や数字が入力されたときには登録されていないと 表示され、プログラムが終了したので正しく動いていると考えられる。 3、感想 実際に医者などで患者のカルテ管理に使われていると思われる。なぜならある患者のカルテ本体が何処にあるのか、またカルテ本体をデータとして管理している場合にはカルテ本体を患者の名前と一緒に登録できるとかんがえるからである。 筆記問題では基数変換の解き方を前期やITパスポートの勉強の際に練習してきたがわすれてしまっていたので、やり方を調べて解いた。 プログラム問題ではvalue(特徴)を""ではさむのを忘れていたのでうまく実行できなくてつまづいてしまった。また登録された対のデータを全て表示させるにはどうしたらよいのかわからなかった。最初はwhile-endを使って繰り返させて表示させるのかな、と思ったがうまくいかず、hashのなかをkeyを検索して表示させた。実のところ授業のページを参考にして作成したが理解が足りていないと感じる。 4、参考文献 2進数・10進数・16進数の変換について URL:http://www.geocities.jp/cwqnx949/xshinsuu/ 第2回基礎プログラミングII 講義ノート URL:http://roy/~madoka/2011/r2/02/ ------------------- 東北公益文科大学 公益学部 公益学科 2年 菅原彩花 c110125@f.koeki-u.ac.jp