1. HOME > 計算プログラムから構造力学を学ぶ > FortranでDo文

FortranでDo文

計算機が優れている要因の一つとして計算スピードの速さが挙げられると思います。人間が計算して1日以上かかるものがミスなく1秒で行えるとしたら魅力ですよね。また、同じような計算を何回も行う場合、人間だったら飽きて途中でやめちゃったり、計算ミスがあるかもしれません。 しかし、プログラムでは、ほとんどの場合そんなことがありません。これを如実に表した関数がDo文いわゆる繰り返し文だと思います。 例えば、

1+2+3+4+5+6+…n

といった計算でn=1000000まで加算してくださいという問題がでたとします。我々が計算すると途中で根をあげたくなりますが、プログラムならわずか1秒たらずで計算終了です。


プログラミング言語で書くとどうなるか。

このような繰り返し文を用いる場合、Fortranだけに限らずDo文を用います。VBAを使っていたときはFor文を良く利用していました。

「100000回繰り返す」→「Do i =1,100000」

はい、これだけです。まず、Doと宣言し適宜、変数を書きます(ここではi)。さらに、右辺の「1,100000」で1から100000まで繰り返すという意味です。Do文で 繰り返す変数の宣言と、始めの数字及び繰り返す回数を定義すればOKです。あとは、繰り返したい計算式に定義した変数を組み込みます。


早速、Fortranで書いてみる。

さて、ダウンロードしたエディタ(僕はTerapad)を開いてプログラムを書いてみます。 まだコンパイラしていません。とりあえず、「Terapad」を利用している方は

「名前をつけて保存」→保存形式を「全てのファイル」として→「○○.f90」と保存してください。

そうすると、F90ファイルが生成されます。書いたプログラムはこんな感じ。

do-loop.f90のソースコード

! 1**2+2**2+…10**2を計算するプログラム

program loop

implicit none

integer i,k

k=0

do i =1,5000,2

k=k+i

end do

Write(*,*) ' k =',k,' i =',i

stop

end program loop




do-loop.f90の説明

5行目の「k=0」ということを宣言しています。

6行目の「do i =1,5000,2」でiという変数に対して「1〜5000まで2づつ繰り返えす」ということを表現しています。

7行目の「k=k+i」式内の変数iに対して「1〜5000まで2づつ繰り返えす」ので、「k=k+i」はk=0の状態から2づつ加算されていきますね。

8行目の「end do」Do文の終了を宣言します。


if2.f90をコンパイラしてみる

さて、コンパイラしてみましょう。デスクトップにある「Fortran」フォルダを開いてください。開いたらコマンドプロンプトのショートカットをクリックします。 コマンドプロンプトの画面に「g95.exe ○○○.f90」と入力してEnterキ―を押します。 これまた何のエラーもなくコンパイラできました!すると、フォルダ内に「a.exe」という実行ファイルが生成されます。コマンドプロンプトに「a.exe」と入力すると、

コマンドプロンプトにkとiの値が表示されたのなら成功です。


ここまで学んできたIf文とDo文で建築構造の数値解析は結構できます。最後に重要な項目、「配列」について勉強したら「ニューマークのβ法」をFortranでつくってみましょう。 次は→「配列について」


▼この記事を今すぐSNSでシェアする▼


▼こちらも人気の記事です▼

▼人気の記事ベスト3▼

▼いつでも構造力学の問題が解ける!▼

構造ウェブ問題集

▼同じカテゴリの記事一覧▼

▼カテゴリ一覧▼

▼他の勉強がしたい方はこちら▼

スポンサーリンク

検索

カスタム検索

プロフィール

おすすめ特集

note始めました 構造ウェブ問題集

人気の記事ベスト3

建築の本、紹介します。▼

すぐにわかる構造力学の本

同じカテゴリの記事一覧

  1. HOME > 構造力学を勉強する前に > 構造家の出身大学