アフィリエイト広告を利用しています

広告

posted by fanblog

2020年12月24日

fortranでテキストファイル出力してみる

昨日からfortranを始めた。

まず初めてコンパイル、実行したとき、
いちいちコマンドプロンプトに打ち込むのが面倒だった。
なので下記の画像のBATファイルを作成した。

fortran_08.JPG

このBATファイルをダブルクリックすれば
test.f90がコンパイルされ、
a.exeがフォルダ内に出力されるようなった。(下記画像)

fortran_09.JPG


ついでに、
a.exeをコマンドプロンプトから実行する
BATファイルを作成してみた。

fortran_11.JPG

で、このBATファイルをダブルクリックすると、

コマンドプロンプトが立上り、
Hello World!の文字が出た!

fortran_12.JPG


よしよし。

じゃあ、BATファイルを介さず、a.exeをそのままダブルクリックしてもいいかと思ったが、
ダブルクリックするとエラーで実行されない。(下記画像)

fortran_10.JPG


きちんとコマンドプロンプト上で実行すると実行できた。
これはコマンドプロンプト上でPASSを指定しているからである。
(環境変数でPASSを登録しても実行できる)

でもexeファイルをダブルクリックして実行できないなんて変だ、と思い
検索して調べると下記のサイトが見つかった。

>プログラミングやってみる!
>.dllが見つかりません。
http://proprog583.blog.fc2.com/blog-entry-3.html

どうやら
C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin
のなかにある
・libgcc_s_seh-1.dll
・libquadmath-0.dll
・libwinpthread-1.dll
の3つがa.exeと同じフォルダにあると動くようなので
コピーしてみる。
でダブルクリックしたところ、上記サイトにあるようにエラーなく動いたが、
コマンドプロンプトが出ない(一瞬で消えている?)ので
exeファイルをダブルクリックだとHello World!の文字が見れず
プログラムが本当に想定通りに動いたか確かめれない。

なので、、、
実行されるとtextファイルをはき出すプログラムを書きたい。
(そうすればきちんと実行されたか分かるので。)

で、下記のサイトを参考にしてプログラムを書いてみた。(下記画像)

>nag
>Fortran 入門
>15 ファイル操作
https://www.nag-j.co.jp/fortran/FI_15.html

fortran_13.JPG

writeのカッコの中の意味は以下のサイトを参考にした。

>[itbase2018]Fortran 実習 入出力
https://itpass.scitec.kobe-u.ac.jp/hiki/hiki.cgi?%5Bitbase2018%5DFortran+%E5%AE%9F%E7%BF%92+%E5%85%A5%E5%87%BA%E5%8A%9B

で、コンパイルしてみる。
先ほど作ったtest.batファイルをダブルクリックするとa.exeがはき出され、
a.exeをダブルクリックするとoutput.txtがはき出される。(下記画像)

fortran_14.JPG

ちなみに
・libgcc_s_seh-1.dll
・libquadmath-0.dll
・libwinpthread-1.dll
の3つはフォルダ内に入れっぱなし。
理由は、素人の素朴な印象として
exeファイルって環境変数でPATHを設定しないと使えないなんて
変だな、って思ったから。
(便利なプログラム作っても、環境変数を設定しないといけないとコピペで渡せないよね。
 まあ、PATHを指定したa.batを一緒に入れておけばいいわけだが。)

で、はき出されたoutput.txtの中身を開くとこうなっている。

fortran_15.JPG

なんか、、
1文字目になぞのスペースがある、、
どうしてだろう。

'hello, world!'と打ったから、
1文字目にスペースは入れてないのに!
そんなことが気になるのはA型だからなのか、それとも糖質制限してイライラしているのか。

で、色々調べてみる。

どうやら、書式を指定しないと1文字目にスペースが入るようだ。
なので文字列としての’(a)’をwriteのカッコ内に入力してみる。

fortran_16.JPG

で、コンパイルして、実行して、はき出されたテキストファイルを見てみる。

やった!できてる。(下記画像)
1文字目にスペースなしになってる!

fortran_17.JPG


よしよし。
今回はここまでだな。




posted by iyoder at 23:04 | Comment(0) | TrackBack(0) | プログラム
この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
https://fanblogs.jp/tb/10429338
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
最新記事
<< 2021年01月 >>
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            
カテゴリーアーカイブ
ファン
プロフィール
最新コメント
×

この広告は30日以上新しい記事の更新がないブログに表示されております。