カテゴリ: COBOL 更新日: 2025/12/18

COBOLのIF文完全ガイド!初心者でもわかる条件分岐の基本構文

IF文の基本構文と条件分岐の書き方
IF文の基本構文と条件分岐の書き方

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

生徒

「COBOLで条件に応じて別の処理を実行する方法ってありますか?」

先生

「はい、COBOLではIF文を使って、条件によってプログラムの流れをコントロールできますよ。」

生徒

「初心者にもわかりやすく教えてほしいです!」

先生

「では、基本構文と条件分岐の書き方を、一つずつ丁寧に見ていきましょう。」

1. IF文とは?条件分岐の基本

1. IF文とは?条件分岐の基本
1. IF文とは?条件分岐の基本

COBOLのIF(イフ)文は、「もし〜ならば」という意味で、条件分岐をする命令です。プログラム内で条件によって実行する処理を選び分けられるようになります。

これがあることで、入力された値によって「Aの場合はこうする」「Bの場合は違う処理をする」と、流れを制御できるようになります

2. IF文の基本構文

2. IF文の基本構文
2. IF文の基本構文

IF文の書き方は、とてもシンプルです。基本的な構文は次のとおりです。


IF 条件
    実行する処理
END-IF

「END-IF」でIF文を終える点がCOBOLの特徴です。

3. ELSE付き条件分岐

3. ELSE付き条件分岐
3. ELSE付き条件分岐

条件に当てはまらない場合の処理をELSEで書けます。


IF 条件
    条件が真の時の処理
ELSE
    条件が偽の時の処理
END-IF

これにより、条件によって異なる動きを作れます。

4. 比較演算子・条件の種類

4. 比較演算子・条件の種類
4. 比較演算子・条件の種類

IF文では、いろんな条件を使えます。よく使うのは次のものです:

  • =(イコール)…等しいかどうか
  • ><…より大きい・小さい
  • >=<=…以上・以下
  • ANDOR…複数条件の組み合わせ
  • IS NUMERIC…数字だけか調べる条件

たとえば「年齢が20以上で、かつ番号が数字だけ」のように複数条件が使えます。

5. サンプル:年齢チェック

5. サンプル:年齢チェック
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. 複数条件の使い方

6. 複数条件の使い方
6. 複数条件の使い方

ANDやORを使えば、複雑な条件でも表現できます。


IF SCORE >= 60 AND ATTENDANCE = "OK"
    DISPLAY "合格です"
ELSE
    DISPLAY "要確認"
END-IF

この例では、点数60以上かつ出席がOKなら「合格」と表示します。

7. 条件に使える比較や文字列

7. 条件に使える比較や文字列
7. 条件に使える比較や文字列

IF文では数値だけでなく、文字列の比較もできます。


IF USER-INPUT = "YES"
    DISPLAY "はいが選ばれました"
END-IF

文字列は英語の大文字・小文字を区別するので、入力される文字に注意しましょう。

8. ネスト(入れ子)構造もOK

8. ネスト(入れ子)構造もOK
8. ネスト(入れ子)構造もOK

IF文の中にさらにIF文を入れる「ネスト」も可能です。ただし、複雑になるとわかりにくくなるので、初心者はシンプルに使うのがおすすめです。

9. IF文を使いこなすポイント

9. IF文を使いこなすポイント
9. IF文を使いこなすポイント
  • 条件は具体的に書く(曖昧な条件はバグのもと)
  • END-IFを忘れずに
  • ELSEも活用して読みやすくする
  • AND/ORで複数条件を組み合わせれば表現の幅が広がる

IF文はプログラミングの基本中の基本です。丁寧に書いて、何度も実行しながら慣れていきましょう。

まとめ

まとめ
まとめ

COBOLのIF文は、プログラムの流れを制御するための最も基本的で重要な構文です。条件に応じて異なる処理を実行したいときに使われ、業務ロジックを正確に表現するうえで欠かせない存在です。今回学んだように、IF文の基本構文はとてもシンプルですが、実際の業務では年齢判定、入金確認、在庫数のチェック、文字列の判定など、さまざまな場面で活用されます。

特にIF ~ ELSE ~ END-IFの構成を理解しておくことで、条件が成立したときと成立しなかったときの処理を明確に分けることができます。また、ANDORといった論理演算子を使えば、複数の条件を組み合わせることでより柔軟な判定ができるようになります。これにより、「条件Aかつ条件Bが成立する場合だけ処理を実行する」といった、現実の業務ルールに即した判断が可能となります。

IF文では、数値の比較だけでなく、文字列の比較や、特定の条件が数値かどうかを調べるIS NUMERICといった判定も可能です。こうしたさまざまな条件式を組み合わせることで、COBOLプログラムのロジックをより明確に、かつ可読性の高い形で記述することができるようになります。

また、IF文はネスト(入れ子構造)にも対応しており、「IF文の中にIF文」を書くこともできますが、入れ子が深くなりすぎると可読性が下がるため、初心者のうちはまず単純な構文に慣れてから、徐々に複雑な構成に挑戦していくのが良いでしょう。

ここで、IF文を使って会員ステータスを判定するサンプルを紹介します。

サンプル:会員ランクによるメッセージ表示


IDENTIFICATION DIVISION.
PROGRAM-ID. RANK-CHECK.

DATA DIVISION.
WORKING-STORAGE SECTION.
01 MEMBER-RANK PIC X(10).

PROCEDURE DIVISION.
    DISPLAY "会員ランクを入力してください(GOLD/SILVER/一般):"
    ACCEPT MEMBER-RANK

    IF MEMBER-RANK = "GOLD"
        DISPLAY "ようこそゴールド会員さま!特典をご確認ください。"
    ELSE IF MEMBER-RANK = "SILVER"
        DISPLAY "シルバー会員の皆さま、いつもご利用ありがとうございます。"
    ELSE
        DISPLAY "ご利用ありがとうございます。一般会員さまも引き続きご活用ください。"
    END-IF

    STOP RUN.

このようにIF文を使うことで、会員のランクに応じた挨拶文や処理を簡単に書けるようになります。判定対象は数値でも文字列でもよく、現場の業務仕様に合わせた処理が実現できます。

最後に、COBOLのIF文を扱う際に注意すべきポイントを振り返ります。まずはEND-IFを忘れずに書くこと、ELSEをうまく活用して処理を分かりやすく書くこと、そして条件式は常に明確にしてあいまいな判断を避けることです。業務ロジックはしばしば複雑になりますが、IF文の基本を押さえておけば、複雑な処理も少しずつ対応できるようになります。

たとえば、売上金額が一定以上のときに割引率を変える、在庫数がゼロのときに出荷を止める、ユーザーの入力値に応じて確認メッセージを出す、などの条件処理は、すべてIF文で記述可能です。COBOLの条件分岐は業務ロジックの根幹を支える重要な技術ですので、練習を重ねて確実にマスターしていきましょう。

先生と生徒の振り返り会話

生徒

「先生、IF文って最初は難しそうって思ったけど、使い方が分かってきたら楽しくなってきました!」

先生

「いいですね!条件に応じて処理を分けるというのは、実はプログラミングの中でもすごく実用的で、やりがいのあるところなんですよ。」

生徒

「ANDとかORを使うと、もっと細かく判断できて便利ですね!ちょっとずつ応用もできそうな気がしてきました。」

先生

「その調子です。最初は単純な条件から始めて、慣れてきたら複雑な条件にも挑戦していきましょう。現場では、IF文をどれだけ分かりやすく書けるかが、プログラムの品質にもつながりますよ。」

生徒

「じゃあ次は、IF文とEVALUATE文をうまく使い分けられるように練習してみます!」

先生

「いい心がけですね。IF文は条件分岐の基本なので、これからも繰り返し使ってしっかり身につけましょう。」

カテゴリの一覧へ
新着記事
New1
C#
C#のデフォルト引数と名前付き引数の使い方を解説!初心者でも安心のやさしい入門
New2
C#
C#のオブジェクト初期化子を完全ガイド!初心者でもわかる便利な使い方
New3
COBOL
COBOLの帳票出力と編集を完全マスター!条件付き表示で分かりやすい書類を作る方法
New4
COBOL
COBOLの帳票出力を完全攻略!数値項目のカンマ・小数点編集例を徹底解説
人気記事
No.1
Java&Spring記事人気No1
C#
C#のpartialクラスとは?初心者でも理解できるクラス分割の基本
No.2
Java&Spring記事人気No2
C#
C#でJSONファイルを読み書きする方法(JsonSerializer・Newtonsoft.Json)
No.3
Java&Spring記事人気No3
C#
C#のLINQクエリ構文の書き方と基本操作をマスターしよう
No.4
Java&Spring記事人気No4
C#
C#でswitch式を使う方法!C# 8.0以降の新機能を解説
No.5
Java&Spring記事人気No5
COBOL
COBOLの数値データ型「PIC 9」の使い方と注意点をやさしく解説!
No.6
Java&Spring記事人気No6
C#
C#のLINQ(リンク)とは?基本概念とデータ操作を初心者向けに徹底解説!
No.7
Java&Spring記事人気No7
C#
C#のCancellationTokenを使ったキャンセル処理を完全ガイド!非同期処理を安全に止める方法
No.8
Java&Spring記事人気No8
C#
C#の非同期処理とUIスレッドをマスター!WPF/WinFormsでアプリが止まる問題を解決