If 文は、
に応じて、プログラムの流れを2つに分岐させるものでした。
プログラムの流れを3つ以上に分けなければならないときは、【基礎課題 4-6】のように、If文の中にさらに If 文を書かなければなりません。その結果、プログラムの構造が複雑になってしまいました。
そこで、プログラムの流れを3つ以上に分ける場合に使うと便利な、Select Case 文の使い方を説明します。
【基礎課題 4-6】は、Select Case 文を使うと次のように書くことができます。
この命令は、下のような構造になっています。
Select Case 変数名 Case 変数の値の範囲 変数の値がその範囲にあるときの処理1; 変数の値がその範囲にあるときの処理2; 変数の値がその範囲にあるときの処理3; ・ ・ ・ Case 変数の値の範囲 変数の値がその範囲にあるときの処理1; 変数の値がその範囲にあるときの処理2; 変数の値がその範囲にあるときの処理3; ・ ・ ・ Case 変数の値の範囲 変数の値がその範囲にあるときの処理1; 変数の値がその範囲にあるときの処理2; 変数の値がその範囲にあるときの処理3; ・ ・ ・ ・ ・ ・ End Select
値がある範囲をもつ場合は、「6 To 8」のように、最小の値を先に、最大の値を後に書いて、間に「To」を書きます。
範囲は上下の値が決まっていなければならないので、例えば「6以上」のような範囲の指定はできません。
変数の値の範囲は、コンピュータの能力の許す限りいくつでも書くことができます。
範囲はきちんと分類して、重複がないようにしなければなりません。
【基礎課題 4-6】を、Select Case 文を使って作り直してください。
【基礎課題 4-7】を、Select Case 文を使って作り直してください。
Select Case 文には、Case Else を使った特殊な例があります。一番下の「変数の値の範囲」を Case Else と書いて、「今までに指定した範囲以外」という意味を表すことができます。
「診断」ボタンを押したときの処理
Select Case 変数名 Case 変数の値の範囲 変数の値がその範囲にあるときの処理1; 変数の値がその範囲にあるときの処理2; 変数の値がその範囲にあるときの処理3; ・ ・ ・ Case 変数の値の範囲 変数の値がその範囲にあるときの処理1; 変数の値がその範囲にあるときの処理2; 変数の値がその範囲にあるときの処理3; ・ ・ ・ Case 変数の値の範囲 変数の値がその範囲にあるときの処理1; 変数の値がその範囲にあるときの処理2; 変数の値がその範囲にあるときの処理3; ・ ・ ・ ・ ・ ・ Case Else 変数の値がその範囲にあるときの処理1; 変数の値がその範囲にあるときの処理2; 変数の値がその範囲にあるときの処理3; ・ ・ ・ End Select
年齢を入力してからボタンを押すと、次の料金表にしたがって入場料金を表示するプログラムを、Case Else をともなった Select Case 文を利用して作って下さい。
年齢 | 入場料金 |
---|---|
6歳以上12歳以下 | 500円 |
13歳以上65歳以下 | 1000円 |
それ以外(5歳以下または66歳以上) | 無料 |