意外とWEB上に載っていないFortran関連の情報提供。
いにしえの言語、Fortranに触れてみよう!
program main
write(*,*) "Hello!"
end
変数。 integerはi-z,realはa-hまでで始めると無難。
program main
integer i, j, k
i = 2
j = 3
k = i + j
write(*,*) "i + j = ", k
end
関数。 メイン関数の中では、ちゃんと関数名も変数と同じように型宣言しないといけない。
program main
integer i, j, k
integer sample_f
k = f(1,2)
write(*,*) "k=",k
end
c
c
integer function sample_f(a, b)
integer a, b
f = a * b
write(*,*) '(' , a, ',' , b, ',', f, ')'
end
### tips
-
int <-> integer
double <-> real*8
-
配列をまとめてwrite。
普通なら
do i=1,10 write(,) A(i) end do
と書くところを
write(,) (A(i),i=1,10)
と書けます。二次元なら
write (,) ((A(i,j),j=1,10),i=1,10)
- Fortranでもmalloc!
まずはA(100)の動的確保。
real8, allocatable A() ... allocate(A(10)) do i=1,10 A(i)=ii end do write(,) (A(i),i=1,10)
二次元配列にも使えます
real*8, allocatable A(:,:) ... allocate(A(0:9,0:9))
-