9.条件 分岐パターン1
DNCL 速習
サンプルの問題2

これから学ぶのは、条件分岐構造のパターン1です。

サンプルの問題2の4行目と5行目の赤い枠で囲まれている部分が、条件分岐構造のパターン1です。

👩‍🏫 条件 分岐パターン1の基本形 👨‍🏫

分岐パターン1は、以下のように「もし 条件式 ならば」ブロックを構成します。

👨‍🏫 「」は、「インデント(字下げ)」を表しています。
インデントとは、行の先頭に空白を入れて、文字の開始位置を右横にずらすことです。 こうすることで、ブロックの中であることを示しています。
実際にコードを記述するときには、半角スペースを4つ設けるのが一般的です。

そして、「 」は、ブロックの終わりを表しています。

また、「もし ならば」の最後には、必ず「 : (コロン)」が付くことも忘れないようにしてください。

パターン1では、条件式を評価した結果が「true(真)」と判定されたときだけ、ブロックの中の処理を実行します。

そのため 、条件式を評価した結果が「false(偽)」と判定されたときは、ブロックの中の処理は何も実行されず、次に進みます。

🧭 使用例

💻1

サンプルの問題2の「もし ならば」の部分だけ、抜き出して確かめてみましょう。

📖 解説

👨‍🏫 条件式「nedan < okane」の判定結果は、「true(真)」となりますから、ブロックの中の処理が実行され「おつりは、30円です。」と出力されます。

では、判定結果が「false(偽)」となるように、「okane」の値を「100」と書き換えて実行してみてください。
そうすると、ブロックの中の処理は実行されずブロックを抜けるので、何も出力されません。


💻2

変数に「雨」の文字列を代入し、条件式の判定が「true(真)」のときに「雨が降ります。傘を持っていきましょう。」と出力するプログラム。

📖 解説

👩‍🏫 ブロックの中には、いくつでも処理を書くことができます。


💻3

「 != 」を使った条件式です。
変数「kazu」の中の値が「100ではない」ときに、「100ではありません」と表示するプログラムです。

📖 解説

👨‍🏫 「 != 」は「等しくない」でしたから、「100」以外のすべてが当てはまります。
それで「number = 100」のときには、判定は「false」になるので何も出力されません。


💻4

「もし ならば」の最後に「 : 」を付けないと、エラーになります。

📖 解説

👨‍🏫 「もし ならば」の最後に「 : 」を付けて、正しく実行できるようにしてください。

このプログラムは、偶数かどうかを判定するプログラムです。
「 % 」は「割った余り」を求める演算子です。それで、「もし、ある数を2で割ったときに余りが0ならば」その数は「偶数」ということになります。
同じように、「もし、ある数を2で割ったときに余りが1ならば」その数は「奇数」ということになります。
また、この方法で「倍数」かどうかの判定をすることもできます。
どうすればいいか、いろいろ試してみてください。

🤖 練習問題 🤖

📝1

以下のプログラムを実行したとき、「名前は、太郎です。」と「名前は、花子です。」のどちらが出力されるでしょうか?
それとも、エラーになるでしょうか?予想してから、実行してください。

📖 解説

👨‍🏫 エラーにはならず、「名前は、花子です。」のほうが出力されます。

条件式では、変数「namae」の値と「次郎」の文字列を比較していますが、判定は「false(偽)」になるので、ブロックの中の処理は実行されません。
そのため、そのままブロックを抜けるので、ブロックの外の「表示する("名前は、花子です。")」が実行されることになります。

この、「表示する("名前は、花子です。")」の処理は、条件式の判定結果に関係なく必ず実行される処理ですから、仮に条件式の判定が「true(真)」であったとしても表示されます。

💡 ポイント

  1. 分岐パターン1は、「もし 条件式 ならば」ブロックを構成する。
  2. 」は、「インデント(字下げ)」を表している。
  3. 」は、ブロックの終わりを表している。
  4. 「もし ならば」の最後には、必ず「 : (コロン)」を付けなければならない。
  5. 条件式の判定が「true(真)」のときだけ、ブロックの中の処理が実行される。