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に代入
使用例:
実行結果:
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」文に変えて記述してみましょう。
サンプルプログラム:
- IDENTIFICATION DIVISION.
- PROGRAM-ID. SUJI_SAMPLE2.
- ENVIRONMENT DIVISION.
- DATA DIVISION.
- WORKING-STORAGE SECTION.
- 01 WK-SUJI PIC S9(2) VALUE 10.
- PROCEDURE DIVISION.
- DISPLAY "WK-SUJI=" WK-SUJI.
- COMPUTE WK-SUJI = WK-SUJI + 1.
- DISPLAY "+:WK-SUJI=" WK-SUJI.
- COMPUTE WK-SUJI = WK-SUJI - 1.
- DISPLAY "-:WK-SUJI=" WK-SUJI.
- COMPUTE WK-SUJI = WK-SUJI * 2.
- DISPLAY "*:WK-SUJI=" WK-SUJI.
- COMPUTE WK-SUJI = WK-SUJI / 2.
- DISPLAY "/:WK-SUJI=" WK-SUJI.
- COMPUTE WK-SUJI = (WK-SUJI + 1 - 1) * 2 / 2.
- DISPLAY "MIX:WK-SUJI=" WK-SUJI.
- STOP RUN.
実行結果:
今回はCOBOL言語のさまざまな数値操作の方法についてご紹介しました。数値操作はCOBOL言語では基本的なプログラミングになりますので、実際に活用できるようにご自身で記述して理解を深めましょう。他のプログラミング言語を学ばれている方は、その言語と比較しながら違いについても理解してみましょう。
この記事を読んだ人は、こちらの記事も読んでいます
【未経験者歓迎】COBOLプログラマー・システムエンジニアの募集
COBOL入門のカテゴリー
1. 優良社員が多数在籍しています
2. 即日派遣、又は請負います
3. 安心価格で請負います
4. 同時、協力会社募集中です
1. 正社員
2. 契約社員
3. 個人事業主
などの 求人情報 が閲覧できます。
目指せ!COBOLダントツ一番企業。
創業当初の話や理念が閲覧できます。
応募条件
※2020年5月31日を以って、締切りました。
18歳~28歳の方。
正社員採用において、北川社長の著書『祈り方が9割』を読んで感想文を事前に提出すると、無条件で最終面接まで進むことができます。
COBOLとは、どのようなプログラミング言語なのか、初心者にもわかりやすく、文法の例をあげて解説してます。
COBOL入門の人気記事
- COBOL言語で計算処理をするなら「COMPUTE文」|入門用語辞典
- COBOL言語の「ACCEPT文」の使い方を分かり易く解説|入門用語辞典
- COBOL言語初心者も安心! 難解「CALL文」をスッキリ解決|入門用語辞典
- 徹底解説!一歩先を行くCOBOL言語のCOPY文活用法|応用ガイド
- 一歩先を行くCOBOL言語の表操作!逐次検索と二分検索|応用ガイド
- COBOL言語の加算処理の基本を伝授! 命令文「ADD」とは?|入門用語辞典
- 徹底解説!一歩先を行くCOBOL言語のファイル併合処理|応用ガイド
- COBOL言語でファイルの開閉命令はOPEN文とCLOSE文!|入門用語辞典
- 徹底解説!一歩先を行くCOBOL言語のデータ共有|応用ガイド
- COBOL言語とは?プログラムの書き方やルールを解説!|基礎ガイド
- COBOL言語の歴史とこれまでの進化を知る!廃止・追加機能|基礎ガイド
- COBOL言語のオブジェクト指向について理解しよう!|基礎ガイド
- COBOL言語のディスプレイ出力とコンソール入力について|基礎ガイド
- COBOL言語が得意とする計算処理を体験してみよう!|基礎ガイド
- 一歩先を行くCOBOL言語のユーザ定義関数について|応用ガイド
- 初心者から中級者でも安心!理解できるCOBOL言語の勉強法|学習講座
- 初心者必見!COBOL言語を効率よくマスターする勉強法とは|学習講座
- COBOL初心者が犯しやすいミスとその対策について|学習講座
- COBOL初心者がやってはいけない勉強方法とは?|学習講座
- 一歩先へ行くCOBOLプログラマの知っておくべき4つのヒント|学習講座