プログラムが複雑になると、プログラム全体を1つの単位としておくのが難し くなるので、プログラムを機能ごとの単位に分割し、それ らを組み合わせていけばよい。こうすると、プログラム作成、デバック( エラー修正)が容易になるばかりでなく、過去のプログラムの蓄積が 利用できる。そのようなものとしてまず関数副プログラムをあげる。
1)関数副プログラムの定義:
function
.....
f= ...
return
end
型宣言子
関数名
仮引数
2)引用法:
関数名
実引数
注意1: 仮引数の有効範囲は関数副プログラムの中だけである。したがって仮引 数と同じ名前の変数をプログラム中の他の箇所で別の意味に使用することもできる。
注意2: 実引数と仮引数の型は一致していなければならない。一方が単精度で 他方が倍精度だったりすると、全く異なる結果になる。仮引数の宣言は関数副プ ログラムの中で行なう。
例:
c Main routine
implicit real*8 (a-h,o-z)
c
read(*,*) a,b,n
h=(b-a)/n
sum=0.5*(func(a)+func(b))
do i=1,n-1
x=a+h*i
sum = sum + func(x)
end do
write(*,*) sum*h
c
end
c
c Function subprogram
real*8 function func(x)
c
implicit real*8 (a-h,o-z)
c
func=cos(x)
c
return
end