第3回の課題 レポートのサンプル
Subject: #03 mul.rb
To: ruby-04-25@e.koeki-u.ac.jp
Date: Sun, 27 Apr 2014 15:27:30 +0900 (JST)
X-Mailer: Mew version 6.3 on Emacs 23.3 / Mule 6.0 (HANACHIRUSATO)
氏名: flatk
学籍番号: c113112a
クラス: 7
レポート
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.プログラム実行結果
掛けたい数(終了は q): 3
これまでの合計は 3 です
掛けたい数(終了は q): 8
これまでの合計は 24 です
掛けたい数(終了は q): 9
これまでの合計は 216 です
掛けたい数(終了は q): 333
これまでの合計は 71928 です
掛けたい数(終了は q): 98
これまでの合計は 7048944 です
掛けたい数(終了は q): 388
これまでの合計は 2734990272 です
掛けたい数(終了は q): q
合計は 2734990272 です
3.プログラムの各部の説明
プログラム各部を上のほうから順に説明する。
sum = 1
sumは、変数である。変数とは、値(数値や文字列)を入れる為の「箱」のような
役割をする。変数の名前は好きな名前で設定することが出来る。(ただし始めの
文字は英小文字でなければならない。また、使用できる文字は英数字かアンダー
スコア(_)のみである。) 「 = 1」は、sum変数に1を代入するという意味がある。代入は「=」で表す。
変数には、数値や文字列、配列など、どんな値も入れてよい。その場合、数値
はそのままで良いが、文字列はダブルクオート(" ")か、シングルクオート
(' ')で囲む。(例: x = 33, sum = "Good By")
while true
whileは、制御構造という。プログラムは通常、上から下に実行されるのだが、
その流れを変えることが出来るのが、制御構造である。また、制御構造には条
件式が必要で、条件式には真偽値を入力しなければならない。ここでの条件式
は、true の部分である。
ここでのwhileは、対応するendまでの内容を何度も繰り返し行う。(このことを
ループという。)
STDERR.print"掛けたい数(終了は"q")
STDERRとは、標準エラー出力のことで 「.print...("q")」の部分をプログラム
上で、エラーメッセージとして表示することができる。
line = gets.chomp
このプログラムは、キーボードから入力された値を読み込み、line変数に代入
することができる。
if line == "q" then
ifは、whileと同じ、制御構造の1つである。このifは、「もし〜された場合...」
のように、条件式に応じて、場合分けをしたいときに使用する。ここでは「も
し"q"が入力されたら」の意味である。
また「==」は、演算の記号の1つ(論理演算子)で、左辺と右辺が等しいという意
味がある。
break
breakは、プログラム中のループを中止し、終了させることができる。ここでは、
whileのループを中止させることができる。 breakが処理されるのは、"q"を入
力したときである。
end
ここでのendは、ifのプログラムを終了させるものである。
sum *= line.to_i
このプログラムは、lineで入力された値をsum変数に掛けるもので、これまで入
力した値の合計を示す。
ここでの「*=」は、代入演算というものである。(例:X *= 3の場合、Xが3倍にな
る)
printf("これまでの合計は %d です\n", sum)
printfは、( )の内容を表示するプログラムである。このprintfはメソッドとい
い、あらかじめ決められた処理を行う。また、( )の内容の部分を、引数という。
end
このendは、whileに対するものであり、while〜endまでの内容を中止しない限
り、ループする。
printf("合計は %d です\n", sum)
このプログラムは、プログラムを終了したあと、「合計は〜です。」を表示す
るための結果を示すものである。
上記にもあったが、「%d」というのは、これまでの数の合計を示している。プ
ログラム実行したときには「%d」は表示されない変わりに、合計値を表してい
る。
4.感想
プログラムを実行することは、まだ簡単であるが、プログラム各部を説明にする
のはとても難しく、疲れるものだった。実行したことを言葉にして分かりやすく
伝えるためにはこれからも訓練が必要だと感じた。
でも諦めず今後も頑張りたい。
本日の目次へ