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

FortranでIf文

条件文を覚えることで、より一層プログラミング言語利用する意味が深まってきます。というより本格的な数値解析する場合は、条件文の利用は必須でしょう。 例えば、以下のような条件文を考えます。

aが10以上ならb=a*4+a**4

a=10ならb=a*2+a**6

a=10以下ならb=a+a**a


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

このような条件文を用いる場合、Fortranだけに限らずIf文を用います。

「aが10以上ならb=a*4+a**4」→「if(a>10)then b=a*4+a**4」

「a=10ならb=a*2+a**6」→「if(a<10)then b="a*2+a**6」

「a=10以下ならb=a+a**a」→「if(a==10)then b=a+a**a」

Fortranを使い始めたころ勘違いしていたのはif(a=○)thenというように書いていたことです。VBAなら、これでOK何ですが、フォートランだとif(a==○)thenのようにイコールが二つ付くんですね。 注意しましょう。


早速、Fortranで書いてみる。

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

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

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

if.f90のソースコード

!条件分岐のプログラム

program if

implicit none

integer a, b

print *, "二つの数字を入力してください"

read *, a,b

if(a>b)then

print *, "aがbより大きいです"

else if(a==b)then

print *, "aとbは同じ大きさです"

else

print *, "bはaよりも大きいです"

end if

end program if


if2.f90のソースコード

!条件分岐のプログラム

program if

implicit none

integer a, b

print *, "aの数値を入力してください"

read *, a

if(a>10)then

b=a*4+a**4

Write(*,*) ' a =',a,' b =',b

else if(a==10)then

b=a*2+a**6

Write(*,*) ' a =',a,' b =',b

else

b=a+a**a

Write(*,*) ' a =',a,' b =',b

end if

end program if




if2.f90の説明

条件文の使い方はVBAとほとんど同じなので簡単でした。ポイントはif()thenの()の中身を考えて記述することや「else if」と「else」を上手く使い分けることです。

7行目のif(a>10)thenでは「もしaが10より大きいとき」という表現をしています。

8行目のif文に続く「b=a*4+a**4」では「もしaが10より大きいときb=a*4+a**4」をしなさいという意味です。

9行目のelse if文「else if(a==10)then」では7行目の「もしaが10より大きいとき」という条件に当てはまらない数値に関して「もしa=10のとき」という意味です。

10行目のelse if文に続く「b=a*2+a**6」では7行目の「もしaが10より大きいとき」という条件に当てはまらない数値に関して「もしa=10のときb=a*2+a**6」をしないさいという意味です。

11行目のelse文「else」では7行目の「もしaが10より大きいとき」and「もしa=10のとき」という条件に当てはまらない数値のときという意味です。

12行目のelse文に続く「b=a+a**a」では7行目の「もしaが10より大きいとき」and「もしa=10のとき」という条件に当てはまらない数値のときb=a+a**aという計算をします。


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

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

コマンドプロンプトに「aの数値を入力してください」と表示されました。

a=12

と入力してみます。bの値も問題なく表示されましたね。条件文を用いることで、プログラムの幅は一層深まりますし、とても便利です。しっかり理解しておきましょう。 次は→「Do文について」


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


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

▼人気の記事ベスト3▼

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

構造ウェブ問題集

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

▼カテゴリ一覧▼

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

スポンサーリンク

検索

カスタム検索

プロフィール

おすすめ特集

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

人気の記事ベスト3

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

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

同じカテゴリの記事一覧

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