Fortran

出典: フリー教科書『ウィキブックス(Wikibooks)』
Jump to navigation Jump to search

メインページ > 工学 > 情報技術 > プログラミング > Fortran


Wikipedia
ウィキペディア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)
enddo

その結果、たとえばガウスの消去法では3重のDoループが2重のDoループになるなど、アルゴリズムを簡潔に記述することができます。

  • Interfaceという新しい構文が導入され、SubroutineやFucntionの呼出時における整数型や実数型の並びが正しいかどうかのチェックが可能になりました。
  • Intentという新しい構文が導入され、サブルーチン仮引数が入力、出力、入出力かを指定することが可能になりました。

これらは従来からあるSubroutineやFunctionの使用において、意味不明なエラーを出にくくし、ミスの発見が容易になります。

  • Implicit noneが導入され暗黙の型宣言を停止することができます。これにより、変数名のタイプミスを見つけやすくなります。
  • 多くのFortran処理系では、4倍精度を正式にサポートしており、ヒルベルト行列のような悪条件の連立一次方程式を解くには必須です。一方で、WINDOWS上のC/C++言語では4倍精度を宣言しても内部では2倍精度に変換されたり、2.5倍精度(80ビット)でしか計算してくれない中途半端なものが多いようです。

大文字の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