交互に2つの動作をしたい
2つの動作を交互にずっと行いたい場合、または何回か繰り返したい場合があります。
例えば、右足・左足を交互に出して歩かせたり、右や左を交互にむかせたいなど
救急車の音のピーポーなどもも2つの音を交互に繰り返します。
そんなプログラムを組む場合に便利な方法として、回数をカウントしカウントした回数を割ったあまりで判断する方法があります。
プログラム
このプログラムは、回数ろいう変数を作り、ずっとで繰り返される間にその数を1ずつ増やしています。
1つずつ増える変数[回数]は0→1→2→3→4….と増えていきます。
この回数を2で割った余り…これは結果的に1か0、つまり偶数か奇数か?という2つの状態を交互に作ります。
ですから、偶数であれば~をする、奇数であれば~をする というように処理を作れば、2つの動作を交互に行うことができます。
上のプログラムでは、偶数の場合LEDの赤を点灯させ、奇数の場合LEDの赤を消していますので、繰り返すごとに点灯・消灯と切り替わり、点滅動作になります。
応用プログラミング
LED部分を、偶数ならば右足を1歩、奇数ならば左足を1歩にすれば1歩ずつ足を前に出して歩きます。
偶数ならシの音を、奇数ならソの音を鳴らせば、救急車のピーポーを作ることができます。
この、割った余り という命令は、スクラッチだけではなく、BASICやC、JAVAなどすべてのプログラミング言語に用意されている命令です。
いろいろなシーンで使用できる命令ですので是非いろいろ実験をしてみましょう
同じ動作をBASICで作ると下記のようになります。
コメント