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言語で計算処理をするなら「COMPUTE文」|入門用語辞典
- COBOL言語の「ACCEPT文」の使い方を分かり易く解説|入門用語辞典
- COBOL言語初心者も安心! 難解「CALL文」をスッキリ解決|入門用語辞典
- 徹底解説!一歩先を行くCOBOL言語のCOPY文活用法|応用ガイド
- 一歩先を行くCOBOL言語の表操作!逐次検索と二分検索|応用ガイド
- COBOL言語の加算処理の基本を伝授! 命令文「ADD」とは?|入門用語辞典
- 徹底解説!一歩先を行くCOBOL言語のファイル併合処理|応用ガイド
- COBOL言語でファイルの開閉命令はOPEN文とCLOSE文!|入門用語辞典
- 徹底解説!一歩先を行くCOBOL言語のデータ共有|応用ガイド
- COBOL言語とは?プログラムの書き方やルールを解説!|基礎ガイド
- COBOL言語の歴史とこれまでの進化を知る!廃止・追加機能|基礎ガイド
- COBOL言語のオブジェクト指向について理解しよう!|基礎ガイド
- COBOL言語のディスプレイ出力とコンソール入力について|基礎ガイド
- COBOL言語が得意とする計算処理を体験してみよう!|基礎ガイド
- 一歩先を行くCOBOL言語のユーザ定義関数について|応用ガイド
- 初心者から中級者でも安心!理解できるCOBOL言語の勉強法|学習講座
- 初心者必見!COBOL言語を効率よくマスターする勉強法とは|学習講座
- COBOL初心者が犯しやすいミスとその対策について|学習講座
- COBOL初心者がやってはいけない勉強方法とは?|学習講座
- 一歩先へ行くCOBOLプログラマの知っておくべき4つのヒント|学習講座