〜まわる回数を1ずつふやしてみよう〜
前回はeachを使って回転する秒数を変えました。今回は1回転、2回転、3回転というように、まわる回数を1ずつふやすやり方をみてみましょう。数を1ずつふやすには、どうしたらよいでしょう。
エディタに次のプログラムを入れて「動かす」ボタンを押してみてください。
num = 0 puts num num = num + 1 puts num
0
1
プログラムのせつめい
1行目
numという名前のついた箱に0を入れる
2行目
numに入っている値(あたい)を表示しなさい
3行目
numに入っている値に1を足して、numに入れなおしなさい
4行目
numに入っている値を表示しなさい
2行目と4行目はどちらも「puts num」ですが、出力される数は違います。2行目の命令で表示されるのは0ですが、3行目で1を加えているため4行目の命令で表示されるのは1です。このように、同じ箱に別の値を入れなおすことで、箱の中身(なかみ)は変わっていきます。
では、1から5までの連続(れんぞく)した整数を表示するにはどうしたらよいでしょう。
そう、くり返しの命令 x.times doを使えばできますね。
num = 0 5.times do num = num + 1 puts num end
1
2
3
4
5
チャレンジ
次のプログラムでも上と同じ結果が得られることを確認しよう。
5.times do |n| puts n + 1 end
このプログラムでは、nに0、1、2、3、4を順番に入れなおしながら、くり返しが行われます。
ロボットで動きを確認しよう
数を1ずつふやして行くやり方を使って、ロボットのまわる回数を変えてみよう。
require "mi100" robo = Mi100.new "COM3" num = 0 5.times do num = num + 1 num.times do robo.spin "right",500 end sleep 1 end robo.close
プログラムのせつめい
1行目~3行目
ロボットを無線で動かせるようにするための、いつものステップですね。
5行目
numという名前のついた箱に0を入れなさい
7行目
do(7行目)とend(13行目)の間にある命令を5回くり返しなさい
8行目
numに入っている値に1を足して、numに入れなおしなさい
9行目~11行目
numに入っている数だけ、ロボットを右回転させなさい
12行目
1秒、休みなさい
8行目から12行目が5回くり返され、そのたびに回る回数が1ずつふえていきます。
おわり