第4回 基礎プログラミング II レポート課題 氏名:木内雄 学籍番号:c1090561 語学クラス:中国語 コース(系):政策 1. 筆記問題 A. お化け屋敷とかけて、腐った卵と解く その心は? きみが悪い B. ヘビースモカーの鈴木君は値上がりする前に買い貯めしようとしています。 マルボロは320円、セブンスターは300円です。 マルボロの個数を x 、セブンスターの個数を y とする。 式は 320 * x + 300 * yとなる。 例1:マルボロを1箱、セブンスターを3箱買う 320 * 1 + 300 * 3 = 1220 確かめ算 pan{c109056}% bc -l [~] 320*1+300*3 1220 例2:マルボロを4箱、セブンスターを5箱買う 320 * 4 + 300 * 5 = 2780 確かめ算 pan{c109056}% bc -l [~] 320*4+300*5 2780 タバコを吸うためにはライターと灰皿が必要です。 そのため鈴木はライターと灰皿を買うことにしました。 ライターは1個100円、灰皿は1個500円 例1:ライター4個、灰皿2個 100 * 4 + 500 * 2 = 1400 確かめ算 pan{c109056}% bc -l [~] 100*4+500*2 1400 例2:ライター2個、灰皿3個 100 * 2 + 500 * 3 = 1700 確かめ算 pan{c109056}% bc -l [~] 100*2+500*3 1700 2.プログラム問題 A.タバコの合計金額をだすプログラム #!/usr/koeki/bin/ruby def maru(x) 320 * x # マルボロの値段 * 個数 end def seven(y) 300 * y # セブンスターの値段 * 個数 end STDERR.print("購入する個数を入力して下さい。\n") STDERR.print("マルボロ (1箱320円): ") a = gets.chomp.to_i # to_i で整数表示にする STDERR.print("セブンスター(1箱300円): ") b = gets.chomp.to_i STDERR.printf("\nマルボロの合計金額: %d 円\n",maru(a)) STDERR.printf("セブンスターの合計金額: %d 円\n",seven(b)) printf("\n全ての合計金額は %d 円です。\n",maru(a)+seven(b)) 実行結果 pan{c109056}% ./def_twoparam.rb [~/Ruby] 購入する個数を入力して下さい。 マルボロ (1箱320円): 4 セブンスター(1箱300円): 4 マルボロの合計金額: 1280 円 セブンスターの合計金額: 1200 円 全ての合計金額は 2480 円です。 確かめ算 pan{c109056}% bc -l [~/Ruby] 320*4 1280 pan{c109056}% bc -l [~/Ruby] 300*4 1200 pan{c109056}% bc -l [~/Ruby] 320*4+300*4 2480 考察 上記より計算があっているのでこのプログラムは正しいといえる。 3.感想 今回は公翔祭の準備がありプログラム問題のAしか解くことができなかった。 計算式は高校や中学で学んだことと一緒だった。去年情報の授業で表計算からグ ラフを作った。仕組みはだいたい一緒だと思う。 参考文献 第4回 繰り返しは引っ張りだそう http://roy/~madoka/2010/r2/04/