語学クラス:XXXX語XX 系:XXXX系 学籍番号:C106XXXX 氏名:XXXXXXXX 1.16進数をASCLLコード表で直せば分かるので ox45.ox6d.ox69.ox6c.ox79の部分を直す。 そこで注意するのが、十の位は縦、一の位は横で照らし合わせてやる。 よって、 ox45=E ox6d=m ox69=i ox6c=l ox79=y となるので、ルビ緒ロボットが恋をした相手はEmilyちゃんです。 2.AとB 考えた設定 検索案内プログラムを工夫すれば自分の考えたプログラムが出来る思った。 地元が新庄なので新庄駅から近い有名なスーパーについて調べ、 スーパーについてのプログラムを考えた。 そして、Bでは自分のAで作ったプログラムをデータとプログラムを分離と同じように すればできると考えた。 作成したプログラム #!/usr/koeki/bin/ruby place = Array.new #新しい配列を与える method p = 0 #pの初期値を0にする place[0] = ["歩いて2分","びっぐり市","お肉が安すぎて不安になります"] place[1] = ["歩いて10分","ヨークベニマル","結構広くて品揃えが豊富すぎ"] place[2] = ["歩いて12分","マックスバリュ","周りにたくさんの店があり ヨークベニマルのライバル店"] place[3] = ["歩いて20分","ヤマザワ","サンコー牛乳がとても安い、そしておいしい"] print("新庄駅から近くて人気があるスーパーを探します:\n") while p < 4 #pの範囲を3までとなるように設定 printf("近い順 %d \n",p+1) printf("新庄駅から %s %s に到着!!!! 特徴は %s \n", place[p][0],place[p][1],place[p][2]) p += 1 #pに1ずつ足していく end #whileに対応するend print("どれもお薦めなスーパーですよ\n") 二個目のプログラム #!/usr/koeki/bin/ruby combi = Array.new p = 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",p+1) printf("新庄駅から %s %s に到着!!!! 特徴 %s \n", combi[0],combi[1],combi[2]) p += 1 #pに1ずつ足していく end #whileに対応するend print("どれもお薦めなスーパーですよ\n") プログラムからの変更点 まず i=0をp=0に設定し、wayをplaceに変更した。 元のプログラムでは自分の作成するプログラムでは あわないのでこのようにあわない部分は変更した。 way[0] = ["つばさ","新庄","陸羽西線"] way[1] = ["とき","新潟","いなほ"] way[2] = ["とき","新潟","きらきらうえつ"] way[3] = ["羽田空港で飛行機","庄内空港","バス"] から place[0] = ["歩いて2分","びっぐり市","お肉が安すぎて不安になります"] place[1] = ["歩いて10分","ヨークベニマル","結構広くて品揃えが豊富すぎ"] place[2] = ["歩いて12分","マックスバリュ","周りにたくさんの店がありヨークベニマルのライバル店"] place[3] = ["歩いて20分","ヤマザワ","サンコー牛乳がとても安い、そしておいしい"] と変更した。 二個目のプログラムではデータとプログラムを別にするために 元であるプログラムを変更した。 place = Array.newから combi = Array.newに変更した。 そして、元のプログラムを変更して 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",p+1) printf("新庄駅から %s %s に到着!!!! 特徴 %s \n", combi[0],combi[1],combi[2]) と設定した。 プログラムを実行した結果画面(一個目のプログラム) プログラムの結果 irsv{c106054}% ./form_a.rb [~/Ruby] 新庄駅から近くて人気があるスーパーを探します: 近い順は 1 新庄駅から 歩いて2分 びっぐり市 に到着!!!! 特徴は お肉が安すぎて不安になります 近い順は 2 新庄駅から 歩いて10分 ヨークベニマル に到着!!!! 特徴は 結構広くて品揃えが豊富すぎ 近い順は 3 新庄駅から 歩いて12分 マックスバリュ に到着!!!! 特徴は 周りにたくさんの店があり ヨークベニマルのライバル店 近い順は 4 新庄駅から 歩いて20分 ヤマザワ に到着!!!! 特徴は サンコー牛乳がとても安い、そしておいしい どれもお薦めなスーパーですよ プログラムを実行した結果画面(二個目のプログラム) irsv{c106054}% ./form_b.rb word.dat [~/Ruby] 新庄駅から近くて人気があるスーパーを探します: 近い順 1 新庄駅から 歩いて2分 びっぐり市 に到着!!!! 特徴 お肉が安すぎて不安になります 近い順 2 新庄駅から 歩いて10分 ヨークベニマル に到着!!!! 特徴 結構広くて品揃えが豊富すぎ 近い順 3 新庄駅から 歩いて12分 マックスバリュ に到着!!!! 特徴 周りにたくさんの店がありヨークベニマルのライバル店 近い順 4 新庄駅から 歩いて20分 ヤマザワ に到着!!!! 特徴 サンコー牛乳がとても安い、そしておいしい どれもお薦めなスーパーですよ 導きだされた結果の考察 自分の予想通りに結果が表示されたので良かった。 参考UPL http://roy/~madoka/2007/r1/05/05-12-form2.html http://roy/~madoka/2007/r1/05/05-13-form3.html 3.感想 今回は前回のミスに気を付けながら、プログラムを書けた。 前回より自分にプログラムを理解できる力がついてきたのを 感じられたので良かった。これからも頑張りたい。 ----Next_Part(Thu_May_17_18_41_02_2007_832)-- 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 p = 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",p+1) printf("新庄駅から %s %s に到着!!!! 特徴 %s \n", combi[0],combi[1],combi[2]) p += 1 end print("どれもお薦めなスーパーですよ\n") ----Next_Part(Thu_May_17_18_41_02_2007_832)-- Content-Type: Text/Plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="form_a.rb" #!/usr/koeki/bin/ruby place = Array.new p = 0 place[0] = ["歩いて2分","びっぐり市","お肉が安すぎて不安になります"] place[1] = ["歩いて10分","ヨークベニマル","結構広くて品揃えが豊富すぎ"] place[2] = ["歩いて12分","マックスバリュ","周りにたくさんの店があり ヨークベニマルのライバル店"] place[3] = ["歩いて20分","ヤマザワ","サンコー牛乳がとても安い、そしておいしい"] print("新庄駅から近くて人気があるスーパーを探します:\n") while p < 4 printf("近い順 %d \n",p+1) printf("新庄駅から %s %s に到着!!!! 特徴は %s \n", place[p][0],place[p][1],place[p][2]) p += 1 end print("どれもお薦めなスーパーですよ\n") ----Next_Part(Thu_May_17_18_41_02_2007_832)-- Content-Type: Application/Ms-Tnef Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="word.dat" yuKkpKTGMsqsICAgIKTTpMOksKTqu9QgICAgICAgpKrG+aSssMKkuaSupMbJ1LDCpMukyqTqpN6k uQrK4qSkpMYxMMqsICAgpeihvKWvpdmly6XepesgICC367m9ua2kr6TGycrCt6SopKzLrcnZpLmk rgrK4qSkpMYxMsqsICAgpd6lw6Wvpbml0KXqpeUgICC8/qTqpMukv6SvpLWk86TOxbmkrKSipOql 6KG8pa+l2aXLpd6l66TOpemlpKXQpevFuQrK4qSkpMYyMMqsICAgpeSl3qW2pe8gICAgICAgICCl taXzpbOhvLXtxv2krKTIpMak4rDCpKShoqS9pLekxqSqpKSkt6SkCg== ----Next_Part(Thu_May_17_18_41_02_2007_832)----