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

Subject: #03 mul.rb
To: ruby-1-03@e.koeki-u.ac.jp
Date: Fri, 22 Apr 2016 15:20:28 +0900 (JST)
X-Mailer: Mew version 6.3 on Emacs 23.3 / Mule 6.0 (HANACHIRUSATO)


氏名:       beutiful summer
学籍番号:   c1150702
クラス:     EAP6


1.作成したプログラム


 #!/usr/koeki/bin/ruby
 # -*- coding: utf-8 -*-

 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.プログラムの実行結果


 sime{c115070}% ./mul.rb                                                [~/Ruby]
 掛けたい数(終了は q): 2
 これまでの合計は 2 です
 掛けたい数(終了は q): 2
 これまでの合計は 4 です
 掛けたい数(終了は q): 2
 これまでの合計は 8 です
 掛けたい数(終了は q): 2
 これまでの合計は 16 です
 掛けたい数(終了は q): 2
 これまでの合計は 32 です
 掛けたい数(終了は q): 2
 これまでの合計は 64 です
 掛けたい数(終了は q): 2
 これまでの合計は 128 です
 掛けたい数(終了は q): 2
 これまでの合計は 256 です
 掛けたい数(終了は q): q
 合計は 256 です


3.プログラムの各部の説明

(1)基礎の数字となる3行目の[sum = 0]を[sum = 1]に変更する。これによりな
   にを掛けても「1×~」から始められる。


(2)4行目の[while true]でプログラムの条件がすべて成立するようにする。


(3)5行目の「"足したい数(終了はq):"」を「"掛けたい数(終了はq):"」と変更す
   る。これによりプログラムを始めるとkterm上に「掛けたい数(終了はq)」と
   出る。


(4)6行目の[if line == "q" then]で条件がqになるまで続くことを7行目の
   [break]でqになった時条件を終了することを表す。


(5)11行目の[sum += line.to_i]の[+=]を[*=]と変更するこれにより足し算から
   かけ算に変更され、前の合計に足されて行くことになる。

(6)13行目の[end]で条件の一つが終わる。14行目はプログラムにqを入力して終
   わる時、プログラムに最終合計を表示する。

4.感想

 
今回はプログラム作成より、プログラムの制御構造や演算の種類が多く頭が混乱
しそうでした。これはプログラムに何の意味になるのかを説明がとても難しかっ
たです。一から覚えるのはとても大変ですね...。次もがんばります!

本日の目次