論理値は、true か false のどちらかを表す値です。
条件が成り立つか、成り立たないかを扱うときに使います。
分かりやすく言うと、YESかNOかを表すものです。
擬似言語では、論理型を次のように宣言します。
論理型: 変数名
例えば、合格しているかどうかを入れる変数なら、次のように書けます。
論理型: passed
基本情報技術者試験の擬似言語では、条件分岐や繰返し処理で論理型の考え方がよく出てきます。 if文やwhile文を理解するためにも、論理型は大切です。
論理型は、条件の結果を扱うための型です。
整数型や実数型では数を扱い、文字列型では文字を扱いました。 一方、論理型では、条件に対する答えを扱います。
論理型の値は、基本的に次の2つです。
truefalsetrue は、条件が成り立つことを表します。
false は、条件が成り立たないことを表します。
例えば、「点数が60点以上か」という条件があるとします。
点数が75点なら、この条件は成り立つので true です。
点数が40点なら、この条件は成り立たないので false です。
例えば、合格しているかどうかを変数に入れるときは、次のように書きます。
論理型: passed
passed ← true
この場合、変数 passed には true が入っています。
つまり、「合格している」という状態を表しています。
次のコードを右のシミュレーターで実行してください。
○main
論理型: passed
passed ← true
print(passed)
出力は true です。
passed という論理型の変数に true を入れて、それを表示しています。
次は、false を入れてみましょう。
○main
論理型: soldOut
soldOut ← false
print(soldOut)
出力は false です。
soldOut は「売り切れかどうか」を表す変数だと考えられます。
ここでは false が入っているので、「売り切れではない」という意味になります。
論理型の変数名は、状態が分かる名前にすると読みやすくなります。
例えば、passed、finished、found、soldOut のような名前です。
論理値は、比較の結果として作られることも多いです。 次のコードを見てください。
○main
整数型: score
論理型: passed
score ← 75
passed ← score ≧ 60
print(passed)
出力は true です。
score には75が入っています。
passed ← score ≧ 60 では、「scoreは60以上ですか?」を確認しています。
scoreは75なので、この条件は成り立ちます。
その結果、passed には true が入ります。
1行ずつ読むと、次のようになります。
score に75を入れるscore ≧ 60 を判定するtruepassed に true を入れるpassed を表示する次は、条件が成り立たない例です。
○main
整数型: score
論理型: passed
score ← 45
passed ← score ≧ 60
print(passed)
出力は false です。
score は45です。
45は60以上ではないので、score ≧ 60 の結果は false になります。
そのため、passed には false が入ります。
このように、比較式の結果は数値ではなく、true または false になります。
論理型の考え方は、if文につながります。
if文では、条件が true のときだけ中の処理が実行されます。
条件が false のときは、その処理は実行されません。
例えば、次のような条件です。
score ≧ 60
この条件の結果が true なら、合格の処理を行います。
結果が false なら、合格の処理は行いません。
今後、if文やwhile文を読むときは、条件式が true なのか false なのかを考えることが大切になります。
論理型を読むときは、次のことを意識しましょう。
true か false か特に、passed ← score ≧ 60 のような行では、右側の条件式を先に読みます。
その結果が true か false になり、それが左側の変数に入ります。
代入と条件式が一緒に出てくるので、最初は少し難しく見えるかもしれません。 しかし、「条件の答えを変数に入れている」と考えると分かりやすいです。
ここで大切なのは、論理値は条件に対する答えだということです。
この考え方が分かると、今後解説するif文やwhile文が読みやすくなります。
まずは、論理型は true か false を扱う型と覚えておきましょう。
シミュレーターで比較式を実行しながら、条件の結果がどう変わるかを確認していきましょう。