5月10日のレポートについて XXXXXX C105XXXX XXXXクラスX 1.掛け算するプログラムmultiple.rbについて a) 作成したプログラム #!/usr/koeki/bin/ruby sum=1 while true STDERR.print("いくらですか ? (止めたい場合は q を押す): ") item = gets.chomp! # 数値を入力させてitem変数に代入する if item == "q" # qを押したら計算が止まる then break # whileの反復計算から抜け出す end sum *= item.to_i printf(" 合計は %d 円です。\n", sum) end printf("お会計は %d 円になりました。\n", sum) b) プログラムの各行の説明 一行目は Rnbyのプログラムで始まっていくという意味。 二行目は sum変数を1とするという意味。 三行目は endまで計算を繰り返すという意味。 四行目は ユーザーに数値を入力させるという意味。 五行目は 数値を入力させてitem変数に代入するという意味。 六行目は qを押したら計算が止まるという意味。 七行目は whileの反復計算から抜け出すという意味。 八行目は ifでの場合分けが終わるという意味。 九行目は itemを整数にしたものをsumに乗算するという意味。 十行目は 計算した数値を表示させるという意味。 十一行目は whileに対応しているという意味。 十二行目は qを押すまで計算した合計の数値を表示させるという意味。 c) プログラムの実行結果 いくらですか ? (止めたい場合は q を押す): 1 合計は 1 円です。 いくらですか ? (止めたい場合は q を押す): 2 合計は 2 円です。 いくらですか ? (止めたい場合は q を押す): 3 合計は 6 円です。 いくらですか ? (止めたい場合は q を押す): 4 合計は 24 円です。 いくらですか ? (止めたい場合は q を押す): 5 合計は 120 円です。 いくらですか ? (止めたい場合は q を押す): q お会計は 120 円になりました。 考察:プログラムを作成して気付いた点 このプログラムの良いところは、正確に計算してくれること、数値を変え ればどんな計算でもしてくれるところだと思う。 プログラムの問題点は、計算するたびに同じ言葉が出てきて、計算した数 値が見づらくなっているところだと思う。 2. 感想 今回の講義で学んだことは、プログラムを良く分っていないことだ。レポー トを書いていて各文の説明を考えていたときに、何も分らずにただ書いていた のだと分りました。講義の中で、これはこういう働きをするものだというこ とを理解しながらプログラムを作成していければと思います。 復習で、ktermでコマンドを打っていたときに、ときどきチェンジモードを忘 れていました。大事なことなので忘れないようにしたいです。