COBOL言語の条件判断処理について理解しよう!|基礎ガイド

COBOL(コボル)言語の条件判断処理とは

基礎-IF-イメージ

COBOL(コボル)言語の条件判断処理とは?

条件判断処理は2つ以上の項目を比較し、値が等しいか等しくないか、もしくは値が大きいか小さいか、以上か以下か比較判断することを言います。比較する値は英字項目、数字項目、英数字項目を基本としますが、COBOL言語では集団項目も比較対象として指定することができます。では早速プログラムを作成してみましょう。

書き方
IF 条件
THEN 処理A
ELSE 処理B
END-IF

使用例:

基礎-IFの条件判断処理を使用したプログラム1-使用例

このプログラムはWK-HIKAKUの値が"2025”かそれ以外かを比較する処理になっています。”2025”であれば、2つの値は等しいというメッセージを出力し、そうでなければ、2つの値は等しくないとメッセージが出力されるようになります。WK-HIKAKUの値を変更して実際の動きを確認してみましょう。

実行結果:

基礎-IFの条件判断処理を使用したプログラム1-実行結果1

COBOL(コボル)言語の条件判断における基本事項やルールについて

1.「IF」の間の空白や改行は、自由に設定できます。

2.条件判断する際は判断の内容がわかりやすいものを指定するようにしましょう。

3.条件判断の結果、特に処理を実行することがない場合は「CONTINUE」文を指定します。

4.「IF」は多重分岐することができます。

ただし多重分岐しすぎると処理が複雑になるため、最大で3重までを目安にするようにしましょう。

COBOL(コボル)言語の条件判断処理における注意点

COBOL言語ではその他のプログラミング言語と違い、比較条件として以下の文字列を使用されることがありますので注意しましょう。

「A > B」:A IS GREATER THAN B

「A < B」:A IS LESS THAN B

「A = B」:A IS EQUAL TO B

「A >= B」:A IS GREATER THAN OR EQUAL TO B

「A <= B」:A IS LESS THAN OR EQUAL TO B

条件判断処理におけるCOBOL(コボル)プログラムの活用法

COBOL言語で条件判断処理を行う場合、「IF」以外にも「EVALUATE」文を使用することができます。複数条件判断処理を「IF」文で行う場合、多重分岐することになりますが、「EVALUATE」文を使用することで深い階層に条件判断処理を書くことなく表現することができます。実際に「IF」と「EVALUATE」の同じ処理を記述することでその違いについて理解してみましょう。

サンプルプログラム:

  1. IDENTIFICATION DIVISION.
  2. PROGRAM-ID. IF_SAMPLE2.
  3. ENVIRONMENT DIVISION.
  4. DATA DIVISION.
  5. WORKING-STORAGE SECTION.
  6. 01 WK-HIKAKU PIC X(4) VALUE "2023".
  7. PROCEDURE DIVISION.
  8.  IF WK-HIKAKU = "2025"
  9.  THEN
  10.   DISPLAY "(IF)WK-HIKAKU = 2025"
  11.  ELSE
  12.   IF WK-HIKAKU = "2024"
  13.   THEN
  14.    DISPLAY "(IF)WK-HIKAKU = 2024"
  15.   ELSE
  16.    IF WK-HIKAKU = "2023"
  17.    THEN
  18.     DISPLAY "(IF)WK-HIAKAKU = 2023"
  19.    ELSE
  20.     CONTINUE
  21.    END-IF
  22.   END-IF
  23.  END-IF.
  24.  
  25.  EVALUATE TRUE
  26.   WHEN WK-HIKAKU = "2025"
  27.    DISPLAY "(EVALUATE)WK-HIKAKU = 2025"
  28.   WHEN WK-HIKAKU = "2024"
  29.    DISPLAY "(EVALUATE)WK-HIKAKU = 2024"
  30.   WHEN WK-HIKAKU = "2023"
  31.    DISPLAY "(EVALUATE)WK-HIKAKU = 2023"
  32.   WHEN OTHER
  33.    CONTINUE
  34.  END-EVALUATE.
  35. STOP RUN.

このプログラムはWK-HIKAKUの値が”2025”か”2024”か”2023”かそれ以外かを比較する処理になっています。IF文でこれらの条件判断を進める場合は階層が深くなっていくのに対して、EVALUATE文は階層が変わっていないことに気づくかと思います。どちらのプログラムが見やすいかは一目瞭然です。このように誰が見てもわかりやすいプログラミングを行うように心がけましょう。

実行結果:

言語のNCを使用したプログラム2-実行

今回はCOBOL言語の条件判断処理についてご紹介しました。条件判断処理はプログラミング言語の基本になるため、必ず使えるように理解を深めましょう。またCOBOL言語はユーザでも使用できるようなプログラミング言語をコンセプトにしていることから、記号ではなく文字列で条件を指定することがあります。頻繁に利用されるものではありませんが、そのような定義ができることを理解しておきましょう。

この記事を読んだ人は、こちらの記事も読んでいます

【未経験者歓迎】COBOLプログラマー・システムエンジニアの募集

株式会社COBOLの求人・転職・募集情報を見る

COBOL入門のカテゴリー

取引企業様 募集中
COBOL技術者 募集
COBOL魂
読者採用
COBOL入門