新規記事の投稿を行うことで、非表示にすることが可能です。
2021年01月02日
fortranのformat文覚える
windows10で化石言語であるfortranを回す。
古い本の巻末に書かれているプログラムを読むべく始めたが、
1個書けた。で回った。
(ここにはソースは書かないが。)
1個読めたら全部読めるね。
複数例題が書いてあっても同じ著者がプログラムを書いてるから。
英語とかと違ってプログラムはコードに使っているキーワードが少ないんだよな。
ただ、1個引っかかったのが、
本質的な計算部分ではなく、
画面やテキストファイルに出力する際の
書式のformat文である。
普通はformatの中は数値の全桁数、小数点以下の桁数が
書いてあるはずだが、
本の巻末のプログラムだと、
format文の中に文字が書いてあり、その文字が見出しの様に
画面やファイルにも出力されている。
この形式をマスターせねば本の巻末のプログラムを覚えたことにはならない。
で、下記のサイトを参考にした。
>福岡大学電気工学科
>FORTRAN 言語の構文
>http://tepe.tec.fukuoka-u.ac.jp/HP98/studfile/ssm/ssmdata/ssm-08.pdf
で、自分も書いてみた。
で、回した結果は下記。
うん。本の巻末のプログラムもこれで読めるかな。
format文にスラッシュ( / )入れると改行もできるんだな。
で、本の巻末のプログラムを見返した。
なんかformat文に「 TR5 」とか、「 T 」とかある。
これはなんだ。
検索するもなかなか出てこない。
途中で、どうやらformatの記号のアルファベットは
「編集記述子」と言うようだ。
「 f8.3 」とかは「F形式の編集記述子」または「F形編集記述子」と言うらしい。
ということで「T形編集記述子」で検索したら下記のサイトが引っかかった。
>東京理科大学 山本研究室ホームページ
>Fortranマニュアル 入出力編集
>https://www.rs.kagu.tus.ac.jp/yama/f90/FORMAT.html
上記サイトを参考に、さっきのコードを改造してみた。
で、回してみるとこんな感じ。
令和の時代にFortranの勉強をしているのは自分くらいだろうな。
でも、専門の本ってどんどん古くなる。
新しく発売される本には式の根拠とか、基準値の理由とか書いてないんだよな。
プラグラミングもブラックボックス。
計算根拠が分かっている人はどんどん定年になり、退職していく。
ちょっとでいいからそういう根拠とかが分かったらいいなと思う。
(追記)
もう1回、本の巻末のプログラムを見返したら、
配列をDo文を使わずにformat文の書式だけで羅列している。
こんな機能があるんだな。
で、自分もさっきのコードの一番下に配列をDo文を使わずに羅列して書いてみる。
で、実行して結果を出力してみる。
よしよし。
format文をマスターしたぞ。
write文の横が数値だけになってすっきりしたな。
古い本の巻末に書かれているプログラムを読むべく始めたが、
1個書けた。で回った。
(ここにはソースは書かないが。)
1個読めたら全部読めるね。
複数例題が書いてあっても同じ著者がプログラムを書いてるから。
英語とかと違ってプログラムはコードに使っているキーワードが少ないんだよな。
ただ、1個引っかかったのが、
本質的な計算部分ではなく、
画面やテキストファイルに出力する際の
書式のformat文である。
普通はformatの中は数値の全桁数、小数点以下の桁数が
書いてあるはずだが、
本の巻末のプログラムだと、
format文の中に文字が書いてあり、その文字が見出しの様に
画面やファイルにも出力されている。
この形式をマスターせねば本の巻末のプログラムを覚えたことにはならない。
で、下記のサイトを参考にした。
>福岡大学電気工学科
>FORTRAN 言語の構文
>http://tepe.tec.fukuoka-u.ac.jp/HP98/studfile/ssm/ssmdata/ssm-08.pdf
で、自分も書いてみた。
で、回した結果は下記。
うん。本の巻末のプログラムもこれで読めるかな。
format文にスラッシュ( / )入れると改行もできるんだな。
で、本の巻末のプログラムを見返した。
なんかformat文に「 TR5 」とか、「 T 」とかある。
これはなんだ。
検索するもなかなか出てこない。
途中で、どうやらformatの記号のアルファベットは
「編集記述子」と言うようだ。
「 f8.3 」とかは「F形式の編集記述子」または「F形編集記述子」と言うらしい。
ということで「T形編集記述子」で検索したら下記のサイトが引っかかった。
>東京理科大学 山本研究室ホームページ
>Fortranマニュアル 入出力編集
>https://www.rs.kagu.tus.ac.jp/yama/f90/FORMAT.html
上記サイトを参考に、さっきのコードを改造してみた。
で、回してみるとこんな感じ。
令和の時代にFortranの勉強をしているのは自分くらいだろうな。
でも、専門の本ってどんどん古くなる。
新しく発売される本には式の根拠とか、基準値の理由とか書いてないんだよな。
プラグラミングもブラックボックス。
計算根拠が分かっている人はどんどん定年になり、退職していく。
ちょっとでいいからそういう根拠とかが分かったらいいなと思う。
(追記)
もう1回、本の巻末のプログラムを見返したら、
配列をDo文を使わずにformat文の書式だけで羅列している。
こんな機能があるんだな。
で、自分もさっきのコードの一番下に配列をDo文を使わずに羅列して書いてみる。
で、実行して結果を出力してみる。
よしよし。
format文をマスターしたぞ。
write文の横が数値だけになってすっきりしたな。