<一覧に戻る

擬似言語のand(論理積)とは?

and は、複数の条件がすべて成り立つときだけ true になります。

日本語では「かつ」と考えると分かりやすいです。 たとえば、「点数が60以上、かつ、出席率が80以上なら合格」のような条件です。 つまり、全部そろったらOKとなります。

まずは、2つの条件を同時に判定してみましょう。

両方trueならtrue

以下のプログラムを実行してみましょう。

○main
整数型: score
整数型: attendance // 出席率
論理型: passed
score ← 75
attendance ← 90
passed ← (score ≧ 60) and (attendance ≧ 80)
print(passed)

出力は true です。

この条件は、次の2つを確認しています。

  • scoreは70なので、score ≧ 60 は true
  • attendanceは90attendance ≧ 80 も true

両方とも true なので、and でつないだ全体も true になります。

1行ずつ読むと、次のようになります。

  • score に75を入れる
  • attendance に90を入れる
  • 点数が60以上か確認する
  • 出席率が80以上か確認する
  • 両方trueなので、passedtrue を入れる
  • passed を表示する

片方でもfalseならfalse

次は、出席率だけ条件を満たさない例です。

○main
整数型: score
整数型: attendance
論理型: passed
score ← 75
attendance ← 70
passed ← (score ≧ 60) and (attendance ≧ 80)
print(passed)

出力は false です。

点数は60以上なので、左の条件は true です。 しかし、出席率は80未満なので、右の条件は false です。

and は、1つでも false があると全体が false になります。

andは全部そろったらOK

and を読むときは、次の順番で確認すると安定します。

  • 左の条件を判定する
  • 右の条件を判定する
  • 両方trueなら全体がtrue
  • どちらかがfalseなら全体はfalse

and は、全部そろったらOKという条件です。 少し厳しめの判定だと思うと覚えやすいです。

次は attendance ← 80 に変えて実行してみてください。 境目の80を含むので、結果は true になります。

出力結果:


            

診断:


            

変数: