マイクロビットのブロックエディタには、プログラムの流れを条件によって変えるためのブロックが用意されています。
これらを「制御文」といいます(おとな向けのプログラムもイメージしやすいように、あえてむずかしい言葉も書いておきます)。
今回は、「制御文」を使ってみようと思います。
ループ
ツールボックスに「ループ」というグループがあり、中にはいくつかのブロックがあります。
これらは、同じような処理を何回も繰り返すときに使います。
ループのブロックの間に、繰り返したい処理をはさんで使います。
「くりかえし(?)回」、「変数(?)を 0〜(?)に変えてくりかえす」
繰り返し回数を指定して、処理を行うときに使います。
処理の中で、回数の情報を利用する場合は「変数(?)を 0〜(?)に変えてくりかえす」、利用しない場合は「くりかえし(?)回」を使います。
以下のプログラムでは、ボタン「A」を押したときには、ハートマークが5回表示されます(処理の中で、回数情報を利用しないので「くりかえし(?)回」を使用)。
また、ボタン「B」を押したときには、0〜4の数字が順番に表示されます(処理の中で、回数情報を利用するので「変数(?)を 0〜(?)に変えてくりかえす」を使用)。
おとな向けのプログラムでは、for文(フォーぶん)といいます。
おとな向けのプログラムでは、以下のような感じで書きます(プログラミング言語によって、文法は違います)。
### くりかえし(?)回 for (let i = 0; i < 5; i++) { basic.showIcon(IconNames.Heart) basic.pause(300) basic.clearScreen() basic.pause(300) }
### 変数(?)を 0〜(?)に変えてくりかえす for (let i = 0; i < 5; i++) { basic.showNumber(i) basic.pause(300) basic.clearScreen() basic.pause(300) }
「もし(?)ならくりかえし」
条件を満たしている間、処理を繰り返すときに使います。
以下のプログラムでは、1個のLEDを点灯させる処理を5回繰り返しているので、合計5個のLEDが点灯します。
おとな向けのプログラムでは、while文(ホワイルぶん)といいます。
おとな向けのプログラムでは、以下のような感じで書きます(プログラミング言語によって、文法は違います)。
let i = 0 while (i < 5) { led.plot(i, i) i++ }
論理
ツールボックスに「論理」というグループがあり、中には「条件判断」、「くらべる」、「真偽値」とグループ分けされたいくつかのブロックがあります。
「条件判断」は、条件に一致したら処理を行うときに使います。条件は「くらべる」、「真偽値」を使って指定します。
「もし(?)なら」
条件に一致したら処理を行うときに使います。
下にある「+」ボタンをおすと、下に「でなければ」というのが追加されます。
この場合は、条件に一致したら上の処理を、一致しなかったら下の処理を行います。
さらに「+」ボタンをおすと、まん中に「でなければもし(?)なら」というのが追加されます。
この場合は、ひとつめの条件に一致したら上の処理を、ひとつめに一致せず、ふたつめの条件に一致したらまん中の処理を、両方とも一致しなかったら下の処理を行います。
このように、条件をどんどんふやしていくことができます。
以下のプログラムでは、
- scoreが80以上:「A」を表示
- scoreが80未満で50以上:「B」を表示
- scoreが50未満:「C」を表示
しています。
おとな向けのプログラムでは、if文(イフぶん)といいます。
おとな向けのプログラムでは、以下のような感じで書きます(プログラミング言語によって、文法は違います)。
let score = 75 if (score >= 80) { basic.showString("A") } else if (score >= 50) { basic.showString("B") } else { basic.showString("C") }