基本プログラミングの要約

implicit none宣言と変数の宣言

program プログラム名称
  implicit none               !最初にimplicit none宣言を必ず行う
  integer a1                  !整数型変数の宣言
  real(8) run                 !倍精度実数型変数の宣言
  a1 = 3776                   !整数型変数への数値の代入
  run = 32.19872d0            !倍精度実数型変数に代入する数値には、d0をつける
  ! ... プログラムの実行文が続く
end program プログラム名称

宣言文中で変数の初期値を指定する

宣言文に2連::を入れる。

integer::a1=3.1415
real(8)::run=42.193d0

標準入出力

read文とwrite文による標準入出力は、 * を使用する。

integer i                          !整数型変数iの宣言
readl(8) a                         !
write(*,'(a\)') 'input i,a : '     !入力を促す表示(改行を抑制しておる)
read(*,*) i,a                      !標準入力(キーボードからの入力)からの読み込み
write(*,*) 'i,a = ',i,a            !標準出力(ディスプレイ画面)への表示

書式指定でwrite文標準出力

real(8) x,y,z             !倍精度実数型変数としてx,y,zを宣言
x=10.000d0
y=20.000d0
z=x+y
write(*,'3e12.4)') x,y,z  !小数点以下4桁の指数表示でx,y,zを標準出力

doループによる反復演算

整数のwaの求める例

wa=0                      !waを0クリア
do i=1,10                !iは1から10以下の範囲で、1ずつ増加する
  wa=wa+i                 !総和waを計算
  write(*,*) 'wa = ',wa   !途中経過のwaを出力
end do

if文とstop文

除算を行う場合、0割を防ぐために分母が0であるかのチェックをする。

if (n == 0) then       !n=0ならば、次のstop文が実行される
  stop 'stop : n=0'    !''内の文字を出力して演算を停止する
else                   !n=0ないならば、次の文が実行される
  k=m/n                !m/nの値がkに代入される
endif                  !ブロックif文の終わり

exit文によりdoループから抜ける

waの値が100を超えたら、doループから抜けてwrite文を実行する例

wa=0                    !waを0クリア
do i=1,100,2            !iは1から100以下の範囲で、2ずつ増加する
  wa=wa+i               !waを計算
  if (wa > 100) exit    !waが100より大きければループを抜ける
end do
write(*,*) 'wa = ',wa   !waを出力

cycle文によりdo文へ戻る

do i=1,10
  if ( i<4 .or. i>7) cycle  !i<4 またはi>7の時はdo文に戻る
  write(*,*) i              !iを出力(4,5,6,7と出力される)
end do

goto文により多重ループから抜ける

do i=1,10                    !外側のループ
  do j=1,10                  !内側のループ
    a=s+dx*dy                !aの計算   
    if ( s > 10.0d0) goto 1  !sが10.0を超えたら文番号1の実行文に移動
  end do                     !内側のループ終了
end do                       !外側のループ終了
1 continue                   !文番号1の実行文(continue文は何もしない実行文)

open文による入力ファイルから読み込み

open(10,file='input.dat')   !ファイル番号10番で入力ファイルinput.datを開く
read(10,*) i,a              !i,aの値をinput.datから読み込む(read文に10番を使う)
close(10)                   !ファイルを閉じる

open文による出力ファイルへ書き込み

open(20,file='output.txt')   !ファイル番号20番で出力ファイルoutput.txtを開く
write(20,*) i,a              !i,aの値をoutput.txtに書き出す(write文に20番を使う)
close(20)                    !ファイルを閉じる
 
fortran/1基本/1基本プログラム/5基本プログラムの要約.txt · 最終更新: 2011/10/06 14:38 by tys
 
特に明示されていない限り、本Wikiの内容は次のライセンスに従います: CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki