COBOL言語の「HIGH-VALUE」の使い方について理解しよう!|用語辞典

COBOL(コボル)言語の最大の値を持つHIGH-VALUEとは

COBOL言語のHIGH-VALUEを使った最大値の指定

COBOL(コボル)言語のHIGH-VALUEとは?

COBOL(コボル)言語には変数の値を初期化したり、初期値として値を持たせたり、条件として比較したりする場合に予め用意された予約語を使うことができます。その1つが今回ご紹介するHIGH-VALUEです。

HIGH-VALUEはある変数に対して値を全て16進数「FF」で埋めるという機能を持ちます。これはCOBOL言語上、最大の値を有する事を意味します。HIGH-VALUEは、一般的には条件の範囲が不明な場合に使用されます。では早速HIGH-VALUEの書き方、使用例について見ていきましょう。

書き方(HIGH-VALUE)

HIGH-VALUE

使用例:

COBOL言語のHIGH-VALUE_使用例

使用例は、ある2桁で定義された項目に対してHIGH-VALUEを初期設定し99と比較しています。値の比較後、HIGH-VALUEの方が大きい値である場合には、それがわかるメッセージを表示しています。処理結果では、HIGH-VALUEが99よりも大きい値である事がご理解いただけるかと思います。

実行結果:

COBOL言語のHIGH-VALUE_実行結果

HIGH-VALUEのCOBOL(コボル)言語における基本事項やルールについて

1.HIGH-VALUEは、英数字と同じように値の初期値として使用する事ができます。

2.HIGH-VALUEは、英数字と同じようにある変数に対して値を移送する事ができます。

3.HIGH-VALUEは、英数字と同じように条件式の比較対象として指定できます。

4.HIGH-VALUEは16進数「FF」を有するため、値を画面表示させてもお使いの環境によっては何も表示されない場合があります。

COBOL(コボル)言語のHIGH-VALUEを扱う上での注意点

HIGH-VALUEは一般的には、ある基本項目、集団項目に対してHIGH-VALUEを移送して活用することになりますが、比較する項目の桁数には注意しましょう。HIGH-VALUEを移送する項目の桁数が、値を比較する項目よりも小さい場合、正常に値の比較ができなくなってしまいますので注意しましょう。

HIGH-VALUEを使ったCOBOL(コボル)プログラムの活用法

HIGH-VALUEは先ほどご紹介した通り、ある変数に対して最大値を指定したい場合に使用するものでした。ここではHIGH-VALUEが全ての値の最大値である事を理解するために、実際にご自身で入力した値とHIGH-VALUEを比較して、HIGH-VALUEより小さい値が入力されていた場合、その値とメッセージが画面に表示されるプログラムを作成してみましょう。

サンプルプログラム(HIGH-VALUE2):

  1. IDENTIFICATION DIVISION.
  2. PROGRAM-ID. HV_SAMPLE2.
  3. ENVIRONMENT DIVISION.
  4. INPUT-OUTPUT SECTION.
  5. DATA DIVISION.
  6. WORKING-STORAGE SECTION.
  7. 01 INPUT-RECORD.
  8.  03 IN-DATA PIC X(06) VALUE SPACE.
  9.  03 IN-DATA-R REDEFINES IN-DATA PIC 99 OCCURS 3.
  10.  03 IN-DATA-HV PIC 99 VALUE HIGH-VALUE.
  11. 01 WK-COUNT PIC 9.
  12. PROCEDURE DIVISION.
  13. DISPLAY "1番目の数字(2桁)を入力してください。>> " WITH NO ADVANCING.
  14. ACCEPT IN-DATA-R(1) FROM CONSOLE.
  15.  
  16. DISPLAY "2番目の数字(2桁)を入力してください。>> " WITH NO ADVANCING.
  17. ACCEPT IN-DATA-R(2) FROM CONSOLE.
  18.  
  19. DISPLAY "最後の数字(2桁)を入力してください。>> " WITH NO ADVANCING.
  20. ACCEPT IN-DATA-R(3) FROM CONSOLE.
  21.  
  22. PERFORM VARYING WK-COUNT FROM 1 BY 1 UNTIL WK-COUNT > 3
  23. IF IN-DATA-R(WK-COUNT) < IN-DATA-HV
  24. DISPLAY IN-DATA-R(WK-COUNT) "はHIGH-VALUEより小さい数字です"
  25. END-PERFORM.
  26. STOP RUN.

実行結果(HIGH-VALUE2):

COBOL言語のHIGH-VALUE_活用法の実行結果

使用例では画面から3回数字を入力してもらいます。その後、入力した値とHIGH-VALUEと比較し、値が小さい場合はそれがわかるように画面にメッセージを表示しています。どのような値を入力してもHIGH-VALUEより大きな値がない事を確認いただけるかと思います。HIGH-VALUEはこのような特徴を持つため、ある値以上の値を全て取得する場合などに応用して活用されています。

今回ご紹介したHIGH-VALUEは、ある変数に対して最大値を指定したい場合に使用するものでした。

COBOL言語には最大値、最小値のように定義がしにくい値についても予め予約語として定義がされています。実際にプログラミングして理解を深めてみましょう。

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

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

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

COBOL入門のカテゴリー

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