サブルーチンとは、同じ作業を何度も行う場合などに、その部分をメインプログラムと切り離しておいて、必要なときに呼び出して使うことができるというものです。
call サブルーチン名(引数,引数,・・・)
stop
end
c
subroutine サブルーチン名(引数,引数,・・・)
プログラム
return
end
- サブルーチン名の付け方は、変数名と同じですが、型は関係ありません。
dimension x(2)
x(1)=1
x(2)=2
y=5
call ss(x,y,z)
write(*,*)'x1=',x(1)
write(*,*)'x2=',x(2)
write(*,*)'y=',y
write(*,*)'z=x1+x2+y=',z
stop
end
c
subroutine ss(a,b,c)
dimension a(2)
c=a(1)+a(2)+b
return
end
返す値が1つの場合は関数も使えます。
関数では、返す値を関数名に代入します。
関数名の付け方は、変数名の付け方と同じです。
function 関数名(引数,引数,・・・)
プログラム
関数名=値 or 計算式
return
end
x=2.0
y=f(x)
write(*,*)'x=2.0、','f(x)=2x+3=',y
stop
end
c
function f(a)
f=2*a+3
return
end
計算式が1行の場合は、文関数が使えます。
f(x)=2.0*x+3.0
y=f(2.0)
write(*,*)'x=2.0、','f(x)=2x+3=',y
stop
end