第3回の課題 レポートのサンプル
氏名: August
学籍番号: c1101313
クラス: C/英語7
1. 作成したプログラム
#!/usr/koeki/bin/ruby
# coding: euc-jp
sum = 1
while true
STDERR.print "掛けたい数(終了は q): "
line = gets.chomp
if line == "q" then
break
end
sum *= line.to_i
printf("これまでの合計は %d です\n", sum)
end
printf("合計は %d です\n", sum)
2. プログラムの実行結果
掛けたい数(終了は q): 1
これまでの合計は 1 です
掛けたい数(終了は q): 2
これまでの合計は 2 です
掛けたい数(終了は q): 3
これまでの合計は 6 です
掛けたい数(終了は q): 4
これまでの合計は 24 です
掛けたい数(終了は q): 5
これまでの合計は 120 です
掛けたい数(終了は q): 6
これまでの合計は 720 です
掛けたい数(終了は q): 7
これまでの合計は 5040 です
掛けたい数(終了は q): 8
これまでの合計は 40320 です
掛けたい数(終了は q): 9
これまでの合計は 362880 です
掛けたい数(終了は q): 10
これまでの合計は 3628800 です
掛けたい数(終了は q): q
合計は 3628800 です
3. プログラムの各部の説明
sum は値をしまうための場所の名前「変数」である。
sum = 0 だと、掛ける数が全部0と掛け合わされ、答えが0と変わらないので、
●sum は sum = 1とする。
while から最後の end までが、プログラムを延々に繰り返すという意味。
while は「真のときに繰り返せ」という意味で、これに true がつくと、
end までを延々に繰り返せという指示になる。
このプログラムの中では、
1 プログラムを延々と繰り返す
2 qを入力したら break でやめる
3 qを入れて break で終了するとき以外はどんどん
プログラムを繰り返していく
という、大きく3つの内容にわけることができる。
1 STDERR.print "掛けたい数(終了はq): "は、 "掛けたい数"の中に
入れたい数を直接入力させ、表示をしてくれる。
キーボードからデータを読み込んでくれるのは、gets の部分で
line = gets.chompの line はその行である。
2 そして、 if line == "q" then の部分は、「入力する行(line)に
"q" を入れたとき」に、break(繰り返すのをやめる) = 「掛けるのをや
める」 という指示のもと、そこでプログラムが終了される。
== は イコールの意味である。
3 sum *= line.to_i は、「lineのところに qが入力され、breakで
やめるとき以外は、 sum = 1 のところにどんどんかけていけ」という
意味。
to_i は「小数点がない」という意味である。
そして掛けられていく数は、printf("合計は %d です\n",sum)で
表示され、%d の部分は、掛けた合計になって表示される。
"合計は %d です\n" と sum は対応する形となっている。
以上より、 sum = 1 で "掛けたい数: " のところに q を
入力し、 break で掛けるのをやめさせるとき以外は、延々と
数が掛け合わされていくプログラムが実行される。
4. 感想
今回のプログラムは、数字を入力していけば足したり、掛けたり
していけることができ、作っていて楽しかったです。
また、ある文字を入力すると、break でプログラムを終了させることが
できるのも楽しかったです。
今回学んだことを、今後の授業に活かしていけるようにしっかりと復習して
次回からもしっかり授業に臨んでいきたいです。
本日の目次へ