Fortran
メインページ > 工学 > 情報技術 > プログラミング > Fortran
Fortran(フォートラン)は数値計算用のコンパイラ言語です。 この教科書では、最新の機能を取り入れたFortran90、Fortran95について勉強します。
Fortranの特徴[編集]
- 数値計算プログラムを簡潔に書くことができます。
- 数値計算のためのライブラリが充実しています、例えばLAPACKやFFTPACKなどが使えます。
- GNUプロジェクトに無料のコンパイラがあります。
- スーパーコンピュータを使った数値計算、例えば、数値気象予報ではFortranが採用されています。
したがってパソコンで開発したFortranのプログラムを、スーパーコンピュータに移植することが容易です。
- 複素数の演算を言語レベルでサポートしています。
- Fortranでは言語レベルで配列同士の加減算などがサポートされています。また、部分配列を使用できるようになりました。
do i=1,n
a(i,k+1:n)=a(i,k+1:n)-a(i,k)*a(k,k+1:n)
x(i)=x(i)-a(i,k)*x(k)
end do
その結果、たとえばガウスの消去法では3重のDoループが2重のDoループになるなど、アルゴリズムを簡潔に記述することができます。
- Interfaceという新しい構文が導入され、SubroutineやFucntionの呼出時における整数型や実数型の並びが正しいかどうかのチェックが可能になりました。
- Intentという新しい構文が導入され、サブルーチン仮引数が入力、出力、入出力かを指定することが可能になりました。
これらは従来からあるSubroutineやFunctionの使用において、意味不明なエラーを出にくくし、ミスの発見が容易になります。
- Implicit noneが導入され暗黙の型宣言を停止することができます。これにより、変数名のタイプミスを見つけやすくなります。
- 多くのFortran処理系では、4倍精度を正式にサポートしており、ヒルベルト行列のような悪条件の連立一次方程式を解くには必須です。C/C++言語では4倍精度をサポートすることがオプションであるため、
long double
として4倍精度で宣言したつもりでも、倍精度や80ビットの「2.5倍精度」になるケースが多いです。(※GCC 4.6以降では拡張として4倍精度に対応する__float128
が用意されている。[1])
大文字のFORTRAN[編集]
大文字のFORTRANは、FORTRAN66、FORTRAN77と呼ばれる1960年代から開発され使われてきたクラシックな数値計算言語です。新規にプログラムを開発するには、上記の小文字のFortranが推奨されます。 Fortran95になって、FORTRANのいくつかの機能が削除されました。
削除された機能の一例
- ホレリス型文字定数(H型定数)
- 606 FORMAT ( 9H1GOODBYE. )
- PAUSE文
- PAUSE
- ASSIGN型GOTO文
- 実数型制御変数のDO文
- DO X=1.1,0.1,-0.1
- 実行文を記述できる範囲は73~80カラム。
- コメント行は1カラム目にCと記入する。継続行は、6カラム目になんらかの文字を記入する。小文字のFortranでは、自由欄形式が使えるようになりました。またコメントには'!'を使います。
- 英大文字での記述(ただし、Fortranでも英大文字と小文字は区別されません)
オーバービュー
プログラマのためのFortran入門
FAQ
フォートラン入門
ハローワールド
Fortranを始める
変数
簡単な入出力
簡単な数学
プログラムの流れ
サブルーチンと関数
フォートランのアイデアの詳細
I/O Statements
I/O ステートメント
文字列の扱い
プログラム構造とスタイル
フォートランの複素数タイプ
メーモリーマネージメントとコモンブロック
エラー捕捉
パラレルプロセッシング
フォートランを越えて
言語のオーバーロード
言語の混在
コマンドソースコードライブライリ
例題
実際に動くフォートランの例題
外部リンク
オープンディレクトリ - F95/F90 チュートリアル
Fortran用のEclipse ベースのIDE
gtk-fortran,GTK+ と Fortran 2003のビンディングプロジェクト
コンパイラ
g95 Compiler
GNU g77 (gcc) Fortran 77 Compiler
GNU gfortran (gcc) Fortran 95 Compiler
Intel Fortran Compiler for Linux:a free non-commercial Fortran compiler
Free Sun Fortran 95, C, and C++ compilers and tools