COBOL言語の「定数」の種類と使い方について理解しよう! | 用語辞典
COBOL(コボル)言語における定数とは
COBOL(コボル)言語の定数とは?
COBOL 言語では、プログラム中に直接記述した数値データを「数値定数」、文字データを「文字定数」、ゼロやスペースなどの特殊な値を表す定数を「表意定数」と呼びます。
プログラム中に定数を記述することは、実業務でもよくありますので、使い方を覚えておきましょう。
数値定数の形式
数値定数は、符号、数字、小数点を組み合わせた数字データです。
■書式
「符号」「数字 1」「小数点」「数字 2」
■構文規則
<符号>
「+」、または「-」を記述します。符号は省略することができ、省略すると「+」を記述したとみなされます。
<数字 1>
「0」から「9」までの整数を表す数字を記述します。省略することはできません。
<小数点>
ピリオド「.」を記述します。小数点以下がない場合、記述しません。
<数字 2>
「0」から「9」までの小数点以下を表す数字を記述します。小数点以下がない場合、記述しません。
■使用例
数字定数を使用するプログラム例をご紹介します。
以下のプログラム例では、数値定数「100」と「100.1」を DISPLAY 文で表示しています。
■実行結果
数値定数の値が表示され、プログラムが終了しました。
文字定数の形式
文字定数は、ダブルクォーテーション「”」で括られたデータです。ダブルクォーテーションの中には、英数字、記号、日本語文字などを記述することができます。
■書式
“文字“
■構文規則
<文字>
英数字、記号、日本語文字などを記述します。
■使用例
文字定数を使用するプログラム例をご紹介します。
以下のプログラム例では、文字定数で数字、英字、日本語文字を表示しています。
■実行結果
文字定数が表示され、プログラムが終了しました。
定数の COBOL(コボル)言語における基本事項やルールについて
COBOL 言語の定数は、プログラム命令中に直接値を記述することができますが、記述できる文字の長さに制限があります。
数値定数に記述できる最大桁数は、整数部と小数部を合計して 18 桁です。また、文字定数に記述できる最大文字数は、160 文字(160 バイト)で、日本語文字では 80 文字(160 バイト)です。
COBOL 言語の表意定数は、ゼロやスペースなどの特殊な値の定数です。主な表意定数については、「表 1.代表的な表意定数」をご覧ください。
表 1.代表的な表意定数
表意定数 |
表意定数の意味 |
属性 |
ZERO |
N 個のゼロ |
数値 |
SPACE |
N 個のスペース(空白) |
文字 |
LOW-VALUE |
領域全体を文字「0」、16 進数の F0 で埋める |
文字 |
HIGH-VALUE |
領域全体を文字「F」、16 進数の FF で埋める |
文字 |
QUOTE |
領域全体をダブルクォーテーション「”」で埋める |
文字 |
ALL 値 |
領域全体を記述した値で埋める |
文字 |
COBOL(コボル)言語の定数を使うときの注意点
COBOL 言語の命令文に直接値を記述できる定数は、コーディングする上で便利な機能ですが、同じ意味を持つ値を定数として散在させると、値を変更するとき何か所も修正しなければなりません。また、修正点を洗い出すときに漏れてしまい、思わぬバグになってしまうこともあります。
長期間稼働することが予想される業務プログラムでは、複数個所で使用する値を安易に定数にせず、77 レベルで定義して使用するなど、将来、修正漏れが発生しないための工夫が必要です。
定数を使った COBOL(コボル)プログラムの活用方法
実用的なプログラムにおいて、データエリアの明示的な初期化は、バグを内包しないための常識といえます。例えば、数値データならばゼロで、文字データならば空白でなど、属性に合わせて初期化することなどが一般的です。
では、表意定数「ZERO」を使用して、コンソール入力エリアを初期化し、入力値に数字定数「10」を乗算した値を表示するプログラムをご紹介します。紹介するプログラムでは、入力メッセージの表示に文字定数も使用しています。
- ******************************************************************
- * Author:
- * Date:
- * Purpose:
- * Tectonics: cobc
- ******************************************************************
- IDENTIFICATION DIVISION.
- PROGRAM-ID. T-TEISU_SAMPLE1.
- DATA DIVISION.
- WORKING-STORAGE SECTION.
- 01 WORKING-AREA.
- 03 CNSL-INPUT PIC 9(03).
- 03 KEKKA PIC 9(04).
- *-------------------------------------------
- * 主手続
- *-------------------------------------------
- PROCEDURE DIVISION.
- *入力エリアの初期化
- MOVE ZERO TO CNSL-INPUT.
- *入力メッセージ表示&入力
- DISPLAY "3桁までの整数を入力してください".
- ACCEPT CNSL-INPUT FROM CONSOLE.
- *演算と演算結果の表示
- COMPUTE KEKKA = CNSL-INPUT * 10.
- DISPLAY KEKKA.
- STOP RUN.
- END PROGRAM T-TEISU_SAMPLE1.
■実行結果
はじめに 3 桁の整数の入力を促すメッセージが表示されます。
数字の「100」を入力してみます。
入力値「100」に数値定数「10」を掛けた値「1000」が表示され、プログラムが終了しました。
数字定数、文字定数、表意定数は、実務プログラムをデバッグするテスト用のプログラムなど、将来的にメンテナンスの必要がない一時的なプログラムでもよく使われます。メンテナンスを要する業務プログラムで定数を使用する場合、77 レベルでのデータ定義にした方がよいのか、定数として記述した方がいいのか、メンテナンス性と開発効率を勘案してから使用するようにしましょう。
この記事を読んだ人は、こちらの記事も読んでいます
あなたの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句」は便利?使用方法を学びましょう|用語辞典