COBOL初心者必見!算術命令「ADD」の使い方をマスターしよう

2025年4月8日火曜日

COBOL

COBOLでプログラムを書いていると、「数値を足したい」場面は思ったよりも早くやってきます。

そんなとき登場するのが、COBOLの算術命令 ADD(アド)。でも、書き方が少し独特で、「ADD TO」「ADD GIVING」など、初心者にはちょっとややこしく感じるかもしれません。

「ただ足すだけなのに、なぜ2種類あるの?」
そんなモヤモヤを、この記事でスッキリさせましょう。

COBOL初心者でも安心。意味・使い方・注意点まで、ゆるっと解説します。読み終える頃には、ADD命令が“こわくない存在”になっているかもしれません。

この記事で学べること
・ADD命令の基本構文と使い方
・「ADD TO」と「ADD GIVING」の違い
・エラーを防ぐためのポイント
・よくある失敗例とその回避法
・実行結果がひと目でわかるサンプルプログラム

ちょっとしたコツを知るだけで、COBOLがぐっと身近に感じられますよ。

COBOL 算術命令 ADD とは? ~足し算の基本~

COBOLのADD命令は、名前のとおり「数を足す」ための命令です。

たとえば「100円の商品を3つ買ったら、合計はいくら?」というような場面で、ADD命令が使えます。プログラムの中で「数を増やす」作業があるときは、ほぼ登場します。

COBOLには、計算を行う命令がいくつかありますが、ADDはその中でも最もシンプルな命令のひとつです。
「算術命令」と呼ばれるカテゴリに属していて、加算(足し算)を担当します。

難しく考える必要はありません。「数字をAにBだけ足すよ!」という指示を、COBOLの文法で表すだけです。

ちょっと算数に戻った気分で、楽しく覚えていきましょう。


なぜ COBOL プログラムで ADD 命令が重要なのか?

COBOLは、会社の業務システムや銀行などの基幹処理で今も使われています。

例えば…

  • 毎月の売上を合計するとき
  • 商品の在庫数を更新するとき
  • 交通費や経費をまとめるとき

どれもADD命令がピタッとはまる場面です。

「数字を正しく足す」ことは、ビジネスにおいて超基本。
ミスが許されない計算処理をするには、ADD命令の理解が欠かせません。

最初は戸惑うかもしれませんが、ADD命令を覚えるとできることがどんどん広がります。
COBOLで役立つ技術を身につける第一歩として、しっかりマスターしていきましょう!

COBOL 算術命令 ADD の基本的な書き方(構文)

COBOLのADD命令は、「数を足す」ための命令です。書き方はとてもシンプルです。

基本構文は、次のようになります。

ADD A TO B.

Aは加える数、Bは足される数です。
この命令を実行すると、Aの値がBに加算されて、Bの中身が変わります。

行末にはピリオド(.)が必要です。うっかり忘れると、エラーになります。

予約語(ADD、TOなど)は、大文字で書くのが一般的です。変数(AやB)は、事前に定義しておく必要があります。

では、よく使われる2つの書き方を紹介していきます。


「ADD TO」の使い方と具体例

「ADD TO」は、1つまたは複数の数値を、1つの変数にまとめて足すときに使います。

ADD 5 TO TOTAL.

この場合、TOTALに5を加えます。

変数の値が変化する様子を見てみましょう。

初期状態: TOTAL = 10
実行後  : TOTAL = 15

複数の数を一気に足すこともできます。

ADD A B TO TOTAL.

この命令は、AとBの合計をTOTALに加算します。
TOTALがカウント役として使われるようなイメージです。


「ADD GIVING」の使い方と具体例

「ADD GIVING」は、合計結果を新しい変数に入れたいときに使います。

ADD A B GIVING C.

AとBを足した結果をCに入れます。AとBはそのままで、Cだけが変わるのがポイントです。

A = 10
B = 20
実行後 → C = 30(AとBは変化なし)

元の値を保ったまま計算したいときには、「ADD GIVING」が便利です。

TO形式とのちがいを意識しながら使い分けると、ミスが減ります。


COBOL 算術命令 ADD を使う際の注意点

ADD命令は簡単そうに見えますが、うっかりミスも起こりやすいです。
とくに多いのが、変数の定義ミス桁あふれ(オーバーフロー)です。

この2つに気をつけておけば、安心して使えます。


データ項目(変数)の定義に注意しよう

足し算をするには、変数が数値として正しく定義されていなければいけません。

DATA DIVISION で、PICTURE句を使って数値型にしておきましょう。

01 A PIC 9(3).
01 B PIC 9(3).

たとえば、AとBを文字型で定義してしまうと、エラーになります。

01 A PIC X(3). ←これは文字型なので、ADD命令では使えません。

また、結果を入れる変数の桁数が足りないと、正しく計算できません。

結果を格納する変数は、少し余裕をもって定義しておくのがおすすめです。


桁溢れ(オーバーフロー)を防ぐには?

オーバーフローとは、計算結果が変数の上限を超えてしまう状態のことです。

例を見てみましょう。

01 A PIC 99.
01 B PIC 99.
01 C PIC 99.

A = 50
B = 60

ADD A TO B.

この場合、Bに60、Aに50なので合計110になります。
でもBは2桁(99)までしか入らないので、オーバーフローが発生します。

結果は「10」になってしまい、100の位が消えます。
大きな数を扱うときは、変数の桁数をしっかり確認することが大事です。

予防策として「ON SIZE ERROR」句を使うこともできます。

ADD A TO B ON SIZE ERROR
    DISPLAY "オーバーフローしました".

これを入れておくと、桁あふれ時にエラー処理が実行されます。

ミスを防ぎつつ、安心してプログラムを動かすための工夫です。

実践!COBOL 算術命令 ADD のサンプルプログラム

ここまでの説明を見てきたら、実際に動くCOBOLプログラムで試してみたくなりませんか?

ここでは、ADD TOADD GIVINGの両方を使ったサンプルを紹介します。
表示も取り入れて、値の変化をしっかり確認できるようにしています。


算術命令「ADD」のサンプルプログラム

では実際に算術命令「ADD」のサンプルプログラムを見てみましょう。
IDENTIFICATION DIVISION.
PROGRAM-ID. ADD-SAMPLE.

DATA DIVISION.
WORKING-STORAGE SECTION.
01 NUM1     PIC 9(4) VALUE 100.
01 NUM2     PIC 9(4) VALUE 50.
01 TOTAL-A  PIC 9(5) VALUE 0.   *> ADD TO用(結果格納)
01 TOTAL-B  PIC 9(5) VALUE 0.   *> ADD GIVING用(結果格納)

PROCEDURE DIVISION.
MAIN-PROCEDURE.

    *> ADD TO の例:NUM1 に NUM2 を加算(結果は NUM1 に格納される)
    DISPLAY "--- ADD TO START ---".
    DISPLAY "BEFORE ADD TO: NUM1 = " NUM1.
    ADD NUM2 TO NUM1.
    DISPLAY "AFTER ADD TO : NUM1 = " NUM1.
    DISPLAY "--- ADD TO END ---".
    DISPLAY " ".

    *> ADD GIVING の例:NUM1(加算後) と NUM2 を加算し、結果を TOTAL-B に格納
    DISPLAY "--- ADD GIVING START ---".
    DISPLAY "NUM1 = " NUM1 ", NUM2 = " NUM2.
    ADD NUM1 NUM2 GIVING TOTAL-B.
    DISPLAY "RESULT (TOTAL-B) = " TOTAL-B.
    DISPLAY "--- ADD GIVING END ---".

    STOP RUN.

実行結果

--- ADD TO START ---
BEFORE ADD TO: NUM1 = 0100
AFTER ADD TO : NUM1 = 0150
--- ADD TO END ---

--- ADD GIVING START ---
NUM1 = 0150, NUM2 = 0050
RESULT (TOTAL-B) = 00200
--- ADD GIVING END ---

(※表示の桁数やスペースは処理系によって多少変わる場合があります)


サンプルプログラムの解説

IDENTIFICATION DIVISIONでは、プログラム名を定義しています。

DATA DIVISIONでは、4つの変数を定義しています。

  • NUM1:初期値100(4桁)
  • NUM2:初期値50(4桁)
  • TOTAL-A:ADD TO用(5桁で初期値0)
  • TOTAL-B:ADD GIVING用(5桁で初期値0)

次に、PROCEDURE DIVISIONの内容を見ていきましょう。

まず最初の

ADD NUM2 TO NUM1.

ここでNUM1にNUM2の値50を足して、NUM1の値が100から150に変化します。

そのあとに出てくるのが

ADD NUM1 NUM2 GIVING TOTAL-B.

この部分ではNUM1(150)とNUM2(50)を足して、結果(200)をTOTAL-Bに入れるという動作になります。

NUM1やNUM2の値は変化せず、その合計だけがTOTAL-Bに反映されます。

「加算元の値を変えるなら TO」「変えずに合計だけ使いたいなら GIVING」
この違いを体験できる内容になっています。


【まとめ】COBOLの算術命令ADDを使いこなそう

ここまでで、ADD命令の基本と使い方のコツがしっかり掴めたはずです。

  • ADD命令はCOBOLで数を足す命令
  • 「ADD TO」は、結果を元の変数に上書き
  • 「ADD GIVING」は、別の変数に結果を格納
  • 変数の定義や桁数に気をつける
  • オーバーフロー対策にはON SIZE ERRORも活用できる

基本さえ押さえれば、COBOLの数値処理はぐっと身近になります。
これでADD命令マスターへの第一歩はバッチリ!

どんどん書いて、COBOLプログラミングに慣れていきましょう!

【関連記事】

>> 今さら聞けない「COBOLとは?」

このブログを検索

  • ()

自己紹介

自分の写真
リモートワークでエンジニア兼Webディレクターとして活動しています。プログラミングやAIなど、日々の業務や学びの中で得た知識や気づきをわかりやすく発信し、これからITスキルを身につけたい人にも役立つ情報をお届けします。 note → https://note.com/yurufuri X → https://x.com/mnao111

QooQ