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:~$
コメント