COBOL言語の関数について理解して使いこなそう!|基礎ガイド
COBOL(コボル)言語における組み込み関数とは
組み込み関数とは?
ソフトウェアの世界における関数とは、パラメータとして変数を与えられると、その変数によって一定の演算を行い、演算結果を関数値として返却する機能です。
関数にはあらかじめ言語が用意している関数とユーザが作成する関数があり、あらかじめ用意されている関数を組み込み関数、ユーザが作成する関数をユーザ定義関数といいます。
例えば、平方根を計算したり、正弦を計算したりするロジックをコーディングするのは大変ですよね。人によっては数学の教科書を引っ張り出して、1から勉強する必要があるかもしれません。そのような手間を解決してくれるのが、あらかじめ用意されている組み込み関数です。
COBOL 言語で用意されている主な組み込み関数
COBOL 言語にはさまざまな組み込み関数が用意されています。
よく使う例としては、現在日付と時刻を返却する「CURRENT-DATE」、パラメータで指定された文字列の長さを返却する「LENGTH」、パラメータ指定された数値の総和を返却する「SUM」などがあります。
では、COBOL 言語で用意されている主な組み込み関数を一覧でご紹介します。
組み込み関数名 |
機能概要 |
ACOS |
逆余弦(アークコサイン)を求める |
ANNUITY |
元金、利率、期間から均等払い額を求める |
ASIN |
逆正弦(アークサイン)を求める |
ATAN |
逆正接(アークタンジェント)を求める |
CHAR |
文字の大小順でパラメータで指定された順位の文字を求める |
COS |
余弦(コサイン)を求める |
CURRENT-DATE |
現在日付と時刻、およびグリニッジ標準時との時差を求める |
DATE-OF-INTEGER |
グレゴリオ通日に対応する年月日を求める |
DAY-OF-INTEGER |
グレゴリオ通日に対応する年日を求める |
FACTORIAL |
階乗を求める |
INTEGER |
パラメータの値を超えない最大の整数を求める |
INTEGER-OF-DATE |
年月日に対応するグレゴリオ通日を求める |
INTEGER-OF-DAY |
年日に対応するグレゴリオ通日を求める |
INTEGER-PART |
パラメータの整数部を求める |
LENGTH |
パラメータの長さを求める |
LOG |
パラメータの自然対数を求める |
LOG10 |
10 を底とするパラメータの自然対数を求める |
LOWER-CASE |
パラメータの中の大文字を全て小文字にする |
MAX |
パラメータの中から最大値を求める |
MEAN |
算術平均値を求める |
MEDIAN |
中央値を求める |
MIDRANGE |
最大値と最小値の中央値を求める |
MIN |
パラメータの中から最小値を求める |
MOD |
法(モジュロ―)を求める |
ORD |
文字の大小順序での順序位置を求める |
ORD-MAX |
文字の大小順序で、パラメータの中の最大の順序位置を求める |
ORD-MIN |
文字の大小順序で、パラメータの中の最小の順序位置を求める |
PRESENT-VALUE |
原価率と将来の時系列値から現在価値を求める |
RANDOM |
乱数を求める |
RANGE |
最大値を最小値の差を求める |
REM |
除算結果の余りを求める |
REVERSE |
文字順序を逆転する |
SIN |
正弦(サイン)を求める |
SQRT |
平方根を求める |
STANDARD-DEVIATION |
標準偏差を求める |
SUM |
パラメータの総和を求める |
TAN |
正接(タンジェント)を求める |
UPPER-CASE |
パラメータの中の小文字を全て大文字にする |
WHEN-COMPILED |
プログラムが翻訳(コンパイル)された日時を求める |
COBOL 言語での組み込み関数の使い方
COBOL 言語で組み込み関数を使用する場合、PROCEDURE DIVISION でFUNCTION 句を使用します。
■呼び出し形式
FUNCTION 組み込み関数名(パラメータ1、…)
■プログラム例
ご紹介するサンプルプログラムは、組み込み関数「CURRENT-DATE」を使用して、システムから現在時刻を取得し表示するプログラムです。
CURRENT-DATE が返却する現在時刻は、プログラムを実行するコンピュータのローカルタイムで、年(4 桁)、月(2 桁)、日(2 桁)、時(2 桁)、分(2 桁)、秒(2 桁)、ミリ秒(2 桁)、グリニッジ標準時との時差の有無(1 桁)、グリニッジ標準時との時差(時)(2 桁)、グリニッジ標準時との時差(分)(2 桁)の合計21 桁です。
- ******************************************************************
- * Author:
- * Date:
- * Purpose:
- * Tectonics: cobc
- ******************************************************************
- IDENTIFICATION DIVISION.
- PROGRAM-ID. KUMIKOMI-SAMPLE1.
- DATA DIVISION.
- FILE SECTION.
- WORKING-STORAGE SECTION.
- 01 WORKING-AREA.
- * 現在日時
- 03 GENZAI-DATE.
- 05 YY PIC X(4).
- 05 MM PIC X(2).
- 05 DD PIC X(2).
- 05 HH PIC X(2).
- 05 MI PIC X(2).
- 05 SS PIC X(2).
- 05 ETC PIC X(7).
- * 表示エリア
- 03 DSP_BUF PIC X(128).
- *-------------------------------------------
- * 主手続
- *-------------------------------------------
- PROCEDURE DIVISION.
- MAIN-PROCEDURE.
- * 現在時刻の取得
- MOVE FUNCTION CURRENT-DATE TO GENZAI-DATE.
- * 現在時刻の表示
- STRING "現在時刻: " YY "年" MM "月" DD "日" HH "時" MI "分"
- DELIMITED BY SPACE
- INTO DSP_BUF.
- DISPLAY DSP_BUF.
- END-PROC.
- STOP RUN.
- END PROGRAM KUMIKOMI-SAMPLE1.
■実行結果
ローカルタイムの現在時刻が表示されました。
COBOL 言語の組み込み関数の確認問題
問)
組み込み関数を呼び出すには、何句を使用するか?
答え)
FUNCTION 句
組み込み関数は、多くの言語に用意されている便利な機能です。標準的な数学計算や文字列操作を行う組み込み関数を使いこなすことは、プログラミングの効率化につながりますので、ぜひ積極的に用意されている組み込み関数を活用しましょう。
この記事を読んだ人は、こちらの記事も読んでいます
あなたの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句」は便利?使用方法を学びましょう|用語辞典