<一覧に戻る

擬似言語の論理型

論理値は、truefalse のどちらかを表す値です。 条件が成り立つか、成り立たないかを扱うときに使います。

分かりやすく言うと、YESかNOかを表すものです。

擬似言語では、論理型を次のように宣言します。

論理型: 変数名

例えば、合格しているかどうかを入れる変数なら、次のように書けます。

論理型: passed

基本情報技術者試験の擬似言語では、条件分岐や繰返し処理で論理型の考え方がよく出てきます。 if文やwhile文を理解するためにも、論理型は大切です。

論理型とは?

論理型は、条件の結果を扱うための型です。

整数型や実数型では数を扱い、文字列型では文字を扱いました。 一方、論理型では、条件に対する答えを扱います。

論理型の値は、基本的に次の2つです。

  • true
  • false

true は、条件が成り立つことを表します。 false は、条件が成り立たないことを表します。

例えば、「点数が60点以上か」という条件があるとします。 点数が75点なら、この条件は成り立つので true です。 点数が40点なら、この条件は成り立たないので false です。

trueを変数に入れる

例えば、合格しているかどうかを変数に入れるときは、次のように書きます。

論理型: passed
passed ← true

この場合、変数 passed には true が入っています。 つまり、「合格している」という状態を表しています。

次のコードを右のシミュレーターで実行してください。

○main
論理型: passed
passed ← true
print(passed)

出力は true です。

passed という論理型の変数に true を入れて、それを表示しています。

falseを変数に入れる

次は、false を入れてみましょう。

○main
論理型: soldOut
soldOut ← false
print(soldOut)

出力は false です。

soldOut は「売り切れかどうか」を表す変数だと考えられます。 ここでは false が入っているので、「売り切れではない」という意味になります。

論理型の変数名は、状態が分かる名前にすると読みやすくなります。 例えば、passedfinishedfoundsoldOut のような名前です。

比較の結果として使う

論理値は、比較の結果として作られることも多いです。 次のコードを見てください。

○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 を判定する
  • 75は60以上なので、結果は true
  • passedtrue を入れる
  • 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文につながります。

if文では、条件が true のときだけ中の処理が実行されます。 条件が false のときは、その処理は実行されません。

例えば、次のような条件です。

score ≧ 60

この条件の結果が true なら、合格の処理を行います。 結果が false なら、合格の処理は行いません。

今後、if文やwhile文を読むときは、条件式が true なのか false なのかを考えることが大切になります。

論理型を読むときのポイント

論理型を読むときは、次のことを意識しましょう。

  • 値が truefalse
  • 何の状態を表している変数か
  • 比較式の結果として作られているか
  • 条件が成り立つか、成り立たないか

特に、passed ← score ≧ 60 のような行では、右側の条件式を先に読みます。 その結果が truefalse になり、それが左側の変数に入ります。

代入と条件式が一緒に出てくるので、最初は少し難しく見えるかもしれません。 しかし、「条件の答えを変数に入れている」と考えると分かりやすいです。

論理値は条件の答え

ここで大切なのは、論理値は条件に対する答えだということです。

  • 条件が成り立つなら true
  • 条件が成り立たないなら false

この考え方が分かると、今後解説するif文やwhile文が読みやすくなります。

まずは、論理型は truefalse を扱う型と覚えておきましょう。

シミュレーターで比較式を実行しながら、条件の結果がどう変わるかを確認していきましょう。

このトピックの他のセクション:

  1. 擬似言語の整数型
  2. 擬似言語の実数型
  3. 擬似言語の文字列型
  4. 擬似言語の論理型(現在表示中)
  5. 擬似言語の未定義

出力結果:


            

診断:


            

変数: