第7回 基礎プログラミング I レポート課題 氏名:遠藤達也 学籍番号:c1090271 語学クラス:中国語I コース(系):政策マネージメント 1、A 0b 11110110 最初に10進数にする 0b11110110=(0*2^0)+(1*2^1)+(1*2^2)+(0*2^3)+(1*2^4)+(1*2^5)+(1*2^6)+(1*2^7) = 0+2+4+16+32+64+128 = 246 続いて16進数にする 246/16 = 15余り6 15/16 = 0余り15 15は16進法で f となる。 よって、0b11110110 = 0xf6 B 0d256 16進数で解く。 256/16 = 16余り0 16/16 = 1余り0 1/16 = 0余り1 よって答えは、0d256 = 0x100 2、プログラム問題 A #!/usr/koeki/bin/ruby taip = Array.new uriage = Array.new i = 0 total = 0 open("battery.dat","r") do |denti| while biribiri = denti.gets if /(\S+)\s+(\d+)/ =~ biribiri # print biribiri taip[i] = $1 uriage[i] = $2.to_i if taip[i] == 'A' a = 400 * uriage[i] elsif taip[i] == 'B' a = 300 * uriage[i] elsif taip[i] == 'C' a = 50 *uriage[i] end total += a i += 1 end end end k = 0 print("売上げの数\n") while k < taip.length printf("%-10s\t%d\n", taip[k], uriage[k]) k += 1 end nedan = total / 6 printf("客の単価 %2.1f 円\n",nedan) printf("本日のトータル売上げ %d円\n",total) (実行結果) pan{c109027}% ./open_battery.rb [~/Ruby] 売上げの数 A 3 B 2 A 1 B 3 C 2 C 1 客の単価 541.0 円 本日のトータル売上げ 3250円 (考察) pan{c109027}% bc -l [~/Ruby] 400*4 1600 300*5 1500 50*3 150 1600+1500+150 3250 3250/6 541.66666666666666666666 確かめ算よりプログラムが正しいことが分かる。 (感想) 今回のプログラミングは前回休んでしまっていたので基礎的なところが最初は分 からなくて苦戦しましたが、西村先生のサイトを1から見ながらやってなんとか 少しわかるようになれました。 <協力者> 永井絹人 木内雄 酒井信市郎 <参考文献> 基礎プログラミング I 第7回 正規表現と Ruby 言語でのプログラミング 「データ取り出しプログラム」 http://roy/~madoka/2010/r1/07/07_02_theme_01_egrep.html 基礎プログラミング I 第7回 正規表現と Ruby 言語でのプログラミング 「日本 語のデータを検索するには」 http://roy/~madoka/2010/r1/07/07_03_theme_02_japanese.html