📖 例題
          このサンプルの問題8は、ログインを判定するプログラムです。
          名前とパスワードが、それぞれ登録されている値と一致するかどうかを判定し、一致していれば「ログイン成功」と表示します。
        
📖 プログラム
 
      構造としては条件分岐構造ですが、条件式のところに注目してください。
👩🏫 論理演算 👨🏫
        このサンプルの問題8の中には、条件式が3箇所にあります。オレンジの枠で囲っている部分です。
      
 
      
        これまでと違い、条件式がそれぞれ2つ書かれていて、それぞれの条件式の間には「or」と「and」の文字があります。
        このような条件式を「論理演算」といいます。
        「or」は、「論理和」を意味していて、「または」と言い換えるとわかりやすいでしょう。
        また、「and」は、「論理積」を意味していて、「かつ」と言い換えるとわかりやすいでしょう。
      
 
      
        条件式が「or」でつながっている場合は、どちらか一方の条件式が「true」と評価されれば、その条件式全体も「true」と評価されます。
        また、条件式が「and」でつながっている場合は、両方の条件式が「true」と評価されるとき、その条件式全体も「true」と評価されます。
        では、実際に以下のサンプルの問題8を実行してみてください。
      
        では、なぜこのような結果になったのか、プログラムを部分的に取り出して考えることにしましょう。
        4行目では、条件式が「or」でつなげられていますから、変数「namae」の値が「スズキ」または「サトウ」のどちらかの場合に「true」と評価されることになります。
        そして、変数「namae」には、文字列「サトウ」が代入されていますから、この条件全体の判定は「true」となります。
        では、4行目の条件式だけを取り出して、ほんとうにそうなるのか確認してみることにしましょう。
      
        確かに「true」と表示されましたね。
        次に、以下の(1)と(2)の条件判定に入っていくことになるのですが、この場合2つの条件式が「and」でつなげられていますから、両方の条件判定が「true」のときに条件全体が「true」と判定されることになります。
        (1) namae == "スズキ" and pasuwado == "eSj7mL6"
        (2) namae == "サトウ" and pasuwado == "Rc29Xb4"
        変数「namae」の値は「サトウ」でしたから、7行目の(2)の条件判定が行われます。
        このとき、変数「pasuwado」に最初に代入されている値は「Et35m8k」でした。
        それで、変数「pasuwado」の値と文字列「Rc29Xb4」は等しくないので、この条件式は「false」と評価されることになります。
        そのため、(2)の条件判定では、一方の判定結果が「true」ではないために、条件全体の評価は「false」となります。
        では、サンプルの問題8の7行目の条件式だけを取り出して、この点も確かめてみることにしましょう。
      
        サンプルの問題8の7行目の条件判定は、確かに「false」となることが、これでわかりましたでしょうか。
        そのため、サンプルの問題8の9行目の「そうでなければ:」の中の処理が実行されることになりますから、最終結果は「ログインに失敗しました。」と表示されます。
        では、最終結果が「ログイン成功です。」と表示されるように、変数「namae」と「pasuwado」に最初に代入する値を変えて試してみてください。
      
🧭 使用例
💻1
        天候と気温により、体育館内での運動をするかを判断するプログラムです。
        天候が「晴れ または 雨」で、気温が「18度より低く または 30度より高い」場合は、「体育館で運動をする」と表示し、それ以外なら「屋外でも運動できる」と表示します。
      
📖 解説
        
          👨🏫 
          条件式は、こうなっています。
          「tenki == "晴れ" or tenki == "雨" and kion < 18 or kion > 30」
          とても複雑で分かりにくいですね。
          このような場合は、「( )」を使って、条件式を分けて考えると、読みやすくなります。
        
 
        👩🏫 not 👨🏫
          論理演算には、「or」と「and」の他に、「not」というのがあります。
          「not」は、条件式の否定を意味します。
          それで、条件式の頭に「not」がつくと、以下のグレーの部分を意味するようになります。
        
 
        気温が「10度より低く または 30度より高い」という条件式の場合、2つの条件式全体を「( )」で囲み、先頭に「not」をつけると、「( )」の中の条件式全体を否定することになります。
 
        上の2つの条件式が同じ結果になることを確かめてみましょう。
💡 ポイント
- 「or」と「and」を使って、条件式をつなぐことを「論理演算」という。
- 「or」は、「論理和」を意味していて、「または」と言い換えるとわかりやすい。
- 「and」は、「論理積」を意味していて、「かつ」と言い換えるとわかりやすい。
- 「not」は、条件式の否定を意味する。