情報科学概論 Aクラス 宿題 2003.7.15 解答例
■と□で16×16ドットの絵を描くスクリプトに関して,ランダムに表示する場合
に次々と■で上描きすることを行う.全てが■になると終了する.途中の結果を
何回目かの表示とともに出力し,最後に何回の描画で全て■になったかも表示す
るスクリプトを作成する.出力結果の最後はは図1のようになるものとする.
図1 結果表示の最後の部分.もちろん,回数はランダムに変化する.
$ ruby Ruby-taskA-7-15-s0340**.rb > result.txt
$ less result.txt
もしくは,
$ ruby Ruby-taskA-7-15-s0340**.rb | less
bw = ["■", "□"] var_stop = 0 var_loop = 1 image = [[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]] print "【1回目】\n\n" for y in 0..15 for x in 0..15 image[x][y] = bw[rand(2)] print image[x][y] end print "\n" end print "\n" while var_stop <= 255 printf "【%s回目】\n\n", var_loop + 1 for y in 0..15 for x in 0..15 square = rand(2) image[x][y] = bw[square] if square == 0 print image[x][y] end print "\n" end print "\n" var_stop = 0 for y in 0..15 for x in 0..15 if image[x][y] == "■" var_stop += 1 end end end var_loop += 1 end printf "%d 回目で全部 \"■\" になりました\n", var_loop |
図1 結果表示の最後の部分.もちろん,回数はランダムに変化する.
$ ruby Ruby-taskA-7-15-s0340**.rb > result.txt
$ less result.txt
もしくは,
$ ruby Ruby-taskA-7-15-s0340**.rb | less
bw = ["■", "□"] var_stop = 0 var_loop = 1 image = [[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]] print "【1回目】\n\n" for y in 0..15 for x in 0..15 image[x][y] = bw[rand(2)] print image[x][y] end print "\n" end print "\n" while var_stop <= 255 printf "【%s回目】\n\n", var_loop + 1 for y in 0..15 for x in 0..15 square = rand(2) image[x][y] = bw[square] if square == 1 print image[x][y] end print "\n" end print "\n" var_stop = 0 for y in 0..15 for x in 0..15 if image[x][y] == "□" var_stop += 1 end end end var_loop += 1 end printf "%d 回目で全部 \"□\" になりました\n", var_loop |
Back |