建築学生が学ぶ構造力学

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

FortranでIf文

【管理人おすすめ!】セットで3割もお得!大好評の用語集と図解集のセット⇒ 建築構造がわかる基礎用語集&図解集セット(※既に26人にお申込みいただきました!)


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

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文について」


建築構造がわかる基礎図解集

【読まれています】管理人による建築業界の分析!

1日13円で建築業界がわかるLINE配信!

友だち追加

わかる1級建築士の計算問題解説書

計算の流れ、解き方がわかる!1級建築士【構造】計算問題解説集

あなたは数学が苦手ですか?

わかる!実務で使う数学知識の基礎講座

【有料メルマガの初回資料が今だけ無料!】1日約13円で情報をアップデート!

有料メルマガを無料で見てみませんか?⇒ 忙しい社会人、学生のためのビルディング・アップデート

限定メールマガジン

わかる2級建築士の計算問題解説書!

【30%OFF】一級建築士対策も◎!構造がわかるお得な用語集

建築学生が学ぶ「構造力学」の用語集
pdf版の学習記事

更新情報

プロフィール

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

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

人気の記事ベスト3

同じカテゴリの記事一覧

Topへ >>

  1. HOME > 計算プログラムから構造力学を学ぶ > FortranでIf文
  2. 1級の過去問(計算)解説
  3. 限定メルマガ
  4. わかる建築構造の用語集・図解集
  5. 1頁10円!PDF版の学習記事