第9回 基礎プログラミング I レポート課題 氏名:xxxxxxxx 学籍番号:c109xxx 語学クラス:英語3 コース(系):地域共創 1.筆記問題 A.0x13 + 0x24 = 0x?? 両方とも0x(16進数)なので、そのまま数字を足す。よって、 13 + 24 = 37 となり、答えは「0x37」となる。 B.0x23 + 0x1e = 0x?? まず始めに、16進数を10進数に直す。 「e」は10進数で表すと、「14」になる。 ◯16進数を10進数にする! 1の位から順に16の倍数を掛けていく。 0x23 … 2*16 + 3*1 = 0d35 0x1e … 1*16 + 14*1 = 0d30 0d35 + 0d30 = 0d65 ◯もう一度16進数に直す! 「0d65」を「16」で割っていき、答えが「0」になるまで行う。 そして、出てきた余りを最後から順に並べる。 65 / 16 = 4 … 1 4 / 16 = 0 … 4 ↑ よって、答えは「0x41」となる。 C.0xaa - 0x33 = 0x?? これも、16進数を10進数に直す。 「a」は10進数で表すと、「10」になる。 ◯やり方は、B問題と同じ! 0xaa … 10*16 + 10*1 = 170 0x33 … 3*16 + 3*1 = 51 0x170 - 0x51 = 0x119 119 / 16 = 7 … 7 7 / 16 = 0 … 7 ↑ よって、答えは「0x77」となる。 2.プログラム問題 A. 実用部門にエントリーします。 公開先 …「http://roy/~c109014/advertise/」 B. ○考えた設定 国名が漢字表記・英語表記でどの国か分からなくなった時に検索することで、 それぞれの翻訳結果を出すプログラム。 ○もとにしたプログラム 「std_regexp.rb」の検索部分。 「i = 0」を入れず、$1を使った。 作成したプログラム … 「kokumei.rb」-------------------------------------------- #!/usr/koeki/bin/ruby print("直したい国名を入力して下さい。\n") print("漢字、カタカナ、Englishのどれでも可能。\n") STDERR.print("国名: ") #文字を入力できるようにする pattern = STDIN.gets.chomp request = Regexp.new(pattern,true,"e") open("kokumei.dat", "r") do |kuni| #データを同時に実行 while kokumei = kuni.gets if request =~ kokumei if /(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/ =~ kokumei sleep 1 #1秒待つ print("\t \n") print("○結果○ \n") printf("国名: %s \n", $1) print("\t \n") printf("漢字表記: %s \n", $2) print("\t \n") printf("略称: %s \n", $3) print("\t \n") printf("英語表記(通称): %s \n", $4) print("\t \n") end end end end print("分かりましたか? \n") print("他に知りたいものがあったら、また使ってください!!\n") --------------------------------------------------------------------------------○実行結果 ・その1 pan{c109014}% ./kokumei.rb [~/public_html/advertise] 直したい国名を入力して下さい。 漢字、カタカナ、Englishのどれでも可能。 国名: 英 ○結果○ 国名: イギリス 漢字表記: 英吉利 略称: 英 English(通称): UK 分かりましたか? 他に知りたいものがあったら、また使ってください!! ・その2 pan{c109014}% ./kokumei.rb [~/public_html/advertise] 直したい国名を入力して下さい。 漢字、カタカナ、Englishのどれでも可能。 国名: アメリカ ○結果○ 国名: アメリカ合州国 漢字表記: 亜米利加、米国 略称: 米 English(通称): USA 分かりましたか? 他に知りたいものがあったら、また使ってください!! ・その3 pan{c109014}% ./kokumei.rb [~/public_html/advertise] 直したい国名を入力して下さい。 漢字、カタカナ、Englishのどれでも可能。 国名: NewZealand ○結果○ 国名: ニュージーランド 漢字表記: 新西蘭 略称: 新 English(通称): NewZealand 分かりましたか? 他に知りたいものがあったら、また使ってください!! ○考察 今さらかもしれないが、データ内で「New Zealand」と入力してしまうと、 実行結果には「New」としか表示されなかった。 データ内の文字と文字は離していけないので、「NewZealand」と修正した 結果、上記のように正常に作動した。 3.感想 自分でぺージを作ることができて、作業をしながらも楽しめました。色々なタグ を使ってみようと思ったけれど、見やすいページにする方法を考えた結果、シン プルなページになりました。プログラムやhtmlのぺーじを作るとき、初めて訪れ た人はこのページどんな風に思うかを考えながらやれたので良かったです。 今回の作業は随分とのんびりやっていたので、次回は少し気合をいれて臨みたい と思いました。 4. ○共同学習者 ・藤井 駿 ・布川 大地 ・佐藤 裕康 ○参考文献 ・国名漢字大図鑑 http://ca10.nam9263b.com/ ・Rubyプログラミング基礎講座 著:広瀬雄二