COBOLのIF文完全ガイド!初心者でもわかる条件分岐の基本構文
生徒
「COBOLで条件に応じて別の処理を実行する方法ってありますか?」
先生
「はい、COBOLではIF文を使って、条件によってプログラムの流れをコントロールできますよ。」
生徒
「初心者にもわかりやすく教えてほしいです!」
先生
「では、基本構文と条件分岐の書き方を、一つずつ丁寧に見ていきましょう。」
1. IF文とは?条件分岐の基本
COBOLのIF(イフ)文は、「もし〜ならば」という意味で、条件分岐をする命令です。プログラム内で条件によって実行する処理を選び分けられるようになります。
これがあることで、入力された値によって「Aの場合はこうする」「Bの場合は違う処理をする」と、流れを制御できるようになります。
2. IF文の基本構文
IF文の書き方は、とてもシンプルです。基本的な構文は次のとおりです。
IF 条件
実行する処理
END-IF
「END-IF」でIF文を終える点がCOBOLの特徴です。
3. ELSE付き条件分岐
条件に当てはまらない場合の処理をELSEで書けます。
IF 条件
条件が真の時の処理
ELSE
条件が偽の時の処理
END-IF
これにより、条件によって異なる動きを作れます。
4. 比較演算子・条件の種類
IF文では、いろんな条件を使えます。よく使うのは次のものです:
=(イコール)…等しいかどうか>、<…より大きい・小さい>=、<=…以上・以下AND、OR…複数条件の組み合わせIS NUMERIC…数字だけか調べる条件
たとえば「年齢が20以上で、かつ番号が数字だけ」のように複数条件が使えます。
5. サンプル:年齢チェック
IDENTIFICATION DIVISION.
PROGRAM-ID. AGE-CHECK.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 AGE-VALUE PIC 9(2).
PROCEDURE DIVISION.
DISPLAY "年齢を入力してください:"
ACCEPT AGE-VALUE
IF AGE-VALUE >= 20
DISPLAY "あなたは成人です。"
ELSE
DISPLAY "未成年です。"
END-IF
STOP RUN.
このプログラムでは、入力された年齢が20以上なら「成人」、それ以外なら「未成年」と表示されます。
6. 複数条件の使い方
ANDやORを使えば、複雑な条件でも表現できます。
IF SCORE >= 60 AND ATTENDANCE = "OK"
DISPLAY "合格です"
ELSE
DISPLAY "要確認"
END-IF
この例では、点数60以上かつ出席がOKなら「合格」と表示します。
7. 条件に使える比較や文字列
IF文では数値だけでなく、文字列の比較もできます。
IF USER-INPUT = "YES"
DISPLAY "はいが選ばれました"
END-IF
文字列は英語の大文字・小文字を区別するので、入力される文字に注意しましょう。
8. ネスト(入れ子)構造もOK
IF文の中にさらにIF文を入れる「ネスト」も可能です。ただし、複雑になるとわかりにくくなるので、初心者はシンプルに使うのがおすすめです。
9. IF文を使いこなすポイント
- 条件は具体的に書く(曖昧な条件はバグのもと)
- END-IFを忘れずに
- ELSEも活用して読みやすくする
- AND/ORで複数条件を組み合わせれば表現の幅が広がる
IF文はプログラミングの基本中の基本です。丁寧に書いて、何度も実行しながら慣れていきましょう。