COBOL言語の関数「ORD」について理解しよう!|用語辞典

COBOL(コボル)言語の予約語ORDを使った文字に対応する文字コードの求め方とは

COBOL言語の予約語ORDを使った文字に対応する文字コードの求め方_用語辞典

COBOL(コボル)言語のORD関数とは?

COBOL(コボル)の組込み関数であるORD関数は、ある指定した文字に対応する文字コードを求める場合に使用します。文字コードは、文字をコンピュータで処理させるために、文字の種類ごとに番号を割り当てたものです。例えばASCIIコードやシフトJIS、UTF-8やUnicodeは文字コードになります。例えば「0」という値に対応するコードは16進数表記で30となります。ORD関数の戻り値は、この値を10進数表記とし1を加算した「49」が結果として戻されます。では早速COBOL言語での使い方について見ていきましょう。

書き方(ORD関数)

FUNCTION ORD({引数1}・・)

・関数の型:整数型

・引数1:長さ1文字の英字、もしくは英数字を指定

・戻り値:引数の文字に対応する文字コードが位置する場所(順序)を示す数値

使用例:

ORD関数の使用例

実行結果:

ORD関数の実行結果

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

1.「ORD」の間の空白や改行は、自由に設定できます。

2.組込み関数の前には予約語「FUNCTION」を指定する必要があります。

3.引数1は1文字である必要があります。

COBOL(コボル)言語のORD関数を扱う上での注意点

引数として指定できる文字列(1文字)は日本語定数や日本語項目の全角文字を指定することはできません。日本語定数や日本語項目を使用したい場合には、第4次規格準拠の処理系を使用するようにしましょう。また戻り値については例えば「0」でも「49」という値が返ってくることからもわかるように、戻り値を活用する際には値が格納できる桁数を指定するように注意しましょう。

ORD関数を使ったCOBOL(コボル)プログラムの活用法

ORD関数は、先ほどご紹介した通り、ある指定した文字に対応する文字コードを求める場合に使用する関数でした。ここでは数字だけでなく、英字、記号を引数として指定して結果を確認してみましょう。いろいろな文字列を引数に指定して実際の文字コードがどのような場所に格納されているかを理解しましょう。また、インターネット上には半角英数字/記号と実際に割り当てられている数値との対応表なども見つける事ができると思いますので、実際に結果を確認してみましょう。

サンプルプログラム(ORD2):

  1. IDENTIFICATION DIVISION.
  2. PROGRAM-ID. ORD_SAMPLE2.
  3. ENVIRONMENT DIVISION.
  4. INPUT-OUTPUT SECTION.
  5. DATA DIVISION.
  6. WORKING-STORAGE SECTION.
  7. 01 INPUT-RECORD.
  8.  03 IN-DATA1 PIC X(01) VALUE "0".
  9.  03 IN-DATA2 PIC X(01) VALUE "A".
  10.  03 IN-DATA3 PIC X(01) VALUE "@".
  11. 01 OUTPUT-RECORD.
  12.  03 OUT-DATA1 PIC 9(03).
  13.  03 OUT-DATA2 PIC 9(03).
  14.  03 OUT-DATA3 PIC 9(03).
  15. PROCEDURE DIVISION.
  16. MOVE FUNCTION ORD(IN-DATA1) TO OUT-DATA1.
  17. MOVE FUNCTION ORD(IN-DATA2) TO OUT-DATA2.
  18. MOVE FUNCTION ORD(IN-DATA3) TO OUT-DATA3.
  19. DISPLAY OUT-DATA1.
  20. DISPLAY OUT-DATA2.
  21. DISPLAY OUT-DATA3.
  22. STOP RUN.

実行結果(ORD2):

COBOL言語の予約語ORDを使った文字に対応する文字コードの求め方_サンプルプログラム

今回ご紹介したORDのサンプルプログラムは、ある指定した文字に対応する文字コードを求める場合に使用する関数でした。普段文字コードを意識してプログラミングをする事は稀かもわかりませんが、ソフトウェアの設定ファイルを編集するときに文字コードで保存したり、通信時の送受信をどの文字コードで行うかを考える際には文字コードの知識が欠かせません。実際に活用できるようプログラミングして理解を深めてみましょう。

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

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

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

COBOL入門のカテゴリー

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