カテゴリ: COBOL 更新日: 2025/07/21

COBOLのEVALUATE文の使い方を完全ガイド!初心者でもわかる多岐選択

EVALUATE文(多岐選択)の基本と使い方
EVALUATE文(多岐選択)の基本と使い方

先生と生徒の会話形式で理解しよう

生徒

「COBOLで複数の条件を分岐させたいとき、どう書いたらいいですか?」

先生

「そういうときは、EVALUATE文という構文を使います。これがCOBOLの多岐選択に役立ちます。」

生徒

「EVALUATE文って難しそう……」

先生

「大丈夫。わかりやすい例で、基本から丁寧に見ていきましょう!」

1. EVALUATE文とは?

1. EVALUATE文とは?
1. EVALUATE文とは?

EVALUATE(エバリュエート)文は、COBOLで「条件がAならこれ、Bならあれ」という多岐選択(たきせんたく)を簡単に書ける命令です。複数の条件を順番にチェックして、当てはまる処理にジャンプします。これは、プログラムを見やすく整理するのに役立ちます。

「選び取る」という意味の英単語EVALUATEは、その名の通り、条件を評価して使う文章です。

2. 基本の書き方

2. 基本の書き方
2. 基本の書き方

まずは、基本的なEVALUATE文の構造です。


EVALUATE 学年
    WHEN 1
        DISPLAY "1年生です。"
    WHEN 2
        DISPLAY "2年生です。"
    WHEN OTHER
        DISPLAY "それ以外の学年です。"
END-EVALUATE

EVALUATEのあとにチェックしたい変数を書き、WHENで条件を書きます。最後はEND-EVALUATEで終了します。OTHERは、どれにも当てはまらない場合の「それ以外」です。

3. 複数条件をまとめてチェック

3. 複数条件をまとめてチェック
3. 複数条件をまとめてチェック

EVALUATE文では、複数の条件をまとめて書くこともできます。


EVALUATE TRUE
    WHEN 学年 = 1 AND 成績 >= 80
        DISPLAY "1年生で成績が良いですね!"
    WHEN 学年 = 2 AND 成績 < 60
        DISPLAY "2年生で要注意です。"
    WHEN OTHER
        DISPLAY "その他のパターンです。"
END-EVALUATE

この場合、EVALUATE TRUEと書くことで、WHENそれぞれに複数の条件(ANDやOR)を使って判断します。

4. ネストせずにすっきり書けるメリット

4. ネストせずにすっきり書けるメリット
4. ネストせずにすっきり書けるメリット

たとえばif文で同じ処理を書くと、こうなります:


IF 学年 = 1 THEN
    IF 成績 >= 80 THEN
        DISPLAY "1年生で成績が良いですね!"
    END-IF
END-IF

ネストが深くなると、読みづらくなりますが、EVALUATE文なら次のようにすっきり書けます。


EVALUATE TRUE
    WHEN 学年 = 1 AND 成績 >= 80
        DISPLAY "1年生で成績が良いですね!"
    WHEN 学年 = 2 AND 成績 < 60
        DISPLAY "2年生で要注意です。"
    WHEN OTHER
        DISPLAY "その他のパターンです。"
END-EVALUATE

5. 多岐条件とOTHERSの使い分け

5. 多岐条件とOTHERSの使い分け
5. 多岐条件とOTHERSの使い分け

WHEN句には複数の値を並べることもできます:


EVALUATE 成績
    WHEN 80 THRU 89
        DISPLAY "8割台です。"
    WHEN 90 THRU 100
        DISPLAY "90点以上!すごい!"
    WHEN 0 THRU 59
        DISPLAY "再テストになるかもしれません。"
    WHEN OTHER
        DISPLAY "成績が範囲外です。"
END-EVALUATE

THRUは「〜から〜まで(範囲)」を表すキーワードです。範囲を指定できるので、コードがすっきりします。

6. 実行結果のイメージ

6. 実行結果のイメージ
6. 実行結果のイメージ

たとえば学年=1かつ成績=85なら、次のように表示されます:


1年生で成績が良いですね!

学年=3なら「その他のパターンです。」と表示されます。

7. EVALUATE文の注意ポイント

7. EVALUATE文の注意ポイント
7. EVALUATE文の注意ポイント
  • END-EVALUATEを忘れず書く。
  • WHENごとに処理をまとめるが、順番に評価される。
  • OTHEROTHERSはどれにも当たらないときの最後の受け口。
  • 複数条件はAND OR を使い、範囲はTHRUを使う。
  • 初心者には、まずは簡単なWHEN句から始めて、慣れてきたら複雑な条件に挑戦すると◎。
カテゴリの一覧へ
新着記事
C#で複数ファイルをまとめて操作する方法(foreach・LINQ)をやさしく解説!
C#のインターフェースとは?クラス設計を柔軟にする基本技術
C#のコンストラクタの役割と使い方!オブジェクト初期化の基本
COBOLでデータベース接続を理解しよう!初心者でもわかる基本の考え方
人気記事
No.1
Java&Spring記事人気No1
C#のpartialクラスとは?初心者でも理解できるクラス分割の基本
No.2
Java&Spring記事人気No2
C#で型を調べる方法!GetType()・typeof演算子の違いと使い方
No.3
Java&Spring記事人気No3
C#の数値型をマスターしよう!int・double・decimalの違いと使い方
No.4
Java&Spring記事人気No4
COBOLのCOPY句の使い方を完全ガイド!初心者でもわかる共通部品の再利用方法