COBOL言語の関数「SIN、COS、TAN」ついて理解しよう! | 用語辞典
COBOL(コボル)言語の予約語SIN、COS、TAN関数を使った三角関数の使い方を理解しよう。
COBOL(コボル)言語のSIN、COS、TANとは?
COBOL(コボル)の組み込み関数であるSIN(サイン)、COS(コサイン)、TAN(タンジェント)は三角関数を求める場合に使用します。SIN関数は直角三角形の角または弧のサイン(正弦)の近似値を返し、COS関数はコサイン(余弦)の近似値、TAN関数はタンジェント(正接)の近似値を返します。
書き方(SIN関数):
FUNCTION SIN(引数-1)
関数の型:引数-1には数字型を指定します。
引数:引数-1には角または弧の正弦(サイン)を指定します。
返り値:引数-1の正弦(サイン)で-1以上+1以下です。
書き方(COS関数):
FUNCTION COS(引数-1)
関数の型:引数-1には数字型を指定します。
引数:引数-1の角または弧の余弦(コサイン)を指定します。
返り値:引数-1の余弦(コサイン)で-1以上+1以下です。
書き方(TAN関数):
FUNCTION TAN(引数-1)
関数の型:引数-1には数字型を指定します。
引数:引数-1の角または弧の正接(タンジェント)を指定します。
返り値:引数-1の正接(タンジェント)で-1以上+1以下です。
たとえば、プログラムで定義された以下の項目から正弦(サイン)を求めたい場合があるとします。
- 03 NUM-1 PIC 99 VALUE ZERO.
- 03 NUM-2 PIC 9(3) VALUE 250.
- 03 NUM-3 PIC 9(2) VALUE 70.
以下のようにSIN関数に引数を指定すると正弦(サイン)の近似値が返されます。
使用例:
実行結果:
ゼロの正弦は「0」となり、250度の場合は「-0.97」、70度の場合は「+0.77」と なります。
注意点として、指定した値が負数の場合はエラーとなりますので、指定する引数に負数が入る可能性がある場合は事前にチェック処理をする必要があります。
SIN、COS、TAN関数のCOBOL(コボル)言語における基本事項やルールについて
- SIN、COS、TAN関数のような組み込み関数は、関数名の前に予約語「FUNCTION」を指定する必要があります。
- 引数にはそれぞれ、正弦(サイン)、余弦(コサイン)正接(タンジェント)の近似値を求める値を指定する必要があります。
SIN、COS、TAN関数を使ったCOBOL(コボル)プログラムの活用法
SIN、COS、TAN関数はCOBOL(コボル)言語で三角関数の値を求めるときに便利です。ここでは、活用法としてSIN、COS、TAN関数でそれぞれ正弦(サイン)、余弦(コサイン)、正接(タンジェント)の近似値を求める簡単なプログラムを紹介します。
サンプルプログラム:
- IDENTIFICATION DIVISION.
- PROGRAM-ID. SINCOSTAN_SAMPLE01.
- ENVIRONMENT DIVISION.
- INPUT-OUTPUT SECTION.
- DATA DIVISION.
- WORKING-STORAGE SECTION.
- 01 SIN-NUM.
- 03 NUM-1 PIC 99 VALUE ZERO.
- 03 NUM-2 PIC 9(3) VALUE 250.
- 03 NUM-3 PIC 9(2) VALUE 70.
- 01 SIM-RES.
- 03 RESSIN-1 PIC S9V99.
- 03 RESSIN-2 PIC S9V99.
- 03 RESSIN-3 PIC S9V99.
- 03 RESCOS-1 PIC S9V99.
- 03 RESCOS-2 PIC S9V99.
- 03 RESCOS-3 PIC S9V99.
- 03 RESTAN-1 PIC S9V99.
- 03 RESTAN-2 PIC S9V99.
- 03 RESTAN-3 PIC S9V99.
- 01 PI PIC S9V99 VALUE 3.14.
- PROCEDURE DIVISION.
- *>----------------------------------------------------
- *> 正弦(サイン)を求める
- *>----------------------------------------------------
- COMPUTE RESSIN-1 = FUNCTION SIN(NUM-1).
- COMPUTE RESSIN-2 = FUNCTION SIN(NUM-2 * PI / 180).
- COMPUTE RESSIN-3 = FUNCTION SIN((NUM-2 + NUM-3) * PI / 180).
- *>----------------------------------------------------
- *> 余弦(コサインを求める
- *>----------------------------------------------------
- COMPUTE RESCOS-1 = FUNCTION COS(NUM-1).
- COMPUTE RESCOS-2 = FUNCTION COS(NUM-2 * PI / 180).
- COMPUTE RESCOS-3 = FUNCTION COS((NUM-2 + NUM-3) * PI / 180).
- *>----------------------------------------------------
- *> 正接(タンジェント)を求める
- *>----------------------------------------------------
- COMPUTE RESTAN-1 = FUNCTION TAN(NUM-1).
- COMPUTE RESTAN-2 = FUNCTION TAN(NUM-2 * PI / 180).
- COMPUTE RESTAN-3 = FUNCTION TAN((NUM-2 + NUM-3) * PI / 180).
- *>----------------------------------------------------
- *> 結果を出力
- *>----------------------------------------------------
- DISPLAY "RESSIN-1:("RESSIN-1")".
- DISPLAY "RESSIN-2:("RESSIN-2")".
- DISPLAY "RESSIN-3:("RESSIN-3")".
- DISPLAY "RESCOS-1:("RESCOS-1")".
- DISPLAY "RESCOS-2:("RESCOS-2")".
- DISPLAY "RESCOS-3:("RESCOS-3")".
- DISPLAY "RESTAN-1:("RESTAN-1")".
- DISPLAY "RESTAN-2:("RESTAN-2")".
- DISPLAY "RESTAN-3:("RESTAN-3")".
- STOP RUN.
実行結果:
サンプルプログラムのSIN関数を例にとると、ZEROの正弦は「ゼロ」となります。250度のラジアン(250 * 3.14 / 180)の近似値は「-0.93」となります。250度と70度を加算すると320度でラジアン(320 * 3.14 / 180)の近似値は「-0.64」となります。
この記事を読んだ人は、こちらの記事も読んでいます
あなたの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句」は便利?使用方法を学びましょう|用語辞典