条件の作り方 ~ プログラムが魔法でないとわかればプログラマになれる 15

2つのものを比較すれば条件が作れる

もし◯◯だったら、に使う条件を考えてみましょう。例えば「もし今日が誕生日だったら」という条件を考えたとします。誰の誕生日なのか(何月何日なのか)を決めておく必要はありますが、今日が誕生日かどうかはイエスかノーで明確に答えられます。では私たちはどうやってイエスかノーかを判断しているのでしょうか。

今日誕生日 かどうか判断するためには 今日誕生日 を比べなければなりません。 今日誕生日 が同じ月日であればイエス、違えばノーと言えるわけです。このように比較することがプログラムにおける基本的な 条件 の作り方になります。

プログラムで2つのものを比較する方法について説明します。次の式を見てください。

a > b

これはなんと読むでしょうか。数学に馴染みがなくても「a 大なり b」という独特の読み方を聞けばピンとくるかもしれません。最近では「a は b より大きい」と読むことの方が多いかもしれません。これは 不等号 と呼ばれる記号でどちらの数が大きいか小さいかを表すものです。プログラミング言語でも大小の比較にはこの記号を使います。

コンピューターにとって > は計算に使う +- などと同じ存在です。

let answer = 1 + 2;

このように書くと 1 + 2 が計算されて 3 になります。 answer3 を指すことになります。次に不等式を使ってみます。

let answer = 2 > 1;

2 > 1 がまず計算されます。不等式を計算する、というと妙に感じるかもしれません。広い意味では計算ですが、よりわかりやすい言い方をすれば 評価 です。評価とは内容を吟味して価値を決めることですが、 2 > 1 を吟味して答えを出すと考えてください。何を吟味するのかといえば 2 > 1 という不等式が成立するかどうかです。成立するのであれば true 、成立しないのであれば false という計算結果になります。true false は文字でも数値でもありません。プログラミング言語に用意されたイエスとノーを表す特別な単語です。

2 > 1 は不等式として正しく、成立していますから計算結果(評価した結果)は true になります。つまり answertrue ということになります。少し数字を変えて見ましょう。

let answer = 2 > 5;

「2 は 5 より大きい」という式ですが、実際には 2 は 5 より小さいので不等式として間違っています。つまりこの式は成立しません。成立しないので計算結果は false になります。

不等号は > だけでなく反対の意味の < があります。「a < b」とした場合「a は b より小さい」という意味になります。それでは if の説明で使ったプログラムを改めてみてみましょう。

let age = 19;
if (age < 20) {
    alert("お酒は販売できません");
}

age < 20 の部分に注目してください。ここが 条件 です。 age < 20 が成立すれば true、しなければ false になります。ここでは age19 を指していますから「19 < 20」は成立します。つまり true です。計算過程を覗くと次のようになっています。

if (true) {
    alert("お酒は販売できません");
}

if は「ある場合にだけ何かする」ための命令です。命令の意味は「( ) の中の条件が成立するなら { } の中の命令を動かす」となります。これは言い換えると「( ) の中が true なら { } の中の命令を動かす」といえます。

おさらいしましょう。プログラムで「もし◯◯だったら」に使う条件を考えるときは2つのものを比較する条件を考えます。今回は数が大きいか小さいか比較するための記号 >< を使いました。比較した式が成立する場合は true 、しない場合は false になります。 truefalse か、という二択の計算結果を使うことで「もし◯◯だったら」に使う命令 if の条件として利用することができました。

>>続きを読む
>>全記事を見る

<最新話にご興味があればフォローお願いします>

この記事が気に入ったらサポートをしてみませんか?