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 以上の整数)を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 ] - 入力された数字(自然数)を英語で表示するプログラム例


前へ   上へ   次へ
大学生協限定キャンペーン情報
ご案内
関連情報
© 日本ニューメリカルアルゴリズムズグループ株式会社 2025
Privacy Policy  /  Trademarks