Fortran90の特徴 ◎ Fortran90は今のところFORTRAN77の全ての機能を許容していますが,後ろ に列挙した廃止予定事項については,新たに学ぶ場合には避ける方が無難 でしょう。したがって,HTML講義ノートではすべて説明を省略しました。 ◎ Fortran95対応について
(新設された機能) ◇◇ はHTML講義ノート中の各項目へのリンクです。 (1) 並列計算など配列演算の強化 例 ◇同じ形状の配列aとbの要素間の演算結果を要素とする配列:a+b, a*b など ◇配列要素の関数値を要素とする配列:ABS(a), SQRT(a), INT(a) など ◇マスク式:例 配列aの正の要素の位置で真,それ以外では偽の論理配列 a>0 ◇配列の部分配列: a(1:100)のとき,a(1:50), a(1:100:2) など ◇添字を要素とする整数配列bによるaの部分配列の指定 a(b) ◇豊富な配列関数:例 配列aの要素の和 = SUM(a),aの形状 = SHAPE(a) など (2) 配列の動的割り当ての方法◇ 例 INTEGER, ALLOCATABLE :: point(:,:) ....... max_x=4096 ; max_y=2048 ALLOCATE( point(1:max_x, 1:max_y) ) (3) 数値データの精度のパラメータ指定◇ これにより異なるシステム間の移植の際の不都合がなくなった。 例 INTEGER, PARAMETER :: p = SELECTED_REAL_KIND(12) REAL(KIND=p) :: x(1:1024), y(1:1024), z(1:1024) 12 は有効数字桁数。システムの内部表現に応じて最適な 実数型が確保される。 (4) DOループの構文化◇ DO ... END DO の構文形式になり,終端文番号が必要でなくなった。 条件選択による分岐に,◇EXIT, ◇CYCLE, ◇WHILE などを新設 ※ これにより,GOTO文を全く使用せずにプログラムが書けるようになった。 また,文番号も必要としないが,新たにラベルを使用しなければならない 場面が出てきた。◇ (5) 副プログラム関係 ◇内部手続きの新設:これを使うと配列を返す関数なども定義可能になる。 ◇再帰呼び出し ◇キーワード引数と引数のオプション指定 ◇引数の入出力特性指定 ◇関数値を返すRESULT変数 (6) 構造型データの新設◇ (7) ポインタの新設◇ (8) モジュール副プログラム ◇変数宣言の共有化 ◇ユーザ定義演算子 ◇ユーザ定義代入文など (9) その他 ◇自由形式コーディングの導入 ◇変数英字名の拡張(長さと下線の追加) ◇文字定数定義に" "型を追加 ◇型宣言でデータの属性指定 ◇SELECTE CASE 構文 ◇DO型配列要素 ◇文のラベル ◇WHERE文 ◇「暗黙の型宣言」の無効化宣言 ◇関係演算子の記号化 ◇配列組込関数の補充 ◇文字型組込関数の補充 (廃止予定事項)* は Fortran95 で廃止されたもの。 算術IF文 * ブロック外からENDIF文への分岐 * 実数型DO制御変数 DO終端文の共有,CONTINUEとEND DO以外のDO終端文 * ASSIGN文と割り当て型GOTO文 選択肢つきRETURN文 * PAUSE文 * H型文字定数編集記述子 HPへもどる