Fortran Builder Logo
Fortran Builder




Fortran Consulting Logo
Fortran
コンサルティング




NAG Library Image
NAG Fortran
ライブラリ
関連情報

ナビゲーション:前へ   上へ   次へ

8 選択処理(case構文)

Fortranでは、複数の選択肢から一つを選ぶ方法として、case構文が用意されています。 if構文でも同じ処理が可能ですが、よりわかりやすい記述が可能です。

select case (式)
[case選択肢
   ブロック]...
end select

※式はinteger, character, もしくはlogical型のスカラーでなければなりません。

case文は例えば以下のように記述できます。
case(1)

もしくは以下のように範囲を示す事も可能です。
case(下限:上限)
※上限と下限のどちらかを省略することが可能です。(両方を省略することは許されていません)下限が省略された場合には上限以下の場合となり、 上限が省略された場合には下限以上となります。

また、以下のようにカンマで区切った並びとして指定することも可能です。
case(1, 2, 5:10, 20)

その他のどの場合(case)にも該当しない場合の記述を行う場合は以下のように行います。
case default

【case構文の例】
select case (n)    ! nは整数
  case (:-1)       ! -1以下の場合(負の数)
    fugo = -1
  case (0)         ! ゼロ
    fugo = 0
  case (1:)        ! 正の数(正の数)
    fugo = 1
end select


【case defaultを用いる例】
select case(ch)    ! chは文字
  case ('p', 'P')
    call print_file()
  case ('e', 'E')
    call edit_file()
  case default
    print *, "Unknown command '" // trim(ch) // "' specified..."
end select

8.1 ★ 練習課題:入力された数字(自然数)を英語で表示する

自然数(1以上の整数)を一つ入力して、対応する英単語を出力するプログラムを作成して下さい。但し出力する英語はone, two, three, four, fiveまでとし、それ以上の場合は、large numberと出力するものとします。

入力値 出力メッセージ
1 one
2 two
3 three
4 four
5 five
6以上 large number

処理手順例

  1. 変数を宣言する
     例)integer n
  2. 自然数を入力してほしい旨を画面に出力する(print文)
  3. 自然数をキーボードから入力する(read文)
  4. 入力された値に基づき英単語を表示する。(case構文)
     例)
     select case(n)
      case (1)
       print *, "one"
      case (2)
       print *, "two"
      ...
      case default
       print *, "large number"
     end select
実行例:
 Enter a natural number:
3
 three
[ kadai-natural-number.f90 ] - 入力された数字(自然数)を英語で表示するプログラム例


ナビゲーション:前へ   上へ   次へ

Results matter. Trust NAG.
Privacy Policy | Trademarks