2 組込関数

2.1 どのような時に使うか

FORTRANは、Formula Translation(数式翻訳)が語源となっているだけあった、 技術計算向きのプログラム言語です。技術計算を行う場合、関数の値を求める ことは随所に現れます。関数毎に、後で述べる関数副プログラムやサブルーチ ン副プログラムを作っていたのでは大変です。そこで、FORTRANには、表 1のような関数が組み込まれています。これら の数学関数を使うときに、組込関数を使うことで、プログラムが楽になります。

大体のものはおなじみと思いますが、指数関数と自然対数は2年生で学習します。 剰余は、MOD(A,B)とした場合のA/Bの計算の余りのことです。

表 1: よく用いられる組込関数。これ以上のものは、教科書のP.338〜に ある。
組込関数 関数名 引数の数 数学の表現
平方根 SQRT 1 $ \sqrt{x}$
正弦 SIN 1 $ \sin(x)$
余弦 COS 1 $ \cos(x)$
正接 TAN 1 $ \tan(x)$
逆正線 ATAN 1 $ \tan^{-1}(x)$
指数 EXP 1 $ e^{x}$
自然対数 LOG 1 $ \log(x)$
常用対数 LOG10 1 $ \log_{10}(x)$
切捨て整数化 INT 1  
絶対値 ABS 1 $ \vert x\vert$
剰余 MOD 2  

2.2 実際のプログラム

組込関数が使われる例として、教科書のプログラム2を載せます。このプログラムは、次のような動作をしま す。 ここで使われているSIN(X)とCOS(X)が組込関数です。

文番号601の次の行の6桁目にアスタリスク(*)があります。6桁目に何か書くと それは、その前の行とつながっていると示しています。1行が長い場合に使い ます。

       REAL R,U,V,Z,X

       WRITE(6,600)
   600 FORMAT('    x    R',6X,'U=SIN(R)',7X,'V=COS(R)',7X,
      *       'U*U+V*V')
      
       X=0.0
       
     1 R=X*3.141592/180.0
       U=SIN(R)
       V=COS(R)
       Z=U*U+V*V
       WRITE(6,601)X,R,U,V,Z
   601 FORMAT(2F5.1,3E15.8)
       X=X+5.0
       IF(X.LE.90.0)GO TO 1 	      

       END

組込関数は簡単なのですぐに理解できると思います。ここでひとつ言葉を覚え てもらいます。たとえば組み込み関数SIN(R)ですが、この変数Rのことをコン ピューターの世界では、実引数3と言います。関数を呼び出すときの変数のことです。

2.3 組込関数の文法

2.3.1 組み込み関数の呼び出し

関数の呼び出しは、
      関数名(実引数並び)
です。要するに普通の数学の関数とほとんど同じです。このようにして呼び出 すと、その関数の値が戻ってきます。この戻ってきた値を戻り値と言います。 通常は、先の例のプログラムのように、戻り値は他の変数に格納します。

2.3.2 組込関数の定義

プログラマーが定義する必要はありません。組込関数と言われるものは、ちゃ んとFORTRANの中で定義されています。気にしないで、使えます。

2.4 組込関数の注意事項

細かい注意事項はいろいろありますが、皆さんがこれらの組込関数を使う上で 気をつけるべきことは、ただひとつ と言うことです。
ホームページ: Yamamoto's laboratory
著者: 山本昌志
Yamamoto Masashi
平成19年8月20日


no counter