COBOL言語の数値操作のパターンを理解しよう!|基礎ガイド
COBOL(コボル)言語でよく利用される数値操作のパターンとは
COBOL(コボル)言語の数値操作とは?
COBOL(コボル)言語は、事務処理用として開発された経緯もあり、何万件もある入力データを一括して処理する事を得意としています。その一括処理でよく利用されているのが今回ご紹介する数値操作です。
ここでは、まずCOBOL(コボル)言語の数値操作の基本となる、数値形式のデータを加算処理し、結果を画面表示するという処理の書き方についてご紹介しますので、しっかりその書き方及び使用方法について理解していきましょう。
書き方:
ADD データ項目(数値形式) TO データ項目(数値形式)
使用例:
使用例は、WK-NUMという初期値10のデータ項目に対して1を加算し、結果を画面表示するというプログラムです。
この使用例を見ると、「ADD A TO B」という記述は、「TO」の前後の値を加算して、その結果を「TO」の後のデータ項目に代入するという機能を持つ、という事が理解いただけるかと思います。
実行結果:
COBOL(コボル)言語の数値操作のパターン
COBOL(コボル)言語の基本的な数値操作の書き方を理解いただけたところで、次は数値操作のパターンについてご紹介します。
COBOL(コボル)言語の数値操作は主に1.数値の初期化、2.加算、3.減算、4.乗算、5.除算、6.その他の演算の書き方の6つのパターンに分けられます。順にその書き方及び使用方法について見ていきましょう。
書き方1:数値の初期化
INITIALIZE データ項目
使用例1:
使用例は、10という初期値の設定されたWK-NUMというデータ項目の値を初期化して、結果を画面表示するというプログラムです。データ項目を使用した編集処理を行う際は、プログラムの誤動作を防止するために、この使用例のように明示的にデータ項目を初期化しておく事もよく行われます。
実行結果1:
書き方2:加算
先にご紹介した「ADD文」を参照
書き方3:減算
SUBTRACT データ項目(数値形式) FROM データ項目(数値形式)
使用例3:
使用例は、WK-NUMという初期値10のデータ項目に対して1を減算し、結果を画面表示するというプログラムです。
この使用例を見ると、「SUBTRACT A FROM B」という記述は、「FROM」の後の値から前の値を減算して、その結果を「FROM」の後のデータ項目に代入するという機能を持つ、という事が理解いただけるかと思います。
実行結果3:
書き方4:乗算
MULTIPLY データ項目(数値形式) BY データ項目(数値形式)
使用例4:
使用例は、WK-NUMという初期値10のデータ項目に対して2を乗算し、結果を画面表示するというプログラムです。
この使用例を見ると、「MULTIPLY A BY B」という記述は、「BY」の前後の値を乗算して、その結果を「BY」の後のデータ項目に代入するという機能を持つ、という事が理解いただけるかと思います。
実行結果4:
書き方5:除算
DIVIDE データ項目(数値形式) INTO データ項目(数値形式)
使用例5:
使用例は、WK-NUMという初期値10のデータ項目に対して2を除算し、結果を画面表示するというプログラムです。
この使用例を見ると、「DIVIDE A INTO B」という記述は、「INTO」の後の値から前の値を除算して、その結果を「INTO」の後のデータ項目に代入するという機能を持つ、という事が理解いただけるかと思います。
実行結果5:
書き方6:その他の演算の書き方
COMPUTE 算術式
使用例6:
使用例は、先にご紹介した加算、減算、乗算、除算の使用例を、COMPUTE文を利用した算術式(+、-、*、/)を使って書き直したものになります。算術式で記述ができるため、記述の仕方がわかりやすく、空白で区切って書く事で、一度にいろいろな計算を行う事ができます。
実行結果6:
COBOL(コボル)言語における数値操作の基本事項や注意事項
-
ADD、SUBTRACT、MULTIPLY、DIVIDE、COMPUTE、ともにROUNDED指定を行うと四捨五入が行われます。
(例)ADD 1 TO WK-NUM ROUNDED
さらに、ON SIZE ERROR指定を行うと、桁あふれが発生した場合の処理を行う事ができ、NOT ON SIZE ERROR指定を行うと、桁あふれが発生しなかった場合の処理を行う事ができます。ただし、ON SIZE ERROR、NOT ON SIZE ERRORはペアで記述する必要があります。
-
ADD、SUBTRACT、MULTIPLY、DIVIDE、ともにGIVING指定を行う事で演算結果の代入先が指定できます。
(例)ADD A TO B GIVING C(A+Bの結果をCに代入) -
DIVIDEは、REMAINDER指定を行う事で、除算後の余りを求める事ができます。
(例)DIVIDE A INTO B REMAINDER C(B/Aの余りをCに代入)
数値操作のCOBOL(コボル)プログラムの活用法
COBOL(コボル)言語の数値操作の基本的な書き方や使用例について理解いただけたでしょうか?最後に活用法として、数値操作と組み合わせてよく利用される繰り返し処理についてご紹介します。
今までご紹介した書き方のパターンが理解いただけていれば、それ程難しい内容ではないと思います。数値操作は他にも数値同士の比較など様々な処理に応用できますので、いろいろな処理に応用し理解を深めていただければと思います。
サンプルプログラム:
- IDENTIFICATION DIVISION.
- PROGRAM-ID. NUM_SAMPLE07.
- ENVIRONMENT DIVISION.
- DATA DIVISION.
- WORKING-STORAGE SECTION.
- 01 WK-KAISU PIC 99 VALUE 10.
- 01 WK-NUM PIC 99 VALUE ZERO.
- PROCEDURE DIVISION.
- *> 繰り返し処理との組み合わせ
- PERFORM UNTIL WK-NUM > WK-KAISU
- ADD 1 TO WK-NUM
- END-PERFORM.
- DISPLAY WK-NUM.
- STOP RUN.
- END PROGRAM NUM_SAMPLE07.
実行結果:
いかがでしたでしょうか?あるデータに対して演算などの数値操作を行う事は、COBOL(コボル)言語の業務プログラムではよく利用されています。特にCOBOL(コボル)言語の演算は、予約語を利用した記述をする必要があり、他のプログラミング言語ではあまり見られない記述方法ではありますが、頻繁に利用される書き方になりますので、是非覚えていただければと思います。
また、今回ご紹介したような基本的な処理は、他の処理と組み合わせて使用する事でプログラミングの幅が広がりますので、いろいろな処理やパターンに応用していただき、プログラミングのスキル向上に繋げていっていただければと思います。
この記事を読んだ人は、こちらの記事も読んでいます
あなたのCOBOL技術を活かしませんか?
COBOL入門のカテゴリー
1. 優良社員が多数在籍しています
2. 即日派遣、又は請負います
3. 安心価格で請負います
4. 同時、協力会社募集中です
1. 正社員
2. 契約社員
3. 個人事業主
などの 求人情報 が閲覧できます。
目指せ!COBOLダントツ一番企業。
創業当初の話や理念が閲覧できます。
応募条件
※2020年5月31日を以って、締切りました。
18歳~28歳の方。
正社員採用において、北川社長の著書『祈り方が9割』を読んで感想文を事前に提出すると、無条件で最終面接まで進むことができます。
COBOLとは、どのようなプログラミング言語なのか、初心者にもわかりやすく、文法の例をあげて解説してます。
COBOL入門の人気記事
- COBOL言語とは?プログラムの書き方やルールを解説!|基礎ガイド
- 【COBOL言語】条件分岐処理の代名詞「IF文」について知ろう|用語辞典
- COBOL言語の「MOVE文」とは?転記のルールをご紹介します|用語辞典
- COBOL言語の「STRING文」とは?文字連結の基礎知識と注意点|用語辞典
- 多枝分岐ってなに?COBOL言語の「EVALUATE文」を知ろう!|用語辞典
- COBOL言語の「PICTURE句」とは?基本事項を解説します!|用語辞典
- COBOL言語で計算処理をするなら「COMPUTE文」|用語辞典
- COBOL言語の「REDEFINES句」とは?使い方を確認しよう!|用語辞典
- 覚えておけば楽ができる?COBOL言語の「COPY文」の使い方|用語辞典
- COBOL言語の文字列操作のパターンを理解しよう!|基礎ガイド
- COBOL言語の初期化処理に重宝する「INITIALIZE文」とは?|用語辞典
- COBOL言語の「LOW-VALUE」の使い方について理解しよう!|基礎ガイド
- COBOL言語の「OCCURS句」について知ろう!学ぶべき基本とは|用語辞典
- COBOL言語初心者も安心! 難解「CALL文」をスッキリ解決|用語辞典
- COBOL言語の「PERFORM文」とは。実行制御について解説!|用語辞典
- COBOL言語の繰り返し処理のパターンを理解しよう!|基礎ガイド
- COBOL言語の「定数」の種類と使い方について理解しよう!|用語辞典
- COBOLのDBアクセスパターンを学ぼう!「FETCH」|応用ガイド
- COBOL言語の「DISPLAY文」は、ディスプレイ出力の為にある|用語辞典
- COBOL言語の「VARYING句」は便利?使用方法を学びましょう|用語辞典