今週の課題の講評

ARGV 配列の意味を忘れている学生が多かった。

./プログラム.rb 入力文字1 入力文字2 入力文字3

配列の成分の入り方を考察のときに考えていれば、 結果で分かった入力文字の空白の有無に関する動作がなぜ、 そうなったのか説明がついたはずである。プログラム自体は、

i = 0
while i < ARGV.length
    printf("%s")
    i+= 1
end
print("\n")

のようなものでよい。 実は printf(%s,ARGV) だけでもできる。 しかしながら、前回までに、 考察において、空白の区切りをどのように理解したか、 説明しなければならないと分かっているはずである。 これを説明するためには、 ARGV.length などを使って、 1 文字をくっつける作業をプログラムにふくめなくてはならないはずである。

また、method を 2 つ使うプログラムでは、設定した数値を全く計算せず、 なぜそうなるか計算を追わない学生しかいなかった。 今回は場合分けまでした学生を最高得点としたが、 昨年までは数値の計算を追いかける学生がいた。 ものごとには理由がある。 キャラクタが思うとおりに変身するためには数値をどのように計算させるのか、 今いちど考える必要がある。

upto method を使った例は学生のプログラムにはないので、 upto を使ったものを公開しておく。

本日の講義目次 / 基礎プログラミング I / 2007 年度

Madoka Nishimura <madoka@e.koeki-u.ac.jp>