TVアニメ『Dies irae』本PV
アニメ『Dies irae(ディエス・イレ)』(2017)
ん~。何が何だか分かりません。最近0話があるアニメがありますが、本編ではないので、0話を最初に見ても意味分からなくて当然なんだろうなあと思い、1話を見ましたが、やはり何が何だか。さらに2話まで見て、やはり分かりませんでした。仕方がないので分かるまで視聴継続です。原作はゲームのようです。
さて、分かるまで続けてるFORTRAN学習です。
FORTRANは偶然大文字で記述していましたが、新しいFortranは、もう言語が違うんじゃないかってぐらい古いFORTRANと異なっているらしくて、新旧区別するためにFORTRANとFortranというように記述を分けてるらしいです。偶然合ってましたが、知らずに全大文字表記を使ってました。
今回は、文関数を使います。
定義方法の違いを見るため、まず普通の関数(かつては副関数と呼ばれていた)をおさらいします。
PROGRAM MAIN
READ (*,*) I,J
K=ADD(I,J)
WRITE(*,11111) K
11111 FORMAT(I5)
STOP
END
FUNCTION ADD(I,J)
ADD = I + J
RETURN
END
文関数。
PROGRAM MAIN
ADD(I,J) = I + J
READ (*,*) I,J
K=ADD(I,J)
WRITE(*,11111) K
11111 FORMAT(I5)
STOP
END
まるで違いますね。文関数はとても数学的に書けます。しかも簡単です。 何か作ってみましょう。
77では、円周率の定数が無いようですので、PIを返す文関数を作ってみます。
takk@deb9:~$ cat pi.f
PROGRAM MAIN
PI() = ATAN(1.0) * 4
A=PI()
WRITE(*,11111) A
11111 FORMAT(F10.5)
STOP
END
takk@deb9:~$ gfortran pi.f
takk@deb9:~$ ./a.out
3.14159
takk@deb9:~$


コメント