第3回の課題 レポートのサンプル

氏名:      August
学籍番号:  c1101313
クラス:    C/英語7


1. 作成したプログラム
#!/usr/koeki/bin/ruby

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 でプログラムを終了させることが
   できるのも楽しかったです。
   今回学んだことを、今後の授業に活かしていけるようにしっかりと復習して
   次回からもしっかり授業に臨んでいきたいです。

本日の目次