プログラミングでよく使う考え方「条件判断」。プログラミングだけでなく、毎日の生活でも使っている考え方です。
ここでは、条件判断とは何か、また、MakeCodeにおける条件判断を使ったプログラムの作り方を紹介します。
目次
条件判断とは
「もし~なら」と条件を指定して、条件を満たす場合/満たさない場合で動作を分けるプログラムのことを、条件判断(じょうけんはんだん)といいます。
生活の中で例えると「もし晴れていたら、公園にいこう。晴れていなければ、家にいよう」と考えることがあると思いますが、これが条件判断です。
プログラミングでは、条件を満たすことを「真(しん)」、満たさないことを「偽(ぎ)」と表現します。「真」は「はい(YES)正しい」といった意味で、「偽」は「いいえ(NO)/間違い」という意味です。
条件判断ブロック
「もし~なら△△。でなければ◇◇」というプログラムを作るとき、MakeCodeではツールボックス「論理」の中にある条件判断のブロックを使います。
ブロックの「真」の部分に「条件」となるブロックを入れ、凹みに「真(YES)」のときや「偽(NO)」のときに実行する命令をいれます。
条件は、増やしたり減らしたりすることができます。「条件」が複数ある場合、上から順番に1つずつ判断されます。
増やすとき
減らすとき
条件ブロック
六角形のブロックが条件ブロックになります。ツールボックスには、さまざまな条件ブロックが用意されています。
入力
ボタンスイッチ、加速度センサー、タッチセンサーといった入力機能を利用した条件です。
たとえば「ボタンAが押されている場合、LEDにマークを表示する」プログラムを作る場合は「ボタンAが押されている」ブロックを使います。
論理 → くらべる
数値(数の大きさ)や文字列をくらべる場合に利用する条件です。
数値をくらべる場合には上2つのブロックを、文字列をくらべる場合には3番目のブロックを使います。
たとえば「明るさの値が10より小さい場合、LEDにアイコンを表示する」プログラムを作る場合は「0 < 0」ブロックを使います。
論理 → 真偽値
複数の条件を「同時に」判断したい場合に利用するブロックです。
たとえば「明るさの値が10より大きく、200より小さい場合、LEDにアイコンを表示する」プログラムを作る場合は「かつ」ブロックを使います。
「条件の否定」を条件にしたい場合に利用するブロックです。
たとえば「ボタンAが押されていない」を条件にしたい場合に「ではない」ブロック左側に「ボタンAが押されている」ブロックを入れます。
「真であること」「偽であること」を意味するブロックです。
下2つのプログラムはどちらも「ボタンAが押されているなら」という条件になっています。
作品をつくりながら「条件判断」のプログラムになれてきましょう。使いこなせるようになったら、作れる作品の幅がぐっと広がります!