fortran77の学習
概要: プログラミング言語の一つであるFORTRAN77を学びます.みなさんは,はじめてFORTRAN77という言葉を聞くと思いますが,C++やJAVAと同じように自分でプログラムを組み,実行させることができます.ただ,C++やJAVAと違い,きれいな絵を描いたり,絵を動かしたりするのはかなり苦手としており,どちらかというと,科学技術計算に特化させた言語です.したがって,基本的には,データを入力して,複雑な計算をして,解析結果を出力するといったことをさせるためにあるプログラミング言語といえます.したがって,入力も数字,出力も数字の羅列となり,味気ないのですが,これらの味気ない数字の羅列をきれいに演出するのが,EXCELやグラフィックソフトです.
英語と同じようにプログラミング言語も使わないとすぐに頭の中から消えてしまいます.専門科目でも多くの計算式がででくると思いますが,これらをFORTRAN77で計算させてみるといいと思います.電卓だと条件を変えた計算も数回やるとうんざりすると思いますが,FORTRAN77は,何度でも正確に計算してくれます.これによって,専門についての直感が身についていきます.
それでは,楽しみながらFORTAN77を学びましょう!

学習方法:
@自分のパソコン(windows)にfortran77のコンパイラーをインストールする
A下の表の上から順に学習する.
B表のリンク先にあるプログラム(ex---.f)を実際に打ち込んでコンパイル,次に,実行して結果を調べる.
C例題をやる(今後,ex---.fの下に例題を加える予定)

推薦する参考書浦昭二編,FORTRAN77入門(改訂版),培風館.
関連する講義名:「数値計算法」(3年後期:園田・紺野)

連絡先:紺野(芝浦工大・土木))
konno@sic.shibaura-it.ac.jp


No. 内容 備考
@Fortranとは.Fortranでなにができるのか
Aコンパイルの仕方
Bプログラムの書き方・学習のコツ(smpl.f)
1◆変数について
1-1変数名(ex101.f)write(*,*),stop,end
1-2実数型,整数型(ex102.f)*/+- ** ( )
1-3宣言文(ex103.f)real, integer
1-4実数型変数の書式(ex104.f)F型編集記述子,E型
1-5整数型変数の書式(ex105.f)I型
1-6文字型変数(ex106.f)character ' ' : //
1-7文字型変数2(ex107.f)
1-8文字型変数の書式(ex108.f)A型編集記述子
1-9配列(ex109.f)dimension
1-10配列(文字型変数)(ex110.f)
1-11宣言文2(ex111.f)implicit,complex,parameter,data
1-12応用(ex112.f)read(*,*)
2◆DO文
2-1do文(その1)(ex201.f)do, continue
2-2do文(その2)(ex202.f)end do
2-3do文(その3)(ex203.f)
2-4do文(応用1)(ex204.f)1から10までの和
2-5do文(応用2)(ex205.f)行列の積
3◆if文
3-1if文(ex301.f)if .eq. .gt. .ge. .le. .lt. .or. .and.
3-2ifブロック文(その2)(ex302.f)if() then, else if() then, else, end if
3-3ifブロック文(その2)(ex303.f)入れ子構造
3-4その他(ex304.f)goto文
4◆サブルーチン
4-1例題1(ex401.f)call subroutine return
4-2例題2(ex402.f)引数の型の対応
4-3例題3(ex403.f)入れ子構造
4-4例題4(ex404.f)配列(その1)
4-5例題5(ex405.f)配列(その2)
4-6例題6(ex406.f)common文
4-7例題7(ex407.f)ワイルドカード(*)
5◆組み込み関数組み込み関数一覧表(kumikomi_kansu.doc)
5-1例題1(ex501.f)よく使う組み込み関数
6◆関数副プログラム
7◆ファイルの読み書き
7-1例題1(ex701.f)open,close
7-2例題2(ex702.f)status
7-3例題3(ex703.f)err=,end=,rewind,backspace
7-4例題4(ex704.f)書式付のファイルの読込み,書き込み
7-5例題5(ex705.f)書式なしのファイルの読込み,書き込み
7-6例題6(ex706.f)format文
7-7例題7(ex707.f)tab(ただし,g77では使用できない)
7-8例題8(ex708.f)バイナリーファイル(form='unformatted')
8◆応用例1:線形加速度法
8-1理論
8-2プログラミング例
8-3ルンゲ・クッタ法との比較EXCEL
9◆応用例2:ニュートン法
9-1理論
9-2プログラミング例
付録fortranに関するリンク集


◆自分のパソコンにfortran77のコンパイラーをインストールする
@以下の3つのファイルをダウンロースする.(フリーのソフトウエア,オリジナルはここにあります.)
g77lib.zip(209KB)(必須)
g77bin.zip(1,576KB)(必須)
g77doc.zip(303KB)
Acドライブにg77というフォルダを作る.
B今作成したフォルダg77の下にlib,bin,docの3つのフォルダを作る.
Cg77lib.zipを解凍し,フォルダlibの下に入れる.
Dg77bin.zipを解凍し,フォルダbinの下に入れる.
Eg77doc.zipを解凍し,フォルダdocの下に入れる.
F次に環境設定なのですが,これはOSに依存します.ここでは,windows98とwindows2000の場合について説明しますが,それ以外のOSの場合は,紺野のところまで聞きに来て下さい.
(1)windows98の場合
まず,c:\autoexec.batを開き,
set path=・・・・の一番後ろに,';c:\g77\bin'
set lib=・・・・の一番後ろに, ';c:\g77\lib'
を加えます.実際に書くのは,' 'で囲まれた部分です.つまり,セミコロン(;)からbin又はlibまでです.
最後にコンピュータを再起動します.
(2)windows2000の場合
スタートボタンを押して,設定を選択して,その中のシステムをダブルクリックして起動します.次に,詳細というタグを押して,環境変数というボタンを押します.下のウィンドウのシステム環境変数の中のpathという変数を見つけ,ダブルクリックします.すると上の方にウィンドウに変数値がでますので,その一番後ろに上記と同様に;c:\g77\binと加え,完了したらOKボタンを押します.. 次に,また,下のウィンドウの中でlibという変数を見つけ,ダブルクリックします.以下,同様です.なお,windows2000の場合は,再起動は必要ありません.
(3)windowsXP
@Windowsのスタートボタン(画面の左下)を押し,コントロールパネルをクリックする.
Aコントロールパネルのウィンドウが開いたら,その中のシステムというファイルをダブルクリックする.
Bシステムのプロパティが開いたら,詳細設定のタグをクリックし,下の方に見える環境変数というボタンを押す.
C下半分に見えるウィンドウをスクロールして,変数の欄にLIBを見つけ,このLIBの文字をダブルクリックする.
D変数値のところの反転している文字の上にマウスをおき,一度クリックする.
E矢印キーの→で,カーソルを右にもっていく.一番に後ろに,以下の文字に書き込む
;C:\g77\lib
E注意:Cの前は,セミコロン(;)後は,コロン(:)です
F書き込んだら,OKボタンを押す.
G次に,LIBのときと同様に,Pathとうい変数を探して,LIBの時と同様に,変数値のところに以下の文字を書き込む.
;C:\g77\bin
H書き込んだら,OKボタンを押す.
IシステムプロパティのウィンドウのOKボタンを押して,ウィンドウをクローズする.

(4) Windows 7
@C:\にフォルダg77を作成してください。
A後は、上記の3つの圧縮ファイルをダウンロード、解凍して、g77の下に、解凍したフォルダの中からlib,bin,docを見つけ、g77の下にフォルダを移動してください。
B環境変数は、コントロールパネルの中の「システムとセキュリティ」をクリックし、次のでた画面の中の「システム」をクリックし、次にでた画面の中(左側)の「システムの詳細」
をクリックして、そこに出た「環境変数」をクリックしてください。
C下側にシステム環境変数とあると思いますが、変数でPathを選択、編集ボタンを押して、;C:\g77\binを書き加えて下さい。
D同様に変数LIBに;C:\g77\libを加えて下さい。



<注意>(1),(2),(3)共通なのですが,上記の作業は間違うとパソコンが壊れてしまう可能性があります.特にwindows2000,windowsXPの場合は,他の環境変数を間違えて書き換えてしまうと正常に作動しなくなる可能性があります.したがって,上記の作業は,慎重に行ってください.
先頭へ

◆コンパイルの仕方
プログラムはどのフォルダに作ってもかまいません.次に,MS-DOSプロンプト(スタートボタン→プログラム→アクセサリ→MS-DOSプロンプト)を立ち上げて,fortranプログラムがあるフォルダまでcdコマンドで移動します.(エクスプローラでフォルダを選択して,選択したフォルダのMS-DOSプロンプトウィンドウを開く便利なツールがあります:ダウンロード
MS-DOSプロンプト上で,
g77 test.f
注意:f77 ではなくg77です.
と打ちます.なお,test.fは自分で作ってみてください.コンパイルが成功すれば,a.exeという実行ファイルができます.このプログラムを実行するには,aと打ってenterキーを押します.
なお,環境設定のところは,パソコン初心者せは難しいかもしれません.情報センターの方やパソコンに詳しい方に相談してみるのもいいと思います.
(中級者向け)
@実行ファイル名の指定 g77 test.f -o test 実行ファイル名がtestとなる. A最適化 g77 test.f -O -O(大文字O)を付けると最適化された実行ファイルが作成される.計算量が多いプログラムの場合は最適化することにより計算時間が短縮される.
先頭へ

◆Fortranとは.Fortranでなにができるのか
fortranでできること:
 例えば,構造計算.構造が複雑な場合は手計算では不可能.
 計算条件(構造物モデル,荷重モデル)→計算プログラム(*)→アウトプット(発生応力や変位)→図化
 *心臓部の計算プログラムはFORTRANで作られている場合が多い.
fortranは繰り返し計算を必要とする問題を扱うための強力な道具である.しかし,プログラムを作るには,しっかりと解くべき問題の本質をきちんと理解しておく必要がある.
先頭へ