数学 PR

GeoGebraの論理演算子を学ぼう

記事内に商品プロモーションを含む場合があります

このページではGeoGebraの論理演算子について説明しています。論理演算は数学だけでなく、電子工学や情報工学でも役立つ概念なので、繰り返し勉強してしっかり理解しましょう。

ケンヂ博士
ケンヂ博士
GeoGebraを使いこなすためには、論理演算子を学ぶことが必須やで。

ブール型変数とは?

他の多くのプログラミング言語と同様、GeoGebraではブール型の変数(Boolean、ブーリアン)を扱うことができます。ブール型変数というのは論理演算を取り扱うための専用の変数型で、「true(真)」と「false (偽)」の2値を取り扱います。

入力された命題が成り立つときブール型変数の出力は「true(真)」になり、成り立たないときブール型変数の出力は「false (偽)」になります。

GeoGebraにブール型変数がある理由

一般的なプログラミング言語と同様にGeoGebraにブール型変数が用意されているのは、条件分岐処理や繰り返し処理を行うのにブール型変数があると便利だからです。

唐突ですが、プログラミングの基本3構造は以下の3つです。

  1. 順次進行…指示された命令や演算を上から順番に実行する。
  2. 条件分岐…特定の条件を満たす場合と満たさない場合とで、異なる処理をする。
  3. 繰り返し…同じ動作を繰り返し実行する。ただし、何らかの条件を満たした時、繰り返し処理を停止する。

コンピュータに条件分岐処理や繰り返し処理を行わせようとすると、必ず条件判定が必要になります。条件を満たすときを“true (真)“、条件を満たさないときを“false(偽)“と定義しておくとプログラミングがしやすいため、多くのプログラミング言語ではブール型変数が採用されています。

もちろん、GeoGebraにも条件分岐処理や繰り返し処理のためのコマンドやブール型変数が用意されています。これらのコマンドを使いこなすためには、下記の論理演算子について学ぶことが必須です。

なお、プログラミングの基本3構造についてもっと知りたい方はこの記事がわかりやすいです。→プログラムの基本構造とは?

ケンヂ博士
ケンヂ博士
どのプログラミング言語を学ぶ場合でも、条件判定の仕方を学ぶことは大切やで。

さまざまな論理演算

変数GeoGebraで取り扱える論理演算のリストは以下の通りです。これらの演算子による演算の結果はすべてブール型変数となります。

演算内容入力バーキーボード入力オブジェクトタイプ
Equal
(等しい)
==a ≟ b
or a == b
numbers, points, lines,
conics, functions (needs CAS),
planes, a, b
Not equal
(等しくない)
!=a ≠ b
or a != b
numbers, points, lines,
conics, functions (needs CAS), planes a, b
Less than
(小なり)
<a < bnumbers a, b
Greater than
(大なり)
>a > bnumbers a, b
Less or equal than
(小なりイコール)
<=a ≤ b
or a <= b
numbers a, b
Greater or equal than
(大なりイコール)
>=a ≥ b
or a >= b
numbers a, b
And
(かつ、論理積)
&&a ∧ b
or a && b
booleans a, b
Or
(もしくは、論理和)
||a ∨ b
or a || b
booleans a, b
Not (否定)¬!¬a or !aboolean a
Exclusive or
(排他的論理和)
Alt+a ⊕ bbooleans a, b
Implication
(含意)
->a -> bbooleans a, b
Parallel(平行)a ∥ blines a, b
Perpendicular(垂直)a ⊥ blines a, b
Belongs to
(元として含む、属する)
a ∈ list1number a, list of numbers list1
Subset
(部分集合)
list1 ⊆ list2lists list1 and list2
Proper subset
(真部分集合)
list1 ⊂ list2lists list1 and list2
GeoGebraで取り扱える論理演算

GeoGebraにはさまざまな機能がありますから、この表だけでは理解が難しいと思います。そのため、もうすこし細かく説明していきたいと思います。

等値演算子、大小関係演算子

もっともオーソドックスな論理演算子は等値演算子と大小関係演算子でしょう。これらの演算子のリストを以下に示します。

演算内容入力バーキーボード入力
Equal
(等しい、イコール)
==a ≟ b or a == b
Not equal
(等しくない、ノットイコール)
!=a ≠ b or a != b
Less than
(小なり)
<a < b
Greater than
(大なり)
>a > b
Less or equal than
(小なりイコール)
<=a ≤ b or a <= b
Greater or equal than
(大なりイコール)
>=a ≥ b or a >= b
等値演算子と大小関係演算子

これらの演算子を使うと、2つの値が等しいかどうか、あるいは2つの値のどちらが大きいかを調べることができます。試しに「1は2より大きい(\(1>2\))」という命題をGeoGebraに入力してみましょう。その実行結果は以下のとおりです。

大小関係演算子の使用例

「1は2より大きい(\(1>2\))」は明らかに間違いですから、当然、結果は”false(偽)”になります。

ケンヂ博士
ケンヂ博士
等値判定演算子や大小関係演算子はif文と組み合わせて使うことが多いねん。

等値判定演算

一般的なプログラミング言語と比較して、GeoGebraがユニークなのはさまざまなオブジェクトに対して等値判定演算を行うことができる点です。例えば、命題「aはbに等しい(a==b)」という論理演算があったとき、a、bは何らかの数であってもいいし、点や線、平面、円錐曲線であっても良いのです。また、CASモードの場合、a、bは関数であっても良いのです。

例えば、以下の2つの関数があるとします。

$$y=f(x)=\sin^2(x)$$

$$y=g(x)=\frac{1}{2}(1-\cos(x))$$

これらの関数に等値判定演算\(f(x)==g(x)\)を実行すると……

等値判定演算の実行例

等値判定の演算結果は「true(真)」になりました。先ほどの2つの関数は「三角関数の2倍角の公式」として有名な数式です。

こうように、等値判定演算子を使うと2つのオブジェクト(数、点、線、平面、関数など)が等しいか、それとも等しくないかを簡単に判定することができます。数以外のオブジェクトにも等値演算を行うことができる点がとてもユニークです。

ケンヂ博士
ケンヂ博士
2つの関数が数学的に等しいかどうかを瞬時に判定できるのはGeoGebraのすごいところの一つやで。

大小関係演算と不等式

GeoGebra公式サイト(ブール代数)の記述によると、大小関係演算子の入力は何らかの数だけです。点や線などを入力とすることはできません。ただし、大小関係演算子には「不等式」を記述するという機能もあります。大小関係演算子に関数を入力した場合、それは不等式として取り扱われます(この場合、「true(真)」や「false (偽)」は出力されません)。

すこし試してみましょう。例えば、大小関係演算子>の両辺に数値を入れてみます。例えば、先ほど説明したようにGeoGebraに\(1>2\)を入力してみましょう。この命題はもちろん「false (偽)」です。そのため、「false (偽)」と出力されます。

大小関係判定演算の例

それでは、\(y>x\)と入力した場合はどうなるでしょうか?

この場合、GeoGebraは\(y>x\)を不等式として取り扱いますので、\(y>x\)のグラフを表示します。

不等式の入力例

また、不等式と後述の論理演算子を組み合わせると、xy座標の一部を塗りつぶすことができます。例えば、こんな感じです。

このようにGeoGebraを使うと複雑なグラフが簡単に描けるというだけでなく、xy座標の一部をきれいに塗りつぶすこともできます。

ケンヂ博士
ケンヂ博士
グラフの塗りつぶしのためにこの演算子を使う機会の方が多い人もいるかもしれんね。

ブール代数の論理演算

GeoGebraはブール代数の論理演算として以下のコマンドをサポートしています。これらの論理演算コマンドを組み合わせることで、より複雑な論理演算を実行できます。

演算内容入力バーキーボード入力
And (かつ、論理積)&&a ∧ b or a && b
Or (もしくは、論理和)||a ∨ b or a || b
Not (否定)¬!¬a or !a
Exclusive or (排他的論理和)Alt+a ⊕ b
Implication (含意)->a -> b
ブール代数の論理演算

AND演算

2入力AND演算の真理値表は以下のとおりです。2入力AND演算は2つの入力がどちらも”true”の時だけ、”true”を出力します。

\(A\)\(B\)\(A \land B\)
”false””false””false”
”false””true””false”
”true””false””false”
”true””true””true”
AND演算の真理値表

OR演算

2入力OR演算の真理値表は以下のとおりです。2入力OR演算は2つの入力の少なくともどちらか一方が”true”の時に、”true”を出力します。

\(A\)\(B\)\(A \lor B\)
”false””false””false”
”false””true””true”
”true””false””true”
”true””true””true”
OR演算の真理値表

NOT演算

NOT演算の真理値表は以下のとおりです。NOT演算は入力が”true”の時は”false”を出力し、入力が”false”の時は”true”を出力します。

\(A\)\(\overline{A}\)
”false””true”
”true””false”
NOT演算の真理値表

排他的論理和

排他的論理和演算の真理値表は以下のとおりです。排他的論理和演算は2つの入力が一致しない時に”true”を出力します。

\(A\)\(B\)\(A ⊕ B\)
”false””false””false”
”false””true””true”
”true””false””true”
”true””true””false”
排他的論理和演算の真理値表

含意演算

含意演算の真理値表は以下のとおりです。含意演算\(A \rightarrow B\)は\(A\)が”true”の場合は\(B\)の値を出力します。一方、\(A\)が”false”の場合は、\(B\)の値によらず、常に”true”を出力します。

\(A\)\(B\)\(A \rightarrow B\)
”false””false””true”
”false””true””true”
”true””false””false”
”true””true””true”
含意演算の真理値表

なお、含意演算\(A \rightarrow B\)は\(\overline{A} \lor B \)と等価です。工学的な応用ではあまり出てこない演算子だと思いますが、覚えておくと便利かもしれません。

ケンヂ博士
ケンヂ博士
直接、NAND演算やNOR演算を行うコマンドは無いので、その点は注意やで。

幾何学関連の論理演算

GeoGebraはもともと幾何学計算のために作られたコンピュータソフトウェアなので、幾何学的な論理演算として、以下の論理演算をサポートしています。これらの演算子を用いると、2つの直線が平行であるか否かや、垂直であるか否かを簡単に判定することができます。私の知る限り、他のプログラミング言語やコンピュータソフトウェアではこういった論理演算が存在するものはかなり珍しいと思います。

演算内容入力バーキーボード入力
Parallel(平行)a ∥ b
Perpendicular(垂直)a ⊥ b
幾何学関連の論理演算

ケンヂ博士
ケンヂ博士
平行や垂直を調べるコマンドがあるのはホンマに珍しいと思うで。

集合関連の論理演算

GeoGebraは集合関連の論理演算として、以下の演算をサポートしています。

演算内容入力バーキーボード入力
Belongs to(元として含む、属する)a ∈ list1
Subset (部分集合)list1 ⊆ list2
Proper subset(真部分集合)list1 ⊂ list2
集合関連の論理演算

なお、GeoGebraにおいて集合は「リスト機能」を用いて表現されます。リストを作るには中括弧{}を利用します。リストは入れ子構造にすることができ、使い方によっては3次元以上のテーブルを作ることもできます。リスト機能の詳しい使い方についてはいずれ別の記事で説明したいと思います。

ケンヂ博士
ケンヂ博士
リスト機能を使うと、行列を表現することもできるんやで。

まとめ

このページではGeoGebraの論理演算子について説明しました。GeoGebraというコンピュータソフトウェアを使いこなすためには、論理演算をしっかり学ぶ必要があります。論理演算は数学だけでなく、電子工学や情報工学でも役立つ概念なので、繰り返し勉強してしっかり理解しましょう。

ケンヂ博士
ケンヂ博士
論理演算は理工学分野では頻出なので、しっかりマスターしておくとええで。

このページは下記のサイトを参考にして作成されました。
GeoGebra公式サイト(ブール代数)

なお、GeoGebraの組み込み関数と演算子に関しては下記のページでも説明しています。こちらのページもお読みくださると幸いです。

ABOUT ME
ケンヂ博士
高橋 健治。某工業高専出身のアラフォー工学博士。 東北生まれのエセ関西弁話者。研究者として日系メーカーに10年以上勤務。数学、制御工学、電気工学、パワエレ、プログラミング、ヨーヨー、将棋などがそこそこできるマルチプレイヤー。大阪府の端っこで、お嫁様+2人の娘たち+4匹の金魚.etcと暮らしている。

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です