FORTRAN(書式付き表示その6)

旧2-5. Fortran毎日学習
TVアニメ「はじめてのギャル」Blu-ray&DVD CM

アニメ『はじめてのギャル』(2017)

外見は派手な人ほど、中身は真面目って人多いですよね。真面目が一番だと思います。何でも地道に真面目に取り組むことで充実感、楽しさがやってきます。

では地道に真面目にFORTRAN学習です。

takk@deb9:~$ cat disp.f
      A=123.45
      B=250
      C=300.9
      WRITE(*,11111) A,B,C
11111 FORMAT(F7.2,F7.2,F7.2)
      STOP
      END
takk@deb9:~$ gfortran disp.f
takk@deb9:~$ ./a.out
 123.45 250.00 300.90
takk@deb9:~$

F7.2の記述は、なんと、まとめることができます。
このようにFの前に添え字(3)をつけると、同じ指定子が添え字で指定した数だけ繰り返して書式設定されます。

takk@deb9:~$ cat disp.f
      A=123.45
      B=250
      C=300.9
      WRITE(*,11111) A,B,C
11111 FORMAT(3F7.2)
      STOP
      END
takk@deb9:~$ gfortran disp.f
takk@deb9:~$ ./a.out
 123.45 250.00 300.90
takk@deb9:~$

驚きです。かなり数学チックな書き方かと思います。

次は各値を改行して表示してみます。まずは3回記述をする方法。

takk@deb9:~$ cat disp.f
      A=123.45
      B=250
      C=300.9
      WRITE(*,11111) A,B,C
11111 FORMAT(F7.2/F7.2/F7.2/)
      STOP
      END
takk@deb9:~$ gfortran disp.f
takk@deb9:~$ ./a.out
 123.45
 250.00
 300.90

takk@deb9:~$

添え字に3を指定して記述子を一つにまとめたいと思います。

takk@deb9:~$ cat disp.f
      A=123.45
      B=250
      C=300.9
      WRITE(*,11111) A,B,C
11111 FORMAT(3F7.2/)
      STOP
      END
takk@deb9:~$ gfortran disp.f
takk@deb9:~$ ./a.out
 123.45 250.00 300.90

takk@deb9:~$

一行で表示されていました。
実は添え字の3が適用されているのは、F7.2までなので、最後の一回だけ改行が表示されているんです。各値の表示後に改行するには、添え字の適用範囲を()で囲えばよいです。

takk@deb9:~$ cat disp.f
      A=123.45
      B=250
      C=300.9
      WRITE(*,11111) A,B,C
11111 FORMAT(3(F7.2/))
      STOP
      END
takk@deb9:~$ gfortran disp.f
takk@deb9:~$ ./a.out
 123.45
 250.00
 300.90

takk@deb9:~$

コメント

タイトルとURLをコピーしました