【EV3 Classroom入門】6-6 その他(break,continue等)
みなさん、こんにちは。さいたま市のプログラミング教室「ツクリウム」です。
こちらはEV3 Classroomの入門記事になります(後継のSPIKEプライムやスクラッチにも役立つかと思いますので参考にしてみてください)。さて、今回のプログラムはbreak文、continue文に該当する処理の解説です。
メモ:break,continueに相当する処理は?
EV3 Classroomにはbreak文やcontinue文に相当するブロックはありません。そのため「もし」ブロックなど条件分岐や「メッセージを送って待つ」、「このスタックを停止」などを用いて実現します。
例:break文に相当する処理
例:continue文に相当する処理
例:break文やcontinue文に相当する処理2
その他 追記(A-L13を例に)
メモ:どうもここで言う「スタック」とは、このハットブロック以下のかたまり(視覚的に区切られたブロックのひとかたまり)のようです。そのためこのtouch1の処理をいったん抜けて、メインループに戻り、再びメッセージを送ることで割り込み処理を行っている。
メインルーチン(割り込み処理のためループ中でtouch1やtouch2を送っている。なおif-elseで処理を分けてしまえばこうした処理は不要でメッセージを送り、送り先でループさせればよいのでこの例のように二重ループ化しなくてもよい。)
touch1やtouch2ではタッチセンサーが押されたか否かでモーターを順逆に回転させている。ただしボタンを押していない時にずっと動き続けると困るので開始位置まで戻るように処理を分けている。また途中でタッチセンサーが押されたときには「このスタックを停止」でtouch1を受け取った時のハットブロックのグループ(つまりスタック!)を停止して、メインループに戻り、そこで再びメッセージを送り、処理を再開している。
touch2
ただ、この例では「このスタックを停止」のために使ったが、上記のスタックを停止は冗長で処理としてはわかりにくくなるので、モーターが開始位置か否かでモーターを戻すか停止するかのほうがわかりやすい。動作はtouch1と同じと思われるが、比較のために処理を変えてある。
カウント増加処理
単純化したものは以下の通り。ループ内に条件分岐を並べる形となる。
ループ停止の例(ストップウォッチのプログラム)
ループ条件を指定しておくとその変数の変化でループ停止しやすい
入会、または、体験会のお申込み
プログラミング教室「ツクリウム」ではスクラッチやPythonなどを学ぶ、小学生、中学生、高校生、主婦層やシニアなどの初心者向けの講座を通学形式やオンライン形式で開講しています。
お問いあわせ・ご入会・体験会のお申込みは下記のリンクからお願いいたします。
画像をクリックするとお問い合わせページにジャンプします。