seegongsik
プログラミング

if文 わかりやすく

前のレッスンで、真と偽を見ました。プログラムは、その真・偽で道を選びます。条件が合えばこの道、そうでなければあの道。プログラムが自分で判断する最初の瞬間です。

01

真ならこの道、偽ならあの道

プログラムは、ときどき分かれ道に出会います。
「もしそうならこれをして、そうでなければあれをして」。
条件が真か偽かによって、進む道が変わるのです。
下で条件を真と偽に切り替えると、明かりのつく道が変わります。

もし (条件) なら?
真なら
この道へ
偽なら
あの道へ
条件が 真なので、左の道へ 行きます。

条件の真・偽が道を決めます。

分かれ道では、片方だけを選んで進みます。
真なら真の側、偽なら偽の側です。
これが「もし」で、プログラムが状況を見て道を選ぶしかたです。

02

年齢は19歳以上か?

条件はふつう、何かを比べます。
たとえば「19歳以上なら大人」と決めておくと、問いは「年齢は19歳以上か?」になります。
答えが真なら大人、偽ならまだです。
下で年齢を入れ替えると、判断がどう分かれるかがわかります。

年齢歳が19歳以上か?
25 ≥ 19 → 真
大人

条件が真かどうかを確かめて、道を選びます。

19歳以上なら大人、そうでなければまだです。
年齢という一つの値で、判断が分かれます。
こうして条件は、値を比べて真か偽かを出すのです。

03

「もし」と「そうでなければ」の組み立て

「もし」には、ふつう相棒がいます。
「もしそうならこれ、そうでなければあれ」。
条件が真のときにすることと、偽のときにすることを並べて書いておくのです。
この組み立てが、分かれ道の姿です。

もし 年齢が19歳以上なら
→ 「大人」と言って
そうでなければ
→ 「まだ」と言って
条件が真なら上を、偽なら下をします。二つのうち一つだけです。

もし〜なら〜、そうでなければ〜。

真のときと偽のときをあらかじめ書いておけば、プログラムはそのつど合うほうを選んで実行します。
私たちがいちいち見張っていなくても、自分で判断するのです。

04

その真・偽が分かれ道のスイッチ

この真・偽は、どこで見たでしょうか。
前のレッスンの値の種類で見ましたし、その前には構造の分野で、CPUの中のALUが「10は7より大きいか」に答えていた、あの真・偽です。
それが、分かれ道に明かりをつけるスイッチだったのです。

比べる (ALU)
年齢 ≥ 19
真・偽
真
分かれ道
大人の道へ
前に ALUが出していた真・偽が、ここで道を選ぶスイッチになりました。

比較の真・偽 → 分かれ道のスイッチ。

計算するALUが比較をし、その真・偽が分かれ道のスイッチになります。
別々に学んだかけらが、ここでつながります。
小さなものが集まって、「判断」になったのです。

05

点数で合格を判断する

小さなプログラムを作ってみましょう。
「点数が60点以上なら合格、そうでなければ不合格」。
点数を入れて実行すると、条件が真かどうかを確かめ、合格か不合格かの道を選びます。

点数点
もし 点数 ≥ 60 なら
"合格" 見せて
そうでなければ
"不合格" 見せて
実行すると 結果が 出ます

点数 → 条件の判断 → 合格 / 不合格。

点数一つで、合格と不合格が分かれます。
条件と二つの分かれ道さえあれば、プログラムは自分で判断できるのです。
次のレッスンでは、計算を助けるいろいろな記号を見ていきます。

一言でいうと「もし」とは、条件の真・偽で道を選ぶ分かれ道です。真ならこの道、偽ならあの道。前に見た真・偽とALUの比較が、ここでプログラムが自分で判断するスイッチになりました。
← プログラミング
このページがお役に立ったなら支援する