Fortran 反復演算と基本プログラミング(2)

Table of Contents

実数型

実数には単精度と倍精度がある.単精度は約7桁,倍精度は約15桁である.普通は倍精度でプログラムを組んでおくとトラブルが少ない.

  • real(8) :: x, y  ! 倍精度型実数変数 x および y を宣言 real(8) x, y でもよいが,:: を使う習慣を付けるのがよい
  • real(4) :: s  ! 単精度型実数変数 s を宣言 (4)は省略できる

倍精度型実数の数値にはd0を付けておく.たとえば,2.0 ではなく,2.0d0 のようにする.ここでd0は 1.0×100を意味する.2.0d2は2.0×102である.

今は気にしなくてよいが,実数型の厳密な宣言方法は教科書付録1.1に書かれている.

i が整数変数のとき,これを倍精度型実数に変換するには,組み込み関数dbleを用い,

  • dble(i)  ! doubleの略

とする.

リスト1.7

台形公式による数値積分の原理を理解せよ(とても簡単である).

演算式

演算式には+,-,* (かけ算),/ (割り算),a**b (aのb乗)がある.

1/3 は0であることに注意せよ!

2**2**3は2**(2**3)のことであるが,過ちを避けるため,括弧を用いて明確にせよ.

リスト1.8

ニュートン法の原理を理解せよ.

  • real(8) :: er0 = 1.0d-6   ! 初期値の設定方法.初期値はプログラム中で書き換えることができる.:: が必要.

演習1.16

分散関係式は水の波の水深(静水時の水深)h,周期T,波長Lを関係づける式である.すなわち,たとえば,水深hが与えられ,周期Tが与えられると,波長Lは分散関係式を満たすように自動的に決まる.水深hと周期Tが与えられた時,波長Lを逐次反復法によって求めるプログラムを作成せよ.このプログラムを用い,h=2.5 (m),T=5 (s)のとき波長Lは何メートルとなるか求めよ.

Lの初期値はhとすればよい.tanhはハイパボリックタンジェントで,組み込み関数tanh(x)を用いる.

円周率は次の様にparameterを用いて定数として宣言する.定数はプログラム中で書き換えることはできない.

  • real(8), parameter :: pi = 3.14159265358979d0   ! 倍精度型実数定数の宣言

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください