【現役エンジニアが解説】「年齢>8 かつ 身長>120」で混乱? 情報Iの条件分岐で鍛える「本物の論理的思考」

こんにちは!オンライン家庭教師のこばやしです。
普段はフリーランスのITエンジニアとしてシステム開発の現場に立ちながら、中高生向けに「情報I」「理系数学」「英語」を指導しています。
最近、教育のニュースなどで「プログラミング的思考(論理的思考)」という言葉をよく耳にしませんか? 「それってパソコンを使えるようになることでしょ?」と思われがちですが、実は少し違います。
今日は、高校の「情報I」の条件分岐の授業で多くの生徒がぶつかる「ある壁」を通して、この「論理的思考」の本当の正体についてお話しします。
■ レベル1:1つの条件なら誰でもわかる
前回の記事で、「もし〜なら(条件分岐)」のお話をしました。 例えば、遊園地のジェットコースターでこんなルールがあったとします。
「もし(年齢 > 8歳)なら、乗車できる」
これは非常にシンプルですね。プログラミングの言葉で言えば、前回学んだ「比較演算(>)」が1つだけ使われている状態です。ここまでは、ほとんどの生徒がスラスラと理解できます。
■ レベル2:「条件の掛け合わせ」で突然パニックに!
では、ルールが少し厳しくなって、こうなったらどうでしょうか。
「もし(年齢 > 8歳)かつ(身長 > 120cm)なら、乗車できる」
意味はすぐに分かると思います。しかし、これをいざプログラムで処理しようとすると、途端に頭が混乱してフリーズしてしまう生徒が急増します。なぜでしょうか?
それは、「比較演算(>、<)」と「論理演算(かつ、または)」という、性質の違う2つのルールが1つの文の中に混ざってしまったからです。
条件A:年齢は8歳より上か?(Yes / No)
条件B:身長は120cmより大きいか?(Yes / No)
最終判定:条件Aと条件Bは、「両方とも(AND)」Yesか?
人間の脳は、このように複数の要素が絡み合った条件を瞬時に処理するのがあまり得意ではありません。「えーと、8歳以上だけど110cmだったら……乗れない? あれ? または(OR)だっけ?」と、情報が迷子になってしまうのです。
■ ここを「考え抜く力」こそが、真の論理的思考
実は、これこそが「情報I」という科目の最大の山場であり、最も面白いところです。
複雑に絡み合った条件を前にして、「うわ、面倒くさい!」「パッと見て分からないから苦手!」と投げ出してしまうか。
それとも、「条件Aと条件Bを一つずつ切り分けて、落ち着いて整理してみよう」と踏みとどまれるか。
この、複雑なもの(複合条件)をシンプルで小さな要素(単純な条件)に分解し、矛盾がないように組み立て直す力。これこそが、社会が今最も求めている「プログラミング的思考(論理的思考)」の正体です。
現場のプロのエンジニアも、この「複合条件」の書き間違いで頻繁にバグ(エラー)を出します。だからこそ、決して感覚に頼らず、紙に書き出したり表を作ったりして、泥臭く時間をかけて考え抜くのです。
■ 焦らず、納得いくまで考え抜く授業を
「情報I」のプログラミングは、タイピングの早さや英単語の暗記量を競うものではありません。「納得いくまで論理を考え抜くゲーム」です。
私の授業では、この「複数の条件が混ざった時の整理の仕方」にたっぷりと時間をかけます。 現役エンジニアの視点で、ベン図やフローチャートなどの図解を使い、「なぜそうなるのか」を生徒自身が腹の底から納得できるまで伴走します。
「複雑な条件文を見ると、頭がこんがらがってしまう」
「将来役立つ『本物の論理的思考力』を身につけたい(身につけさせたい)」
そんな方は、ぜひ一度体験授業にいらしてください。 暗記に逃げない、本質的な「考える楽しさ」をお伝えします!
【プロフィール】 こばやし|納得感を大切にするフリーランスエンジニア
北海道大卒。現役のITエンジニアとして活動しながら、オンライン家庭教師として中高生に「情報I」「数学」「英語」を指導中。企業の新人ITエンジニア研修のメイン講師も務めるプロが、「仕組みから理解する」論理的な指導を行います。