【数学×情報I】プログラミングの「論理演算」は数学の「集合」? 現役エンジニアが教える最強の相乗効果

こんにちは!オンライン家庭教師のこばやしです。
普段はフリーランスのITエンジニアとしてシステム開発の最前線に立ちながら、中高生向けに「情報I」「理系数学」「英語」を指導しています。
高校の「情報I」のプログラミングで、条件分岐(もし〜なら)を学ぶ際に必ずセットで登場するのが「論理演算(ろんりえんざん)」です。
具体的には、以下の3つの言葉が出てきます。
AND(〜かつ〜)
OR(〜または〜)
NOT(〜でない)
これを見て、「あれ? どこかで見たことあるな…」と思った高校生の皆さん、大正解です。
実はこれ、高校数学(数学A)の「論理と集合」の単元で習う内容と、完全に同じものなのです!
今日は、情報Iと数学の「最強の共通点」について、現役エンジニアの視点から解説します。
■ 数学の「ベン図」は、プログラミングの設計図
数学の授業で、丸が2つ重なった「ベン図」を描いて、斜線を引いた経験はありませんか?
あの無味乾燥に見える数学の記号たちは、情報Iのプログラミングでは以下のように変換されます。
① AND(かつ)= 共通部分
「条件Aも、条件Bも、両方とも正しい(True)」ときにだけ実行される厳しい条件です。ベン図では2つの円が重なった、真ん中の狭い部分ですね。
② OR(または)= 和集合
「条件Aか、条件Bの、どちらか一方でも正しければOK(True)」という緩い条件です。ベン図では2つの円を合わせた、広い部分になります。
③ NOT(でない)= 補集合
「条件Aではない(False)」ときに実行されます。ベン図では、円の「外側」の余白部分を指します。
このように、数学の教科書で学んだ抽象的な概念が、プログラミングの世界では「コンピュータに複雑な指示を出すための強力な道具」としてそのまま使われているのです。
■ 現役エンジニアは「論理演算」を毎日使っている!
「でも、こんなの社会に出て何の役に立つの?」と思うかもしれません。
実は、皆さんが普段使っているスマホのアプリやネットショッピングの裏側では、この論理演算がフル稼働しています。
例えば、ネット通販で靴を探すときの「絞り込み検索」を想像してみてください。
「スニーカー」 AND(かつ) 「黒色」
サイズは「26cm」 OR(または) 「26.5cm」
NOT(でない) 「売り切れ」
いかがでしょうか?
現場のエンジニアは、皆さんが欲しい商品を正確に見つけ出せるように、裏側で数学の「集合」と「論理演算」を組み合わせてシステムを作っているのです。
■ 「情報I」と「数学」を繋げて学ぶメリット
数学の「論理と集合」の単元は、計算が少ない代わりに言葉遊びのようで、苦手意識を持つ生徒が非常に多い分野です。
しかし、情報Iのプログラミングを通して「なるほど、ANDやORってこういう風に便利に使うんだ!」という実感を伴うと、突然、数学のベン図や命題がスラスラ解けるようになります。
逆に、数学が得意な生徒にとっては、情報Iのこの単元は「すでに知っている知識のボーナスステージ」になります。
私の授業では、この2つの科目の相乗効果を最大限に活かします。
ただ用語を暗記するのではなく、「なぜこの論理が必要なのか」「現場のエンジニアはどう使っているのか」を、図解を交えて論理的に解説していきます。
「数学の集合や命題が、何に役立つのか分からない」
「情報Iの複雑な条件分岐でパニックになってしまう」
そんな方は、ぜひ一度体験授業にいらしてください。
「情報」と「数学」が頭の中でカチッと繋がる、最高の「アハ体験」をお約束します!
【プロフィール】
こばやし|納得感を大切にするフリーランスエンジニア
北海道大理系卒。現役のITエンジニアとして活動しながら、オンライン家庭教師として中高生に「情報I」「数学」「英語」を指導中。企業の新人ITエンジニア研修のメイン講師も務めるプロが、「仕組みから理解する」論理的な指導を行います。