第9回 Ruby であそぼ / 広告ページの作成 レポート課題 氏名:大野敬司 学籍番号:c1110358 語学クラス:5 コース:政策 1.A a.0x32 + 0x24 = 0x56 b.0x15 + 0x2d 筆算を行なう.ただし,16進数の計算なので16で繰り上がることに気をつけて行な う. 1 5 + 2 d ------------ 4 2 一桁目 dは13なので 5 + 13 = 18 16で繰り上がるので1繰り上げて一桁目は 2 二桁目は繰り上がった 1 + 1 + 2 で 答えは4 よって 0x15 + 0x2d = 0x 42 c.0xed - 0x12 上と同じく筆算を行なう e d - 1 2 ------------ d b 一桁目 dは13 13 − 2 = 11(b) 二桁目 eは14 14 − 1 = 13(d) よって 0xed - 0x12 = oxdb 参考文献 http://www.geocities.jp/hideohara777/hard/keisan.html 2進数と16進数の計算 大原英郁 B 7の倍数に余りの2を足した数が答えであるから以下の計算をする. 7 * 1 = 7 + 2 = 9 7 * 2 = 14 + 2 = 16 7 * 3 = 21 + 2 = 23 7 * 4 = 28 + 2 = 30 1から31までの数であるから答えは 9,16,23,30 2 A.i 地名を入力すると、温泉施設の名前と料金が表示されるプログラム ii. #!/usr/koeki/bin/ruby #coding: euc-jp print(`banner "O N S E N"`) #バナーを使って大きい字で温泉と出す。 STDERR.print("市町村名を入力して下さい。qで終了\n") STDERR.print("検索: ") #検索したい文字を入力させる。 city = STDIN.gets.chomp #データ処理の方法をキーボードより入力さ せる。 req = Regexp.new(city, true) #正規表現したい文字列にオプションをつける。 open("onsen.dat","r") do |seek| #onsen.datからデータをもってこさせる。 while onsen = seek.gets if req =~ onsen if /(\S+)\s+(\S+)\s+(\S+)\s+(\d+)/ =~ onsen printf("%s には %sがあり、入浴料金は%d円です。\n",$1,$3,$4) end end end end 山形市 Yamagata-shi 臥龍温泉保養センター 350 寒河江市 Sagae-shi 寒河江花咲か温泉ゆ~チェリー 300 上山市 Kaminoyama-shi ふぢ金旅舘 400 村山市 Murayama-shi あいかも会館 400 天童市 Tendo-shi 荒谷原温泉 110 東根市 Higashine-shi たびやかた嵐湯 880 尾花沢市 Obanazawa-shi 銀山温泉しろがねの湯 500 山辺町 Yamanobe-machi 山辺温泉保養センター 300 中山町 Nakayama-machi ひまわり温泉ゆらら 300 河北町 Kahoku-machi べにばな温泉ひなの湯 250 西川町 Nishikawa-machi 水沢温泉館 300 朝日町 Asahi-machi りんご温泉 300 大江町 Oe-machi 奥おおえ柳川温泉 300 大石田町 Oishida-machi あったまりランド深堀 350 新庄市 Shinjo-shi 奥羽金沢温泉 400 金山町 Kaneyama-machi ホットハウス神室 300 最上町 Mogami-machi 最上ヘルス温泉 400 舟形町 Funagata-machi 舟形若あゆ温泉 350 真室川町 Mamurogawa-machi 梅里苑 350 大蔵村 Okura-mura カルデラ温泉館 350 鮭川村 Sakegawa-mura 加登屋旅館 300 戸沢村 Tozawa-mura いきいきランドぽんぽ館 350 米沢市 Yonezawa-shi 新高湯温泉吾妻屋旅館 500 南陽市 Nannyo-shi 上杉の御湯 御殿守 1050 長井市 Nagai-shi 長井あやめ温泉 桜湯 300 高畠町 Takahata-machi 高畠町太陽館 300 川西町 Kawanishi-machi 川西町浴浴センターまどか 300 小国町 Oguni-machi 飯豊山荘・天狗平ロッジ 500 白鷹町 Shirataka-machi パレス松風 500 飯豊町 Ide-machi いいで旅館 400 酒田市 Sakata-shi 悠々の杜 アイアイひらた 400 鶴岡市 Tsuruoka-shi かたくり温泉 ぼんぼ 400 三川町 Mikawa-machi いろり火の里 400 庄内町 Shonai-machi 余目温泉 350 遊佐町 Yuza-machi 鳥海温泉保養センターあぽん西浜 210 基にしたプログラムはregexp_stdin.rb 候補地を搾らずにそのまま出力できるようにした。 an{c111035}% ./iiyudana.rb [~/public_html/adv] ####### # # ##### ####### # # # # ## # # # # ## # # # # # # # # # # # # # # # # ##### ##### # # # # # # # # # # # # # # # # ## # # # # ## ####### # # ##### ####### # # 市町村名を入力して下さい。qで終了 検索: takahata 高畠町 には 高畠町太陽館があり、入浴料金は300円です。 データと見くらべてみて間違っていない。 次に複数の候補があるのを検索してみる。 pan{c111035}% ./iiyudana.rb [~/public_html/adv] ####### # # ##### ####### # # # # ## # # # # ## # # # # # # # # # # # # # # # # ##### ##### # # # # # # # # # # # # # # # # ## # # # # ## ####### # # ##### ####### # # 市町村名を入力して下さい。qで終了 検索: yama 山形市 には 臥龍温泉保養センターがあり、入浴料金は350円です。 上山市 には ふぢ金旅舘があり、入浴料金は400円です。 村山市 には あいかも会館があり、入浴料金は400円です。 山辺町 には 山辺温泉保養センターがあり、入浴料金は300円です。 中山町 には ひまわり温泉ゆららがあり、入浴料金は300円です。 金山町 には ホットハウス神室があり、入浴料金は300円です。 見くらべてきちんと全て出てきている。 次に漢字で検索 pan{c111035}% ./iiyudana.rb [~/public_html/adv] ####### # # ##### ####### # # # # ## # # # # ## # # # # # # # # # # # # # # # # ##### ##### # # # # # # # # # # # # # # # # ## # # # # ## ####### # # ##### ####### # # 市町村名を入力して下さい。qで終了 検索: 酒田 Sakata-shi には アイアイひらたがあり、入浴料金は400円です。 ちゃんと出てくる。 参考文献 http://roy/~madoka/2012/r1/07/ 基礎プログラミング I 第 7 回 「正規表現と Ruby 言語でのプログラミング」 西村まどか C http://roy/~c111035/adv/ 実用部門 3感想 いままで作ったプログラムはいいやつがなかったので新しくプログラムを作成し た。なかなかにめんどくさかった。が、データを増やせばいいプログラムになる と思うので作ってよかった。 データが少ないのが悪い点だと思う。 効能などや温泉施設のURLなどを加えればいい。まだまだ改善の余地がある。