COBOL言語の数値の操作について理解しよう!|基礎ガイド

COBOL(コボル)言語のさまざまな数値操作の方法とは

基礎-数値操作の四則演算-イメージ

COBOL(コボル)言語の数値操作とは?

では数値の操作について考えてみましょう。よく使われる数値操作としては数値と演算子を組み合わせる算術式で、足し算、引き算、掛け算、割り算の四則演算や括弧を使った数値の計算になります。四則演算はそれぞれその機能を実現するために予め予約語が定義されています。足し算:ADD文、引き算:SUBTRACT文、掛け算:MULTIPLY文、割り算:DIVIDE文、それぞれのプログラムを作成して理解していきましょう。

書き方1(ADD文)

ADD A TO B :AをBに加算してBに代入

書き方2(SUBTRACT文)

SUBTRACT A FROM B :AをBから減算してBに代入

書き方3(MULTIPLY文)

MULTIPLY A BY B :AとBを乗算してBに代入

書き方4(DIVIDE文)

DIVIDE A INTO B :BからAを除算してBに代入

使用例:

基礎-数値操作の四則演算を使用したプログラム1-使用例

実行結果:

基礎-数値操作の四則演算を使用したプログラム1-実行結果

COBOL(コボル)言語の数値操作における基本事項やルールについて

1.「ADD TO、SUBTRACT FROM、MULTIPLY BY、DIVIDE INTO」の間の空白や改行は、自由に設定できます。

2.四則演算として指定する項目は、数字項目を指定する必要があります。

3.代入先の数字項目に「ROUNDED」指定を行うと、四捨五入した結果が返却されます。

4.「GIVING」指定を行うと、演算結果の代入先を指定することができます。

COBOL(コボル)言語の数値操作における注意点

演算を行った結果、指定したデータ項目の桁数の最大値を超え、桁あふれが発生する場合があります。桁あふれの条件が成立した場合、「ON SIZE ERROR」指定をしておくと桁あふれが発生した場合の対応を記述することができます。エラーで処理が中断しないように、また処理エラーが検知できるようにプログラミングしておきましょう。

「END-ADD、END-SUBTRACT、END-MULTIPLY、END-DIVIDE」など文の終わりを明示的に示す明示範囲符の指定も可能です。明示範囲符の記述がなくても処理は正常に行われますが、プログラムのトレースが容易になりますので記述するようにしましょう。プログラムは単に処理が動くことを考えるだけでなく、後で見返したとき、他の人がプログラムを見たときに理解しやすいような記述を心がけましょう。

数値操作を考えたCOBOL(コボル)プログラムの活用法

先ほどまで四則演算として使用する予約語「ADD、SUBTRACT、MULTIPLY、DIVIDE」をご紹介しました。

レガシープログラムとしては多く使用されていますが、全ての機能を有する「COMPUTE」文の使用が便利です。「COMPUTE」文は算術式のイメージで記述できるため、直感的に理解しやすく一度に計算できる特徴があります。では、先ほどのサンプルプログラムを「COMPUTE」文に変えて記述してみましょう。

サンプルプログラム:

  1. IDENTIFICATION DIVISION.
  2. PROGRAM-ID. SUJI_SAMPLE2.
  3. ENVIRONMENT DIVISION.
  4. DATA DIVISION.
  5. WORKING-STORAGE SECTION.
  6. 01 WK-SUJI PIC S9(2) VALUE 10.
  7. PROCEDURE DIVISION.
  8.  DISPLAY "WK-SUJI=" WK-SUJI.
  9.  
  10.  COMPUTE WK-SUJI = WK-SUJI + 1.
  11.  DISPLAY "+:WK-SUJI=" WK-SUJI.
  12.  
  13.  COMPUTE WK-SUJI = WK-SUJI - 1.
  14.  DISPLAY "-:WK-SUJI=" WK-SUJI.
  15.  
  16.  COMPUTE WK-SUJI = WK-SUJI * 2.
  17.  DISPLAY "*:WK-SUJI=" WK-SUJI.
  18.  
  19.  COMPUTE WK-SUJI = WK-SUJI / 2.
  20.  DISPLAY "/:WK-SUJI=" WK-SUJI.
  21.  
  22.  COMPUTE WK-SUJI = (WK-SUJI + 1 - 1) * 2 / 2.
  23.  DISPLAY "MIX:WK-SUJI=" WK-SUJI.
  24. STOP RUN.

実行結果:

基礎-数値操作の四則演算を使用したプログラム2-実行結果

今回はCOBOL言語のさまざまな数値操作の方法についてご紹介しました。数値操作はCOBOL言語では基本的なプログラミングになりますので、実際に活用できるようにご自身で記述して理解を深めましょう。他のプログラミング言語を学ばれている方は、その言語と比較しながら違いについても理解してみましょう。

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

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

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

COBOL入門のカテゴリー

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