5 月 16 日のレポートについて 語学クラス:XXXX語XX 系:XXXX系 学籍番号:c106XXXX 氏名:XXXXXXXX 1.ルビ緒ロボットが恋をし、熱暴走を起こしている。 16 進法表示から文字コー ドに変換するプログラム部分が壊れてしまったようである。 while 文で繰り返 される部分を解読したところ、 : printf("%c%c%c%c%cちゃんはかわいいなあ\n",0x45,0x6d,0x69,0x6c,0x79) printf("http://www.%c%c%c.or.jp/%c%c%c%c%c/%c%c%c%c%c/\n", 0x6e,0x68,0x6b,0x61,0x6e,0x69,0x6d,0x65,0x65,0x6d,0x69,0x6c,0x79) : であった。相手は誰か、過程も記して答えよ。 相手の名前はEmily。ルビ緒ロボットは風の少女Emilyに恋をしている。 ASCll コード表参照 0x45 = E 0x6d = m 0x69 = i 0x6c = l 0x79 = y 0x6e = n 0x68 = h 0x6b = k 0x61 = a 0x6e = n 0x69 = i 0x6d = m 0x65 = e 0x65 = e 0x6d = m 0x69 = i 0x6c = l 0x79 = y 証拠物件 http://www3.nhk.or.jp/anime/emily/ 2.プログラム問題 A.定型文を作り、そこに当てはめる文字列を考え、表示するプログラム form_a.rb を作成せよ。配列の添字の数は 4 つ以上とする。配列の要素数 は 3 つ以上とする。 a.考えた設定 授業時にしたtrainのプログラムを参考に作成した。元バイトが回転寿司という こともあったので、お寿司のプログラムを考えた。 b. form_a.rb のプログラム #!/usr/koeki/bin/ruby sushi = Array.new s = 0 sushi[0] = ["まぐろ","さけマヨ","納豆巻き"] sushi[1] = ["いか","ねぎとろ","さけトロ巻き"] sushi[2] = ["かんぱち","えびっこ","かっぱ巻き"] sushi[3] = ["甘えび","いかごまサラダ","鉄火巻き"] print("この中から食べたいお寿司を選びます:\n") while s < 4 printf("種類 %d \n",s+1) printf("握り %s 軍艦 %s 巻き %s を食べます \n", sushi[s][0],sushi[s][1],sushi[s][2]) s += 1 end print("選択終了\n") c.変更点 way を sushiに変え、お寿司を選ぶプログラムにした。 d.結果画面 ./form_a.rb この中から食べたいお寿司を選びます: 種類 1 握り まぐろ 軍艦 さけマヨ 巻き 納豆巻き を食べます 種類 2 握り いか 軍艦 ねぎとろ 巻き さけトロ巻き を食べます 種類 3 握り かんぱち 軍艦 えびっこ 巻き かっぱ巻き を食べます 種類 4 握り 甘えび 軍艦 いかごまサラダ 巻き 鉄火巻き を食べます 選択終了 e.結果の考察 結果画面より合致する。 f.参考文献:http://roy/~madoka/2007/r1/05/05-12-form2.html a.考えた設定 前に記した form_a.rb のプログラムに、データ化した word.dat を噛ませて form_b.rb とした。 form_b.rb のプログラム #!/usr/koeki/bin/ruby combi = Array.new n = 0 print("この中から食べたいお寿司を選びます:\n") while word_data = gets if /(\S+)\s+(\S+)\s+(\S+)/ =~ word_data combi[0] = $1 combi[1] = $2 combi[2] = $3 end printf("種類 %d \n",n+1) printf("握り %s 軍艦 %s 巻き %s を食べます \n",combi[0],combi[1],combi[2]) n += 1 end print("選択終了\n") d.結果画面 ./form_b.rb word.dat この中から食べたいお寿司を選びます: 種類 1 握り まぐろ 軍艦 さけマヨ 巻き 納豆巻き を食べます 種類 2 握り いか 軍艦 ねぎとろ 巻き さけトロ巻き を食べます 種類 3 握り かんぱち 軍艦 えびっこ 巻き かっぱ巻き を食べます 種類 4 握り 甘えび 軍艦 いかごまサラダ 巻き 鉄火巻き を食べます 選択終了 e.結果の考察 結果画面より合致します。 f.参考文献:http://roy/~madoka/2007/r1/05/05-13-form3.html 3.感想 独創性を追求し、お寿司のプログラムをつくりました。工夫した点はそこです。 始め、ASCllコードの見方がわからず苦労した。すぐわからないと思わず、冷静 に考えれば見えてくるので、よく考えてみることが大切だと思った。今回は前 回に比べて、比較的早く終ることができよかったです。 ----Next_Part(Thu_May_17_17_33_31_2007_109)-- Content-Type: Text/Plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="form_a.rb" #!/usr/koeki/bin/ruby sushi = Array.new s = 0 sushi[0] = ["まぐろ","さけマヨ","納豆巻き"] sushi[1] = ["いか","ねぎとろ","さけトロ巻き"] sushi[2] = ["かんぱち","えびっこ","かっぱ巻き"] sushi[3] = ["甘えび","いかごまサラダ","鉄火巻き"] print("この中から食べたいお寿司を選びます:\n") while s < 4 printf("種類 %d \n",s+1) printf("握り %s 軍艦 %s 巻き %s を食べます \n", sushi[s][0],sushi[s][1],sushi[s][2]) s += 1 end print("選択終了\n") ----Next_Part(Thu_May_17_17_33_31_2007_109)-- Content-Type: Text/Plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="form_b.rb" #!/usr/koeki/bin/ruby combi = Array.new n = 0 print("この中から食べたいお寿司を選びます:\n") while word_data = gets if /(\S+)\s+(\S+)\s+(\S+)/ =~ word_data combi[0] = $1 combi[1] = $2 combi[2] = $3 end printf("種類 %d \n",n+1) printf("握り %s 軍艦 %s 巻き %s を食べます \n",combi[0],combi[1],combi[2]) n += 1 end print("選択終了\n") ----Next_Part(Thu_May_17_17_33_31_2007_109)-- Content-Type: Application/Ms-Tnef Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="word.dat" pN6ksKTtCQmktaSxpd6l6AkJx7zGprSspK0KpKSkqwkJpM2krqTIpO0JCaS1pLGlyKXttKykrQqk q6TzpNGkwQmkqKTTpMOkswkJpKukw6TRtKykrQq0xaSopNMJCaSkpKuktKTepbWl6aXACQnFtLLQ tKykrQo= ----Next_Part(Thu_May_17_17_33_31_2007_109)----