論理式の解説(基本情報技術者シラバス用語)

目次

論理式とは

論理式(ろんりしき)とは、いくつかの条件や変数(真または偽の値を持つもの)を、論理演算子(AND、OR、NOTなど)を使って結びつけた式の構成要素のことです。数式が数値の計算結果を表すのに対して、論理式は最終的に「真(正しい / True)」または「偽(誤り / False)」のどちらか1つの結果を導き出します。プログラミングにおいて、システムが「もし〜ならば」という条件に応じて処理を分ける(条件分岐する)際に、その条件を記述するために論理式が頻繁に使われます。論理式を正しく設計することは、バグのないスムーズなプログラムを書くための第一歩となります。

具体例

オンラインショップでの割引クーポンが適用できるかどうかを判定する論理式を考えます。

適用条件:「会員ランクがゴールドである」 OR 「購入金額が1万円以上である」
これを論理式で表すと以下のようになります。
(会員ランク == 'ゴールド') OR (購入金額 >= 10000)

もしユーザーの会員ランクが「一般」であっても、購入金額が「12,000円」であれば、右側の条件が「真」となるため、論理式全体の結果は「真」となり、割引が適用されます。

もう少し詳しく

論理式は、コンピュータサイエンスやデジタル回路設計において極めて重要な役割を果たします。コンピュータの内部では、すべての情報が電気信号の「0(偽、OFF)」と「1(真、ON)」の2進数で表現されており、これらの情報を処理するための基本的な仕組みが論理式に基づいています。論理式を構成する基本的な要素には、論理変数(真または偽の値をとる変数)と論理演算子があります。代表的な論理演算子には、論理積(AND)、論理和(OR)、論理否定(NOT)、排他的論理和(XOR)などがあります。これらの単純な演算を組み合わせることで、非常に複雑な条件判定や計算処理を実現することが可能となります。

例えば、CPU(中央処理装置)の内部にある演算装置(ALU)は、数多くの論理ゲート(論理演算を行う電子回路)が組み合わさって構成されており、その動作はすべて論理式として記述することができます。また、ソフトウェア開発においても、if文やwhile文などの制御構造で論理式が用いられます。複雑な業務ルールや仕様をプログラムに落とし込む際、論理式をいかに簡潔かつ正確に記述できるかが、プログラムの品質や保守性に直結します。条件が複雑になりすぎた場合は、真理値表を作成して全ての結果パターンを網羅的に確認したり、カルノー図を用いて論理式を単純化(最小化)したりする手法が取られます。無駄のないシンプルな論理式を組むことで、処理速度の向上や予期せぬ不具合の防止につながるため、論理的思考力はエンジニアにとって必須のスキルと言えます。

試験でのポイント

基本情報技術者試験などのIT系資格試験では、論理式に関する問題が頻出します。特に、与えられた論理式の結果がどのようになるかを真理値表を用いてトレースする問題や、複数の論理式の中から同じ結果を出力する等価な式を選ぶ問題がよく出題されます。試験対策としては、まず基本となるAND(論理積)、OR(論理和)、NOT(論理否定)、XOR(排他的論理和)の真理値表を完璧に暗記し、どのような入力パターンの時に真(1)または偽(0)となるかを即座に判断できるようにしておくことが重要です。XORは「入力が異なる場合に真になる」と覚えておくと便利です。

また、論理式を簡略化するための法則(ド・モルガンの法則、分配則、吸収則など)を使いこなせるかどうかも問われます。複雑な論理式が出題された場合は、焦らずに括弧の中やNOT演算から順を追って計算していくことが計算ミスを防ぐコツです。さらに、論理回路図(MIL記号など)と論理式を相互に変換する問題もよく出題されるため、半月型のAND記号や三日月型のOR記号といった図記号と論理演算の対応関係もしっかりと結びつけて覚えておきましょう。アルゴリズムやプログラミングの分野でも、条件分岐の条件式として論理式が登場するため、幅広い分野で基礎となる知識です。

関連する用語

論理演算、真理値表、論理回路

読んだ内容を10問練習と実技で確認

記事で理解した用語を、StudyQuestの演習とクラウド実技ラボで定着させます。

10問練習 実技ラボ