この章ではif文の応用で星座の判定プログラムを作ります。
長いプログラムですが、ifが連続しているだけです(クリックすると拡大します)。
初めに$Monthに入っている値をチェックして、その数字に一致するif文の箇所に入ります。この例ですと$Monthは1なので、以下のif文に入ります。
1月ですと、水瓶座と山羊座の2つの星座があるので、これをさらに入れ子のif文で分別して、星座を求めています。
$Dayの値が範囲以外の数値であればが出力されます。
また、$Monthの値が12を超えた数値ですと以下のが出力されます。
タグ: if
if文を入れ子にしよう
この章ではif文を入れ子にする方法について説明します。
if文は入れ子にすることが出来ます。
つまり、if文の中にif文を含めることができるということです。
次のようにif文の中にさらにif文が含まれている構造です。
$nameは「”手塚”」なので、はTRUEです。
TRUEによりさらに入れ子の中の次のif文が実行されます。
$ageは23で、18を超えていますので
が実行されます。
このように先頭の条件式がTRUEであるならば、さらに条件を絞りたい場合にifの入れ子を使用します。
つまり、この例では「手塚さんであることは確認しましたが、さらに年齢を確かめたいので質問しますね。
手塚さんは18歳を超えていますか?」ということです。
if文について理解しようif文の基本構文3
if文について理解しようif文の基本構文2
if文について理解しようif文の基本構文1
この章ではif文について説明します。
if文はどのような時に使われるのかを日常生活の中の場面で説明します。
例えば、もし、今日財布にお金が10000円あったらフランス料理にして、20000円あったら中華料理にするなどの選択を繰り返して人は生きていますが、プログラムでもこのような表現ができるのです。
このように条件によって表現を変えることを条件分岐と言います。
例のif文を見ていただければわかるようにprint文が少し右にずれていますが、これをインデントと言います。
プログラムは誰が読んでも解りやすいように、空白を入れたり、文字を下げたりすることが必要です。
「条件式」には次の表にあるような関係演算子を使ってとかなどをを使って表現します。
条件式は条件を満たしていればTRUEを返し、条件を満たしていないならばFALSEを返します。
そして、TRUEの時にif文が実行されます。
では何がTRUEで、何がFALSEであるかを見てみましょう。
条件式の中では関係演算子の中のを使用していますが、常識的に考えて125は123より大きいですので、条件を満たしていると考えるのです。
これがTRUEです。
TRUEですので、が実行されます。
もっと正確に言うと、条件式は条件を満たしていればTRUEになりif文が実行され、条件を満たしていないならばFALSEになりif文は実行されません。
関係演算子を使用する場合には比較対象が数値なのか文字列なのかによって使用する記号は違いますので、表で確認してください。
では次の例を見てみましょう。
「$animal」の中には犬が入っていますので、条件式はTRUEです。
これは文字列として等しいかどうかを比較しているので関係演算子はeqです。
以下のように数値として等しいかどうかを比較したいのであればを使用します。
次はfalseの例です
この例の結果は何も表示されません。
なぜかと言いますと の部分が条件を満たしていないからです。
つまりFALSEになり,ブロックの中が実行されません。
次の例を見てみましょう。
上の例は関係演算子を使用しないif文です。関係演算子を使用しない場合のTRUEとFALSEの条件は以下のようになります。
下の例はすべてFALSEですので、if文は実行されません。