次に、条件分岐構造のパターン2を学びましょう。
        サンプルの問題2の「4行目と5行目」と「8行目と9行目」の2つの赤い枠で囲まれている部分を合わせたものが、条件分岐構造のパターン2です。
      
👩🏫 条件 分岐パターン2の基本形 👨🏫
分岐パターン2は、以下のように「もし 条件式 ならば」ブロックと、「そうでなければ」ブロックを合体したブロックを構成します。
 
      👨🏫
        「そうでなければ」の最後にも、必ず「 : (コロン)」が付くことを忘れないでください。
      
 
          
            パターン2では、「もし ならば」の判定が「true(真)」のときは、「もし ならば」ブロックの中の処理を実行します。
            しかし、判定が「false(偽)」のときは、「そうでなければ」ブロックの中の処理を実行します。
            このパターン2の場合、必ずどちらかの処理が実行されます。つまり、二者択一です。
          
🧭 使用例
💻1
サンプルの問題2の、「もし ならば」と「そうでなければ」のブロックを、抜き出したプログラムです。
📖 解説
        
          👨🏫 
          このままでは、条件式「nedan < okane」の判定結果は「true(真)」となりますから、「もし ならば」ブロックの中の処理が実行され「おつりは、30円です。」と出力されます。
          それで、判定結果が「false(偽)」となるように、「okane」の値を「100」と書き換えて実行してみてください。
          そうすると、「そうでなければ」ブロックの中の処理のほうが実行されるので、「おつりは、ありません。」と出力されます。
        
💻2
2つの文字列を比較して、等しいときには「2つの文字列は同じです。」と出力し、等しくないときには「2つの文字列は同じではありません。」と出力するプログラムです。
📖 解説
        
          👩🏫 
          それぞれの変数に代入された文字列は同じではないので、条件式の判定は「false」になります。
          それで、「そうでなければ」ブロックの中の処理のほうが実行されるので、「2つの文字列は同じではありません。」と出力されます。
        
💻3
2つの数値を比較して、必ず大きい方の数値を正しく答えるプログラムです。
📖 解説
        
          👨🏫 
          条件式は、「kazu1 < kazu2」ですから、kazu1よりkazu2の値のほうが大きいなら、「もし ならば」ブロックの中の処理のほうが実行されます。
          しかし、kazu1の値のほうがkazu2より大きい場合は、条件式は「false」になるので、「そうでなければ」ブロックの中の処理のほうが実行されます。
          それで、必ず大きい方の数値を正しく答えることができます。
          また、2つの数値を同じにしたときには、「そうでなければ」ブロックの中の処理が実行されます。
          なぜならば、「もし ならば」の条件に当てはまらないものすべては、「そうでなければ」ブロックのほうとして処理されるからです。試してみてください。
        
🤖 練習問題 🤖
📝1
        2つの数値を比較するプログラムです。
        このプログラムを実行すると、「2つの数値は等しくありません。」と出力されます。
        このプログラムを、2つの数値が等しい場合には「2つの数値は等しいか、一方が小さいです。」と出力するように、条件式の部分を修正してください。
      
📖 解説
        
          👨🏫 
          条件式「kazu1 > kazu2」を、「等しい」も含まれるように「kazu1 >= kazu2」に修正すれば、「もし ならば」ブロックの「2つの数値は等しいか、一方が小さいです。」を出力できるようになります。
        
📝2
        2つの文字列を比較して、等しいときには「2つの文字列は同じです。」と出力し、等しくないときには「2つの文字列は同じではありません。」と出力するプログラムです。
        変数には、それぞれ以下のように異なる文字列が代入されています。
        このプログラムを「2つの文字列は同じではありません。」と、正しく出力するように条件式を修正してください。
      
📖 解説
        
          👨🏫 
          条件式が「moji1 == moji2」となっているので、2つの文字列が異なる場合には「そうでなければ」ブロックの中の処理が実行されるようになっています。
          それで、正しく「もし ならば」ブロックの中の処理が実行されるようにするには、条件式を「2つの文字列が等しくないならtrue」と判定されるように条件式を修正する必要があります。
          それで、条件式を「moji1 != moji2」とするというのが正解です。
        
💡 ポイント
- 分岐パターン2は、「もし 条件式 ならば」ブロックと、「そうでなければ」ブロックを合体したブロックを構成する。
- 「もし ならば」ブロックの条件に当てはまらないときには、すべて「そうでなければ」ブロックの中の処理が実行される
- どのような結果を出力するかによって、正しい条件式を設定する必要がある。
