「もし〜なら」で混乱しない!情報Iの条件分岐は「フローチャート」で完全攻略

こんにちは!オンライン家庭教師のこばやしです。
普段はフリーランスのITエンジニアとしてシステム開発の現場に立ちながら、中高生向けに「情報I」「理系数学」「英語」を指導しています。
高校の「情報I」のプログラミングで、いよいよ本格的な処理の第一歩となるのが「条件分岐(if文)」です。
「もし〇〇なら、△△をする」という仕組みですね。
これ、言葉だけで聞くと非常に簡単そうに思えませんか?
「もし雨が降っていたら、傘を持つ」
「もし所持金が1000円以上なら、ランチを食べる」
私たちが日常会話で毎日使っている考え方そのものです。意味を理解するだけなら、全く難しくありません。
しかし、いざ共通テストの問題や実際のプログラミングで使おうとすると、「あれ? どう組み立てればいいか分からなくなった…」と、突然手が止まってしまう生徒が非常に多いのです。
今日は、なぜ頭が混乱してしまうのか、そして現役エンジニアはどうやってその混乱を防いでいるのかを解説します。
■ 頭の中だけで「もしも」を重ねるとパンクする
日常会話の「もし〜なら」はシンプルですが、実際のプログラムになると条件が複雑に絡み合ってきます。
「もし雨なら傘を持つ。でも、もし車で移動するなら傘は持たない。ただし、車で行く場合でも駐車場から少し歩くなら、やっぱり折り畳み傘を持つ……」
このように「条件の中にさらに条件がある(ネストと言います)」状態や、前回の記事でお話しした「かつ(AND)」「または(OR)」が組み合わさると、人間の脳はあっという間にキャパシティを超えてしまいます。
数学の複雑な計算を、すべて暗算でやろうとすると必ず計算ミスをしますよね。それと全く同じで、複雑な条件分岐を頭の中だけで処理しようとするのは、バグ(エラー)の最大の原因になります。
■ エンジニアの必須スキル「フローチャート」を描こう
では、頭がパンクする前にどうすれば良いのでしょうか? プロのエンジニアが必ず行っている最強の解決策があります。それは、「フローチャート(流れ図)」を描くことです。
フローチャートとは、プログラムの論理の流れを「図解」したものです。
「雨が降っているか?」という質問をひし形(◇)で囲む
「はい(True)」の矢印の先に、「傘を持つ」という四角(□)を描く
「いいえ(False)」の矢印の先には、別の処理を描く
このように、目に見えない論理の分岐を「地図」のように可視化してしまいます。
頭の中で「あっちに行ったらどうなるっけ……」と迷子になる前に、まずは紙の余白にササッと図を描いてしまうのです。
■ 図を描けば、どんな複雑な論理もスッキリ解ける
共通テストの「情報I」でも、問題文の中にフローチャートが頻繁に登場します。
これは単なるオマケの図ではありません。「この図の流れ通りに、指でなぞって考えてごらん」という出題者からの強力なヒントなのです。
フローチャートの描き方と読み方をマスターすれば、どれだけ複雑な条件分岐が出てきても、迷路を上から見下ろすようにスッキリと全体像を把握できるようになります。
私の授業では、プログラムのコードをいきなり書かせるようなことはしません。 まずは「どんな条件で、どう道が分かれるのか?」を、フローチャートを使って一緒に整理するトレーニングから始めます。
「条件が2つ以上になると、頭がこんがらがってしまう」
「情報Iの論理的な考え方を、基礎からしっかり身につけたい」
そんな方は、ぜひ一度体験授業にいらしてください。 暗記に頼らず、図を使って「目で見て納得する」プログラミングの面白さをお伝えします!
【プロフィール】 こばやし|納得感を大切にするフリーランスエンジニア
北海道大理系卒。現役のITエンジニアとして活動しながら、オンライン家庭教師として中高生に「情報I」「数学」「英語」を指導中。企業の新人ITエンジニア研修のメイン講師も務めるプロが、「仕組みから理解する」論理的な指導を行います。