1.4：条件文
Pre s e n t e d ｂ ｙ Ｈ Ｄ Ｌ

目次
Step１：はじめに

Step2：条件文とは？
Step3：if文（もし）Step4：if文のプログラム
Step5：Else文（そうでなければ）
Step6：Else文のプログラム

Step７：Else if文（そうでなくもし）
Step8：Else if文のプログラム

Step９：チャレンジ
Step10：レッスン完了

STEP 01
はじめにこれまでの手順を確認しましょうはじめにレッスンを始める前に、ドローンがBlocklyとペアリングされていることを確認してください。
ペアリングの方法がわからない場合は、「1.1:Blocklyによるペアリングとコーディング」のレッスンに戻って復習しましょう。

？

STEP 02
条件文とは？
実生活にも条件文はあふれています条件文とは条件文とは、その文が真か偽かによって、プログラムが判断を下す文のことです。
プログラミングにおける条件文には• If文(もし)• Else文(そうでなければ)• Else If文(そうでなくもし)があります。

条件文とは実生活の中でも、条件文を使って意思決定しています。
みなさんは日常のなかで、「もし～ならば～」といった if文を使っているのではないでしょうか。

「もし晴れていたら外で遊ぼう、そうでなければ家で本を読もう」

条件文とは「もし(If)晴れていたら外で遊ぼう、そうでなければ(Else)家で本を読もう」
条件：晴れているか
真 （正しい） の場合

偽 （まちがっている） の場合

外で遊ぶ

家で本を読む

Else文は、その文が偽の場合プログラムに別の処理をさせたい場合に便利です。

STEP 03
If文
条件文の基本If文

If文ブロックは薄紫色の論理メニューの中にあり、二つの部分から構成されています

条件
真だった場合に行う
内容

If文（もし）「もし」に条件をあてはめます。
このスペースに入れることのできる条件は真か偽かで判断できるものです。
例）• もし上ボタンが押された場合• もし値が偶数の場合• もし電池残量が２５％未満の場合

If文（実行）

次の部分は、実行の部分です。この部分に、条件を入れることになります。メニューから実行したい内容のブロックをドラッグ＆ドロップして接続します。

If文
If文をプログラムが読み込む流れをみてみましょう①外が雨①プログラムが条件をチェック②家で遊ぶ②条件が真なら家で遊ぶ③外で遊ぶ③条件が偽なら外で遊ぶ

STEP 04
If文のプログラム
Blocklyでif文を書いてみましょうIf文のプログラム

Blocklyで条件文を書くための知識はみなさん全てもっています
それでは、ドローンが離陸してから、「もし、５が１０より大きい場合は5秒間ホバリングする」というプログラムを作ってみましょう。

If文のプログラム
まず条件の部分を作りましょう。
「５が１０よりおおきい場合」

薄紫色の論理メニューの中の数式ボックスを使います。
このドロップダウンメニューから不等号を選択しましょう。

If文のプログラム
まず条件の部分を作りましょう。
「５が１０よりおおきい場合」

このブロックには、数字や変数（今後勉強します）を入れることができます。
今回は数学メニューの中にある数字ブロックを入れましょう。

If文のプログラム
まず条件の部分を作りましょう。
「５が１０よりおおきい場合」

これで条件の部分ができました。
これをif文ブロックのなかにあてはめましょう。左のようになるはずです。

If文のプログラム
実行内容のブロックをいれましょう。
実行したい内容のブロックを入れましょう。
今回の場合• 真の場合→5秒ホバリング• 偽の場合→着陸
これで完成です。

STEP 05
Else文（そうでなければ）偽であった場合にも何か実行させましょうElse文（そうでなければ）条件文のプログラムを作る際、条件が真であるときの実行内容の他に、偽であったときも別の実行内容を入力したいときがあります。

If文の場合Else文の場合

条件

条件

真の場合

命令
次のコード

偽の場合

真の場合

偽の場合

命令①

命令②

次のコード

Else文（そうでなければ）そんなときには、if文の一種であるElse文を使ってみましょう。If文ブロックの歯車をおすと、Else文（そうでなければ）ブロックがでてくるので、それをif文に接続しましょう。

偽の場合に実行するブロックを置く場所がふえましたね。

Else文（そうでなければ）

条件真の場合に実行する内容

偽の場合に実行する内容
偽の場合に実行するブロックを置く場所がふえましたね。

Else文（そうでなければ）
Else文を実行すると、以下のようになります。
①②③① プログラムは、ifの部分をチェックします。
② 条件が「真」なら、プログラムはif文の中のコードを実行し、それが終わるとif文の後のコードを実行します。
③ 条件が「偽」の場合、プログラムは else 文の中のコードを実行し、それが終わるとelse 文の後のコードを実行します。

STEP 06
Else文のプログラム偽であった場合の実行内容を考えましょう

Else文のプログラムそれでは実際にブロックを組んでみましょう。
「ドローンが離陸した後、πが３より大きい場合は前方にフリップ、３より小さい場合は後方にフリップし、着陸する」というプログラムを書いてみましょう。

Else文のプログラム

先ほどと同様に、まず条件の部分を作りましょう。
「πが3より大きい場合」
薄紫色の論理メニューの中の数式ボックスを使います。
このドロップダウンメニューから不等号を選択しましょう。

Else文のプログラム「πが3より大きい場合」
今回は数学メニューの中にある数字ブロックと、数学記号ブロックを使いましょう。

Else文のプログラム「πが3より大きい場合」

これで条件の部分ができました。
これをElse文ブロックのなかにあてはめましょう。左のようになるはずです。

Else文のプログラム
実行内容のブロックをいれましょう。
今回の場合偽の方（そうでなければ）にも実行内容のブロックが必要です。
• 真の場合→前方にフリップ• 偽の場合→後方にフリップ• 次の指示→着陸
これで完成です。
※フリップのブロックはフライトシーケンスのメニューにありますElse文のプログラム（TIPS)「円周率Πは３より大きい？」
今回のプログラムで、πが３より大きいか、ドローンがおしえてくれました。結果はどうでしたか？

「Πは３より大きい？」ｒｒｒ

補足の内容です！
それでは、半径の長さがｒの白い円とそれに内接する赤い正六角形を想像してみましょう。
円の長さと、正六角形の辺の長さは、円の方が長いですね！
一部分の辺の長さを比較すると違いがわかりやすいですね＜「Πは３より大きい？」

半径がｒの円の周囲の長さはｒ（半径）×２×π（円周率）＝２ｒπ
１辺がｒの正六角形の周囲の長さはr（一片）×６＝６ｒ
そして、円周の方が長いので２ｒπ＞６ｒとなります。
この両辺を２ｒで割るとΠ＞３ということですね。

STEP 07
Else If文（そうでなくもし）二つ以上の選択肢を持ちたいとき

Else If文（そうでなくもし）条件文を作るとき、２つ以上の選択肢を持ちたい時、 if文とElse文の間にElse If文を使うことができます。

Else文の場合

ElseIf文の場合
条件①

条件
真の場合

偽の場合

命令①

命令②

次のコード

偽の場合

条件②
偽の場合

次のコード

真の場合

真の場合

命令①

命令②

Else If文（そうでなくもし）Else if文を使うには、if文ブロックの歯車をクリックし、Else（そうでなくもし）のブロックを接続します。

偽の場合の後にさらに条件を追加することができます。

Else If文（そうでなくもし）

条件①真の場合に実行する内容
条件①が偽の場合に接続される条件②
条件②が真の場合に実行する内容

Else If文（そうでなくもし）

1.
2.
3.
4.

5.

else if文を実行すると、このようになります。
プログラムは、この文の「もし」の部分をチェックします。
条件が「真」であれば、if文の中のコードを実行し、それが終わると、プログラムはif文の後のコードを実行します。
条件が偽の場合、プログラムは、else if文に移ります。条件が「真」の場合、else if文の中のコードを実行し、それが終わるとelse if文の後のコードを実行します。
条件が「偽」の場合、プログラムは else 文の中のコードを実行し、それが終わると、else 文の後のコードを実行します。
プログラムには、else if文をいくつでも書くことができます。ただ、必ず最初にif文があることを忘れないでください。

STEP 08
Else If文のプログラム実際に組んでみましょうElse If文（そうでなくもし）のプログラム

７が偶数の場合、ドローンが左回転し、８が偶数の場合、ドローンが１秒間後方へ飛行し、そうでもない場合ドローンが２秒間ホバリングするように、プログラミングしましょう。

Else If文（そうでなくもし）のプログラム
まず条件の部分を作りましょう「条件①：７が偶数の場合」「条件②：８が偶数の場合」

数学メニューの中にある「□は偶数/奇数」のブロックを使います。

Else If文（そうでなくもし）のプログラム
次に、実行内容を作ります。
命令①「ドローンが左回転」
命令②「１秒間後方へ進む」
命令③「２秒間ホバリング」
命令①

命令②

命令③

Else If文（そうでなくもし）のプログラム
それでは、Else if文のブロックに、先ほど作った２つの条件と３つの命令ブロックを当てはめていきましょう！

今回のように、Else（そうでなければ、）ブロックはどんどん複数重ねていくことができます。

Else If文（そうでなくもし）のプログラム

今回つくったプログラムの一部を書き換えて、どのようにドローンの動きが変化するか見てみましょう。

変更パターン①：もし７が奇数 そうでなくもし８が奇数の場合
変更パターン②：もし７が偶数 そうでなくもし８が奇数の場合これらに書き換えてドローンをとばしましょう。

Else If文（そうでなくもし）のプログラム

変更パターン①：
もし７が奇数
そうでなくもし８が奇数の場合

変更パターン②：
もし７が偶数
そうでなくもし８が奇数の場合

Else If文（そうでなくもし）のプログラム
動きの解答

動き：
後方へ１秒間進む

動き：
左回転する

動き：２秒間ホバリング

STEP 09チャレンジ
ランダム関数にチャレンジしましょうチャレンジ１：故郷を遠く離れてチャレンジ１
ランダムに生成される数字によって、ドローンが異なる場所に飛ぶようにプログラミングしてみましょう。

チャレンジ１：故郷を遠く離れてランダム関数を使ってみよう

数学ブロックのなかにあるランダム関数ブロックを使ってみましょう。このブロックは指定した数値の範囲から、ランダムに数字を選んでくれます。
上の例だと、１～１０の間の数字を適当に選んで出力します。

チャレンジ１：故郷を遠く離れてランダム関数ブロックを、数字ブロックの代わりにあてはめることで、ランダムな結果を出力することができます。
条件が真となるか偽となるか、完全にランダムになるからです。
左は答えの一例です。
自分でいろいろな条件を作って試してみましょう。

チャレンジ２：ドローン計算器

チャレンジ２
みなさんが作った数式が真か偽か、ドローンに計算してもらいましょう。

チャレンジ２：ドローン計算器

６４を１０で割った余りと、３＋３の答え、どちらが大きいか、ドローンに比較してもらいましょう。
まず、数学ブロックでこの二つを作成して、比較します。

チャレンジ２：ドローン計算器

先ほど作ったブロックが真なら上昇、偽なら下降するよう、 Elseif文（もし、さもなければ）ブロックに挿入します。

これで、ドローンに計算してもらって、大きさを比較することができましたね。

STEP 10
レッスン完了！
おめでとうございます！
このレッスンでは、条件文について全て学び、ドローンが判断を下すために、どのように使うことができるかを学びました。条件文を使うことで、ドローンが様々な異なる動作ができるようプログラムすることができます。

1.4：条件文