プログラムの処理を条件により分岐させることができます。この分岐は、「もし、今日が平日ならば仕事に行く」というように、日常でも「もし、~であれば、~する」という場面が多くあります。それをプログラムで表現するために使用できる命令文として、If文があります。
If文の書式1 |
---|
If 条件式 Then 処理 End If |
○ プロジェクト
次のようにプロジェクトを作成してください。
プロジェクトの種類 | コンソール アプリケーション |
---|---|
プロジェクト名 | IfTest1 |
○ プログラム
次のようにプログラムを入力してください。
○ フローチャート
○ 実行結果
「平日」か「休日」を入力してください:平日
今日は仕事があります。
--------------------------------------------------------------------------------------------------------------------
「平日」か「休日」を入力してください:休日
(終了)
○ 解説
9行目のConsole.WriteLine()はキーボードからのデータを受け付ける命令です。この命令を実行すると、コマンドプロンプト上で入力待ち状態になります。今回のプログラムはキーボードから入力されたデータを変数strに格納しています。
12行目で入力したデータを比較しています。条件として変数strに格納されているデータが“平日”と等しければ、13行目の命令文で画面に表示されます。条件が満たされない場合は何も処理しません。
次に、「もし、今日が平日ならば仕事に行く、その他の場合は、遊びに行く」というような、「もし、~であれば、~をし、その他の場合は、~する」という条件を見てみましょう。
If文の書式2 |
---|
If 条件式 Then 処理1 Else 処理2 End If |
○ プロジェクト
次のようにプロジェクトを作成してください。
プロジェクトの種類 | コンソール アプリケーション |
---|---|
プロジェクト名 | IfTest2 |
○ プログラム
プロジェクトを作成して確認してみましょう。実行するとコンソールに結果が表示されます。
○ フローチャート
○ 実行結果
「平日」か「休日」を入力してください:平日
今日は仕事があります。
--------------------------------------------------------------------------------------------------------------------
「平日」か「休日」を入力してください:休日
今日は遊びに行きましょう。
○ 解説
12行目で入力したデータを比較しています。条件として変数strに格納されているデータが”平日”と等しければ、13行目の命令文で画面に表示されます。14行目でElse文が記述されているので、条件が満たされない場合は15行目の命令文でメッセージが表示されます。
入力内容によって“今日は仕事があります。”か、”今日は遊びに行きましょう。”が表示されます。今回のサンプルでは”平日”と入力されれば”今日は仕事があります。“と表示され、それ以外を入力すると”今日は遊びに行きましょう。“と表示されます。
次に、「もし、今日が平日ならば仕事に行く、その他もし、休日ならば遊びに行く、その他の場合は、なにもしない」というような、「もし、~であれば、~をし、その他もし~であれば、~をし、その他の場合は、~する」という条件を見てみましょう。
If文の書式3 |
---|
If 条件式1 Then 処理1 Else If 条件式2 Then 処理2 Else 処理3 End If |
○ プロジェクト
次のようにプロジェクトを作成してください。
プロジェクトの種類 | コンソール アプリケーション |
---|---|
プロジェクト名 | IfTest3 |
○ プログラム
プロジェクトを作成して確認してみましょう。実行するとコンソールに結果が表示されます。
○ フローチャート
○ 実行結果
「平日」か「休日」を入力してください:平日
今日は仕事があります。
--------------------------------------------------------------------------------------------------------------------
「平日」か「休日」を入力してください:休日
今日は遊びに行きましょう。
--------------------------------------------------------------------------------------------------------------------
「平日」か「休日」を入力してください:その他
今日は家でおとなしくしていましょう。
○ 解説
12行目で入力したデータを比較しています。条件として変数strに格納されているデータが”平日“と等しければ、13行目の命令文で画面に表示されます。14行目でElseIf文が記述されているので、さらに入力データを比較しています。条件として変数strに格納されているデータが”休日”と等しければ、15行目の命令文で画面に表示されます。16行目でElse文が記述されているので、条件が満たされない場合は17行目の命令文でメッセージが表示されます。
ElseIf文は複数指定することができます。また、Else文は省略することもできます。
次に条件文に複数の条件を指定する方法を見てみましょう。複数の条件を組み合わせて一つの条件として扱います。その方法として論理積と論理和があります。そして論理否定も確認してみましょう。
論理積は複数の条件のいずれも満たされる場合に真と判断されます。
論理積の書式 |
---|
条件式1 And 条件式2 |
○ プロジェクト
次のようにプロジェクトを作成してください。
プロジェクトの種類 | コンソール アプリケーション |
---|---|
プロジェクト名 | IfTest4 |
○ プログラム
プロジェクトを作成して確認してみましょう。実行するとコンソールに結果が表示されます。
○ フローチャート
○ 実行結果
年齢を入力してください:8
小学生です。
--------------------------------------------------------------------------------------------------------------------
年齢を入力してください:13
小学生ではありません。
○ 解説
12行目で入力した年齢が6歳以上かつ12歳以下かどうかを判断しています。その範囲内にあれば条件が「真」と判断されて13行目が実行されます。範囲外であれば15行目が実行されます。
論理和は複数の条件のいずれかが満たされる場合に真と判断されます。
論理和の書式 |
---|
条件式1 Or 条件式2 |
○ プロジェクト
次のようにプロジェクトを作成してください。
プロジェクトの種類 | コンソール アプリケーション |
---|---|
プロジェクト名 | IfTest5 |
○ フローチャート
○ 実行結果
乗り物を入力してください:車
公共交通機関をご利用ください。
--------------------------------------------------------------------------------------------------------------------
乗り物を入力してください:オートバイ
公共交通機関をご利用ください。
--------------------------------------------------------------------------------------------------------------------
乗り物を入力してください:徒歩
(何も表示されない)
○ 解説
12行目で入力した乗り物が“車”か“オートバイ”であれば、13行目が実行されてメッセージが表示されます。それ以外の場合は何も処理されません。
■ 論理否定
論理否定は真の時には偽と、偽の時には真と判断されます。
論理和の書式 |
---|
Not 条件式 |
○ プロジェクト
次のようにプロジェクトを作成してください。
プロジェクトの種類 | コンソール アプリケーション |
---|---|
プロジェクト名 | IfTest6 |
○ フローチャート
○ 実行結果
晴れ・曇り・雨のいずれかを入力してください:晴れ
傘は必要ありません。
--------------------------------------------------------------------------------------------------------------------
晴れ・曇り・雨のいずれかを入力してください:曇り
傘は必要ありません。
--------------------------------------------------------------------------------------------------------------------
晴れ・曇り・雨のいずれかを入力してください:雨
傘が必要です。
○ 解説
12行目で入力した天気が”雨”でなければ、13行目が実行されてメッセージが表示されます。”雨”の場合は15行目が実行されてメッセージが表示されます。