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