26
木村拓馬 FORTRAN プログラミング入門 3 プログラム作成の基本,標準入出力,変数,演算木村拓馬 2014 4 17 19:40 FORTRAN プログラミング入門,–3 プログラム作成の基本,標準入出力,変数,演算1/24

FORTRAN プログラミング入門 第3 回 プログラム作成の基本,標 … · 2014-04-28 · 木村拓馬 fortran プログラミング入門 – 第3 回 プログラム作成の基本,標準入出力,変数,演算–

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: FORTRAN プログラミング入門 第3 回 プログラム作成の基本,標 … · 2014-04-28 · 木村拓馬 fortran プログラミング入門 – 第3 回 プログラム作成の基本,標準入出力,変数,演算–

木村拓馬

FORTRANプログラミング入門–第 3回 プログラム作成の基本,標準入出力,変数,演算–

木村拓馬

2014 年 4 月 17 日 19:40

FORTRAN プログラミング入門,–第 3 回 プログラム作成の基本,標準入出力,変数,演算– 1/24

Page 2: FORTRAN プログラミング入門 第3 回 プログラム作成の基本,標 … · 2014-04-28 · 木村拓馬 fortran プログラミング入門 – 第3 回 プログラム作成の基本,標準入出力,変数,演算–

木村拓馬

.本日は..

......

簡単?なことをたくさん

プログラミングの基礎知識

コンパイラ「g95」の基本的な使い方Fortranのルール・データ型プログラムの始めと終わり(PROGRAM / END PROGRAM)WRITE文による出力(画面にデータを表示する)変数の宣言・代入

四則演算

READ文による入力(キーボードからデータを入力)演習

初心者は,細かい説明は気にしないで,とりあえずプログラムを書いて

動かして覚えると良いと思う

FORTRAN プログラミング入門,–第 3 回 プログラム作成の基本,標準入出力,変数,演算– 2/24

Page 3: FORTRAN プログラミング入門 第3 回 プログラム作成の基本,標 … · 2014-04-28 · 木村拓馬 fortran プログラミング入門 – 第3 回 プログラム作成の基本,標準入出力,変数,演算–

木村拓馬

プログラムとは

コンピュータで実行したい処理手順を一定のルール (文法)に従って記述したものをプログラムという.プログラムを記述するための言語(単語・文法)をプログラミング言語と呼ぶ.

処理手順の例:

1)数字を記憶する場所を用意2)数字を入力する3)入力した数字を使って計算4)計算結果を画面に表示する

プログラムを記述することをプログラミングと呼び,プログラミングする

人をプログラマと呼ぶ.

FORTRAN プログラミング入門,–第 3 回 プログラム作成の基本,標準入出力,変数,演算– 3/24

Page 4: FORTRAN プログラミング入門 第3 回 プログラム作成の基本,標 … · 2014-04-28 · 木村拓馬 fortran プログラミング入門 – 第3 回 プログラム作成の基本,標準入出力,変数,演算–

木村拓馬

プログラミングの工程

(Fortran等で)コンピュータに何かをさせたい場合,

1) 設計:問題を分析して,具体的に何をさせるのか・処理の手順を決める

2) コーディング:コンピュータでもできる基本的な処理に分解し,

処理・手順をプログラミング言語のルールに従って記述する

3) コンパイル:プログラミング言語(人間にわかりやすい)で書かれたプログラムを,

機械語(コンピュータにわかりやすい)に変換

4) 変換して得られた実行ファイルを計算機に実行させる

人間がプログラミング言語を用いて記述したプログラムをソースコードと

いう.コードを作ることをコーディングという

コンピュータが直接実行可能な機械語に翻訳するプログラムをコンパイ

ラといい,コンパイラによる翻訳工程をコンパイルという.

コンパイルされたファイルは,コンピュータが処理を実行可能なファイル

ということで実行ファイルと呼ばれる.

他に,間違い・欠陥(バグ)を探して修正するデバッグという作業を行う

FORTRAN プログラミング入門,–第 3 回 プログラム作成の基本,標準入出力,変数,演算– 4/24

Page 5: FORTRAN プログラミング入門 第3 回 プログラム作成の基本,標 … · 2014-04-28 · 木村拓馬 fortran プログラミング入門 – 第3 回 プログラム作成の基本,標準入出力,変数,演算–

木村拓馬

コンパイルと実行(g95)

本講義では,「g95」を用いてコンパイルする.

.g95 [4]..

......

無料の Fortran 95対応コンパイラ(GNUオープンソース, GPLライセンス)

最近の安定版はバージョン 0.93(October 2012)

Linux,UNIX,Windows,Mac OS等で利用可.

Fortran 2003, 2008のいくつかの機能を実装している

http://g95.org/

FORTRAN プログラミング入門,–第 3 回 プログラム作成の基本,標準入出力,変数,演算– 5/24

Page 6: FORTRAN プログラミング入門 第3 回 プログラム作成の基本,標 … · 2014-04-28 · 木村拓馬 fortran プログラミング入門 – 第3 回 プログラム作成の基本,標準入出力,変数,演算–

木村拓馬

コンパイルと実行(g95)

  g95を用いて,前回作成したプログラム

.test.f90..

......

program testwrite(*,*) ’Hello world!’

end program test

をコンパイルしてみよう.

 端末を開き,プログラム (test.f90)を保存した場所に移動(CD),そして,

.

......[user@host␣˜/FPR1]$g95␣test.f90 で,g95を用いて test.f90をコンパイルできる. コンパイルが成功すると,a.outという実行ファイルができているはず.

 実行する場合は,以下のように実行ファイル名を入力.

.

......[user@host␣˜/FPR1]$./a.out このとき,カレントディレクトリを表す./を忘れないこと.

 すると画面に「Hello world!」と表示されるはず.

FORTRAN プログラミング入門,–第 3 回 プログラム作成の基本,標準入出力,変数,演算– 6/24

Page 7: FORTRAN プログラミング入門 第3 回 プログラム作成の基本,標 … · 2014-04-28 · 木村拓馬 fortran プログラミング入門 – 第3 回 プログラム作成の基本,標準入出力,変数,演算–

木村拓馬

コンパイルと実行(g95) コンパイルに失敗することはよくある.これは比較的簡単に修正できる..test.f90 の二行目の最後のアポストロフィ( ’ ) を書き忘れてみた..

......

program testwrite(*,*) ’Hello world!

end program test

をコンパイルすると,.

......

In file test.f90:2write(*,*) ’Hello world!

1Error: Unterminated character constant beginning at (1)

のように「test.f90の 2行目で,”1”の指す所から始まる文字列が終わってない」と指摘される.コンパイルに失敗したら,まずはメッセージを読み修正しよう.

.a.out が嫌な場合..

......[user@host␣˜/FPR1]$g95␣-o␣test.out␣test.f90 [user@host␣˜/FPR1]$./test.out 上のようにオプション-oを使用すると,a.outではなく指定した名前 (test.out)の実行ファイルが生成される.test.outの部分は好きな名前を付けてよい(e.g. sukinanamae.o)

FORTRAN プログラミング入門,–第 3 回 プログラム作成の基本,標準入出力,変数,演算– 7/24

Page 8: FORTRAN プログラミング入門 第3 回 プログラム作成の基本,標 … · 2014-04-28 · 木村拓馬 fortran プログラミング入門 – 第3 回 プログラム作成の基本,標準入出力,変数,演算–

木村拓馬

コンパイルと実行(g95) コンパイルに失敗することはよくある.これは比較的簡単に修正できる..test.f90 の二行目の最後のアポストロフィ( ’ ) を書き忘れてみた..

......

program testwrite(*,*) ’Hello world!

end program test

をコンパイルすると,.

......

In file test.f90:2write(*,*) ’Hello world!

1Error: Unterminated character constant beginning at (1)

のように「test.f90の 2行目で,”1”の指す所から始まる文字列が終わってない」と指摘される.コンパイルに失敗したら,まずはメッセージを読み修正しよう.

.a.out が嫌な場合..

......[user@host␣˜/FPR1]$g95␣-o␣test.out␣test.f90 [user@host␣˜/FPR1]$./test.out 上のようにオプション-oを使用すると,a.outではなく指定した名前 (test.out)の実行ファイルが生成される.test.outの部分は好きな名前を付けてよい(e.g. sukinanamae.o)

FORTRAN プログラミング入門,–第 3 回 プログラム作成の基本,標準入出力,変数,演算– 7/24

Page 9: FORTRAN プログラミング入門 第3 回 プログラム作成の基本,標 … · 2014-04-28 · 木村拓馬 fortran プログラミング入門 – 第3 回 プログラム作成の基本,標準入出力,変数,演算–

木村拓馬

Fortranの基本.FORTRANとは..

......

史上最初の(本格的な)プログラミング言語.1954年に IBMの John W. Backusによって開発された

FORmula TRANslationの略.数式(を自動的に機械語に)翻訳

C, C++, Javaといった言語が誕生するまで,科学技術計算に関係する膨大な数のプログラムのほとんどが FORTRANで書かれている.⇒数十年にわたって蓄積された豊富なソフトウェア資産が活用できる数値計算に適した言語で,現在でも理工学の諸分野で使われている

(簡単で使いやすい,実行が速い,数値計算に必要な機能が充実している).

.本講義では,Fortran 90を扱う..

......

1965年に ISO (国際標準化機構)にて国際的な標準言語として認定 (FORTRAN66).その後 FORTRAN77, Fortran90, Fortran95, Fortran2003, Fortran2008と改良され続けている(次は Fortran 2015?).Fortran90にて大幅な改訂

FORTRAN77までは FORTRAN (すべて大文字),Fortran90以降は Fortran (Fのみ大文字で他は小文字)と表す慣習がある.従来の FORTRAN77プログラムはすべて動くように改訂,95以降いろいろ廃止

FORTRAN プログラミング入門,–第 3 回 プログラム作成の基本,標準入出力,変数,演算– 8/24

Page 10: FORTRAN プログラミング入門 第3 回 プログラム作成の基本,標 … · 2014-04-28 · 木村拓馬 fortran プログラミング入門 – 第3 回 プログラム作成の基本,標準入出力,変数,演算–

木村拓馬

Fortranの基本.FORTRANとは..

......

史上最初の(本格的な)プログラミング言語.1954年に IBMの John W. Backusによって開発された

FORmula TRANslationの略.数式(を自動的に機械語に)翻訳

C, C++, Javaといった言語が誕生するまで,科学技術計算に関係する膨大な数のプログラムのほとんどが FORTRANで書かれている.⇒数十年にわたって蓄積された豊富なソフトウェア資産が活用できる数値計算に適した言語で,現在でも理工学の諸分野で使われている

(簡単で使いやすい,実行が速い,数値計算に必要な機能が充実している).

.本講義では,Fortran 90を扱う..

......

1965年に ISO (国際標準化機構)にて国際的な標準言語として認定 (FORTRAN66).その後 FORTRAN77, Fortran90, Fortran95, Fortran2003, Fortran2008と改良され続けている(次は Fortran 2015?).Fortran90にて大幅な改訂

FORTRAN77までは FORTRAN (すべて大文字),Fortran90以降は Fortran (Fのみ大文字で他は小文字)と表す慣習がある.従来の FORTRAN77プログラムはすべて動くように改訂,95以降いろいろ廃止

FORTRAN プログラミング入門,–第 3 回 プログラム作成の基本,標準入出力,変数,演算– 8/24

Page 11: FORTRAN プログラミング入門 第3 回 プログラム作成の基本,標 … · 2014-04-28 · 木村拓馬 fortran プログラミング入門 – 第3 回 プログラム作成の基本,標準入出力,変数,演算–

木村拓馬

使用できる文字

Fortran90で使用できる文字は,以下の英数字と特殊文字:

英大文字 ABCDEFGHIJKLMNOPQRSTUVWXYZ

英小文字 abcdefghijklmnopqrstuvwxyz

数字 0123456789

特殊文字空白 空白 = + - * / ( ) , . ’ : $ ! ” % & ; ?

英大文字と英小文字は区別されない (ただし,文字列として扱う場合は区別される).

用いるコンパイラによっては,仮名や漢字などの文字を扱うこともできる.

FORTRAN プログラミング入門,–第 3 回 プログラム作成の基本,標準入出力,変数,演算– 9/24

Page 12: FORTRAN プログラミング入門 第3 回 プログラム作成の基本,標 … · 2014-04-28 · 木村拓馬 fortran プログラミング入門 – 第3 回 プログラム作成の基本,標準入出力,変数,演算–

木村拓馬

書き方のルール行

1行は 132桁まで.”; ” (セミコロン)で区切れば 1行に複数の文を書くことも可.どこから書き始めてもよい(自由形式)が,処理の単位などで字下げ

(インデント)して,プログラムを読みやすくすること.継続行

1行に入りきらない場合は,行末に”&” (ampersand)を記述すると次の行へ継続することができる.”&”だけの行はダメ文字列の場合は,行末と次の行の最初にも ”&”を記述.

注釈(comment)”!” (exclamation mark)が注釈記号を表す.”!”以降はその行の終わりまでが注釈となる.注釈はプログラムの解釈に影響を与えない

.例:継続行と注釈 (ex3.1.f90)..

......

program ex_commentwrite(*,*) ’Hello world!’write(*,*) ’Hello &&world!’!write(*,*) ’Hello world!’

end program ex_comment

FORTRAN プログラミング入門,–第 3 回 プログラム作成の基本,標準入出力,変数,演算– 10/24

Page 13: FORTRAN プログラミング入門 第3 回 プログラム作成の基本,標 … · 2014-04-28 · 木村拓馬 fortran プログラミング入門 – 第3 回 プログラム作成の基本,標準入出力,変数,演算–

木村拓馬

データ型

Fortran90には主に以下のようなデータ型が用意されている.

型 型指定子

整数型 INTEGER [種別型パラメタ選択子]実数型 REAL [種別型パラメタ選択子]倍精度実数型 DOUBLE PRECISION

複素数型 COMPLEX [種別型パラメタ選択子]論理型 LOGICAL [種別型パラメタ選択子]文字型 CHARACTER [文字選択子]

種別型パラメタ選択子は,(KIND=4),(KIND=8),(4),(8)などで,精度(使用するバイト)を決める

文字選択子は,(LEN=10),(10)などで,格納する文字数を決める

これらは省略でき,REALのみ, INTEGERのみでもOK.このときふつう種別型パラメタ選択子は (KIND=4),文字選択子は1文字(LEN=1)となる

FORTRAN プログラミング入門,–第 3 回 プログラム作成の基本,標準入出力,変数,演算– 11/24

Page 14: FORTRAN プログラミング入門 第3 回 プログラム作成の基本,標 … · 2014-04-28 · 木村拓馬 fortran プログラミング入門 – 第3 回 プログラム作成の基本,標準入出力,変数,演算–

木村拓馬

定数

整数

通常 4バイト(32ビット)なので,−231~ 231 − 1の範囲.実数

単精度(4 byte):有効数字が約 7桁,絶対値が 10±38程度まで扱える.

4.56E+1 (= 4.56 · 101), 7.89E-10 (= 7.89 · 10−10)倍精度(8 byte):有効数字が約 16桁,絶対値が 10±308程度まで.

4.56D+1, 7.89D-10

複素数

複素数は (実数部,虚数部)と記述(1.23D0, 4.0D0) (1.2D-3, -1.0D0)

論理定数

真であれば.TRUE.,偽であれば.FALSE.で表す.

文字

アポストロフィ( ’ )かダブルクォーテーション ( ” )で括る.

FORTRAN プログラミング入門,–第 3 回 プログラム作成の基本,標準入出力,変数,演算– 12/24

Page 15: FORTRAN プログラミング入門 第3 回 プログラム作成の基本,標 … · 2014-04-28 · 木村拓馬 fortran プログラミング入門 – 第3 回 プログラム作成の基本,標準入出力,変数,演算–

木村拓馬

プログラムの構成

.

......

[PROGRAM [プログラム名]]

  宣言部

  実行部 (代入,演算,入出力など)

END [PROGRAM [プログラム名]]

.プログラムの始まりと終わりの合図..

......

PROGRAM文

主プログラムの開始は以下の PROGRAM文を記述.プログラム名は省略可能で,PROGRAM文自体も省略可能.(プログラム名とファイル名が異なってもよい)

(規格には見当たらないが,変なプログラム名はエラーになるらしい)

END PROGRAM文

プログラムの終了

PROGRAMおよびプログラム名は省略可能だが,ENDは必要.

FORTRAN プログラミング入門,–第 3 回 プログラム作成の基本,標準入出力,変数,演算– 13/24

Page 16: FORTRAN プログラミング入門 第3 回 プログラム作成の基本,標 … · 2014-04-28 · 木村拓馬 fortran プログラミング入門 – 第3 回 プログラム作成の基本,標準入出力,変数,演算–

木村拓馬

出力WRITE文または PRINT文を用いる........WRITE (装置番号, 書式識別子) 文字または変数名

.

......PRINT 書式識別子, 文字または変数名

装置番号にアスタリスク (*)を指定すると標準出力(画面)に出力

(装置番号は「ファイル入出力」の回で扱う予定)

書式識別子にアスタリスク (*)を指定すると標準書式

(書式識別子は「書式指定」・「反復処理」の回で扱う予定)

文字列をそのまま出力する場合は,出力したい文字列をアポストロフィー

(’)で囲む

一般に,書式の指定がない場合は,WRITE文を書くたびに改行

複数のデータをまとめて出力するときはカンマ(,)で区切る

.例:画面に文字列’Hello world!’ を出力(test.f90)..

......

program test

write(*,*) ’Hello world!’

end program test

FORTRAN プログラミング入門,–第 3 回 プログラム作成の基本,標準入出力,変数,演算– 14/24

Page 17: FORTRAN プログラミング入門 第3 回 プログラム作成の基本,標 … · 2014-04-28 · 木村拓馬 fortran プログラミング入門 – 第3 回 プログラム作成の基本,標準入出力,変数,演算–

木村拓馬

変数の宣言.型宣言文:変数を使うときは,前もって合図...

......

変数とは,データを一時的に記憶しておくための領域に名前を付けたもの.

ふつう記憶する領域を確保するためには,変数を使用する前に名前(変数

名)と種類(データ型)と大きさ(配列の回で扱う)の宣言を行う.

Fortran90で型宣言をする場合,コロン( : )を 2つ付けて宣言する.たとえば,

INTEGER :: I

で,整数 (integer)を記憶する”I”という名前の変数が使用できるようになる

表のように,同じ型の変数はまとめて宣言する

型 記述方法

整数型 INTEGER :: I, J, K

実数型 REAL :: A, B, C

倍精度実数型 DOUBLE PRECISION :: D, E, F

複素数型 COMPLEX :: G, H

倍精度複素数型 COMPLEX(8) :: G, H

論理型 LOGICAL :: P, Q, R

文字型 CHARACTER :: A

CHARACTER(5) :: A

FORTRAN プログラミング入門,–第 3 回 プログラム作成の基本,標準入出力,変数,演算– 15/24

Page 18: FORTRAN プログラミング入門 第3 回 プログラム作成の基本,標 … · 2014-04-28 · 木村拓馬 fortran プログラミング入門 – 第3 回 プログラム作成の基本,標準入出力,変数,演算–

木村拓馬

変数の宣言

Fortranは特に型宣言をしなければ,変数名の最初の文字によってその変数の型が自動的に決定する(暗黙の型宣言).

変数名の頭文字 変数の型

I, J, K, L, M, N(小文字も同様) 整数型

A ~ H, O ~ Z(小文字も同様) 実数型

.注意..

......

変数の打ち間違えなどによって予期せぬバグが起こる可能性があるため,本講

義では PROGRAM文の後に

IMPLICIT NONE

と記述し,暗黙の型宣言を使用せず,すべての変数の型宣言を書くことを推奨.

FORTRAN プログラミング入門,–第 3 回 プログラム作成の基本,標準入出力,変数,演算– 16/24

Page 19: FORTRAN プログラミング入門 第3 回 プログラム作成の基本,標 … · 2014-04-28 · 木村拓馬 fortran プログラミング入門 – 第3 回 プログラム作成の基本,標準入出力,変数,演算–

木村拓馬

代入変数に値を代入するには,代入演算子= (イコール)を用いる.(数学の等号の意味とは違うことに注意)........変数名=値.

......i=1

a=10.0

次の例では,整数 (integer)の変数 iと実数 (real)の変数 aの使用を宣言,変数に値を代入 (=)し,変数の値を画面に出力.例:変数の宣言・代入・画面に出力(ex3.2.f90)..

......

program ex_variable

implicit none

integer :: i

real :: a

i=1

a=10.0

write(*,*) i

write(*,*) ’a=’,a

end program

FORTRAN プログラミング入門,–第 3 回 プログラム作成の基本,標準入出力,変数,演算– 17/24

Page 20: FORTRAN プログラミング入門 第3 回 プログラム作成の基本,標 … · 2014-04-28 · 木村拓馬 fortran プログラミング入門 – 第3 回 プログラム作成の基本,標準入出力,変数,演算–

木村拓馬

入力キーボードやファイルから変数にデータを入力するには,READ文を用いる.

.

......READ (装置番号, 書式識別子) 変数名

.

......READ 書式識別子, 変数名

装置番号にアスタリスク (*)を指定すると標準入力(キーボード)(装置番号は「ファイル入出力」の回で扱う予定)

複数のデータをまとめて入力するときはカンマ(,)で区切る

.例:キーボードから整数を入力(ex3.3.f90)..

......

program ex_readimplicit noneinteger :: i,jwrite(*,*) ’input an integer: i’read(*,*) iwrite(*,*) ’i=’, iwrite(*,*) ’input two integers: i, j’read(*,*) i,jwrite(*,*) ’i=’, i, ’, j=’, j

end program ex_read

FORTRAN プログラミング入門,–第 3 回 プログラム作成の基本,標準入出力,変数,演算– 18/24

Page 21: FORTRAN プログラミング入門 第3 回 プログラム作成の基本,標 … · 2014-04-28 · 木村拓馬 fortran プログラミング入門 – 第3 回 プログラム作成の基本,標準入出力,変数,演算–

木村拓馬

演算規則

四則演算と冪算

Fortran90で使える算術演算子には優先順位がある..

......

算術演算子 意味 優先順位

+ 加算 低

- 減算 低

* 乗算 中

/ 除算 中

** べき算 高

異なる型の演算結果

異なる型が混在した場合,型の強い方の型が使用される.

.

...... 整数<単精度実数<倍精度実数<単精度複素数<倍精度複素数

整数型と実数型の演算結果は実数となる

実数型と複素数型の演算結果は複素数となる etc.

注意. 整数÷整数の演算結果も整数(小数点以下切り捨て)となる.1/3 と  1.0/3.0 は違う

FORTRAN プログラミング入門,–第 3 回 プログラム作成の基本,標準入出力,変数,演算– 19/24

Page 22: FORTRAN プログラミング入門 第3 回 プログラム作成の基本,標 … · 2014-04-28 · 木村拓馬 fortran プログラミング入門 – 第3 回 プログラム作成の基本,標準入出力,変数,演算–

木村拓馬

演算規則.例:計算してみよう(ex3.4.f90)..

......

program ex_arithmeticsimplicit noneinteger :: i=1, j=3! 四則演算と冪算write(*,*) 1+3write(*,*) 1-3write(*,*) 1*3write(*,*) 1/3write(*,*) 1.0/3.0write(*,*) 1./3.write(*,*) 2.**3.write(*,*)! 演算子の優先順位write(*,*) 1+2*3write(*,*) (1+2)*3write(*,*)! 変数を使って演算write(*,*) i+j, i-ji=i+1; write(*,*) ii=i+1; write(*,*) ii=i+1; write(*,*) i

end program ex_arithmetics

integer :: i=1

のように,変数の宣言と同時に値を代入できる

1は整数型,1.0と 1.は実数型

1/3 は整数と整数の演算だから整数,

1.0/3.0は実数と実数の演算だから実数,と結果が違うので注意

write(*,*)だけの行は出力を改行.

カッコ()でくくると,計算の優先順位が高くなる

i=i+1で,iの値が1増える.

このような演算をインクリメントという.

減らすのはデクリメント(i=i-1).

FORTRAN プログラミング入門,–第 3 回 プログラム作成の基本,標準入出力,変数,演算– 20/24

Page 23: FORTRAN プログラミング入門 第3 回 プログラム作成の基本,標 … · 2014-04-28 · 木村拓馬 fortran プログラミング入門 – 第3 回 プログラム作成の基本,標準入出力,変数,演算–

木村拓馬

参考文献

[1] JIS X 3001-1:2009 (プログラム言語 Fortran –第 1部:基底言語)

[2] 渡部善隆:Fortran 90の紹介,九州大学大型計算機センター広報, Vol.29,No.4 (1996), pp.301-313.

[3] 株式会社インセプト:IT用語辞典 e-Words,http://e-words.jp/(2014年 4月 10日閲覧)

[4] The G95 Project,http://g95.org(2014年 4月 10日閲覧)

[5] 戸川隼人:ザ・Fortran90/95,サイエンス社(1999)

FORTRAN プログラミング入門,–第 3 回 プログラム作成の基本,標準入出力,変数,演算– 21/24

Page 24: FORTRAN プログラミング入門 第3 回 プログラム作成の基本,標 … · 2014-04-28 · 木村拓馬 fortran プログラミング入門 – 第3 回 プログラム作成の基本,標準入出力,変数,演算–

木村拓馬

Appndix

FORTRAN プログラミング入門,–第 3 回 プログラム作成の基本,標準入出力,変数,演算– 22/24

Page 25: FORTRAN プログラミング入門 第3 回 プログラム作成の基本,標 … · 2014-04-28 · 木村拓馬 fortran プログラミング入門 – 第3 回 プログラム作成の基本,標準入出力,変数,演算–

木村拓馬

書式指定

入出力を見やすくするために,以下の編集記述子を用いて桁数を指定して入出

力を行わせることができる.

I型編集記述子 (In)整数型データの入出力に用いる.全部で n桁で右詰め表示.

F型編集記述子 (Fn.m)実数型データの入出力に用いる.全部で n桁で,小数点以下 m桁で,右詰めで表示.

E型編集記述子 (En.m)実数型データの指数部付き入出力に用いる.全部で n桁で,小数点以下 m桁で,右詰めで表示.

A型編集記述子 (An)文字型データの入出力に用いる.全部で n文字で右詰めで表示.

FORTRAN プログラミング入門,–第 3 回 プログラム作成の基本,標準入出力,変数,演算– 23/24

Page 26: FORTRAN プログラミング入門 第3 回 プログラム作成の基本,標 … · 2014-04-28 · 木村拓馬 fortran プログラミング入門 – 第3 回 プログラム作成の基本,標準入出力,変数,演算–

木村拓馬

書式指定

.例:write 文に書式指定(ex3.5.f90)..

......

PROGRAM EX_SHOSIKIINTEGER :: I, J, KREAL :: A, B, CCHARACTER(5) :: STRING=’CHaRa’I = 1 ; K = 12 ; J = 123 ; A = 1.234 ; B = 12.3456WRITE (*, ’(I3)’) IWRITE (*, ’(I5, I5, I5)’) I, J, KWRITE (*, ’(3I5)’) I, J, KWRITE (*, ’(2F10.3)’) A, BWRITE (*, ’(A5)’) STRINGWRITE (*, ’(A4)’) STRING

END PROGRAM EX_SHOSIKI

.実行すると..

......

11 123 121 123 121.234 12.346CHaRaCHaR

FORTRAN プログラミング入門,–第 3 回 プログラム作成の基本,標準入出力,変数,演算– 24/24