建築学生が学ぶ構造力学

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

Fortranで四則演算

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


さて、手始めにフォートランで簡単な四則演算をやってみましょう。フォートランのルールや関数は知らなくても、できるかな。 やりたい計算はこんな感じです。

a+b÷a-c

a-b×a

a×b÷c

a÷b÷b÷b

数値解析では√の計算も良く用います。

√a

√a×√a


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

フォートランを始めとするプログラミング言語では「÷」や「×」という記号は使いません。「÷」→「/」や「×」→「*」よって、以上の数式をプログラミング言語に落とし込むと以下のようになるのでしょうか。

「a+b÷a-c」→「a+b/a-c」

「a-b×a」→「a-b*a」

「a×b÷c」→「a*b/c」

「a÷b÷b÷b」→「a/b/b/b」

√の計算はFortranではどのように計算するのでしょうか?例えばVBAの場合では「sqrt」という関数があります。フォートランでは、そんな便利な関数は用意されていないと思います(※訂正!数学関数が用意されていました;後のページでは普通に使用しています)。 しかし、初歩的な数学を考えれば√aとはa^0.5であることを思い出しますね。ということは、「べき乗」の表現が上手くできれば大丈夫ですね。VBAでは、べき乗の表現は「a^0.5」と書くことができます。 フォートランで試してみるとダメでした…。ネットで少し調べてみると、どうやらべき乗は「**」とするみたいですね。よって、

「√a」→「a**0.5」

「a^4」→「a**4」



早速、Fortranで書いてみる。

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

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

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

sisokuenzan.f90のソースコード

!四則演算()

program sisoku

implicit none

!データ型の宣言

real a,b,c,d,e,f,g,h

integer i

!キーボードから入力する関数

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

read *, a

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

read *, b

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

read *, c

!変数の設定

d=a*b/c

e=a-b*a

f=a+b/a-c

g=a/b/b/b

h=a**0.5

i=a**0.5

!計算結果の書き出し

Write(*,*) ' d =',d,' e =',e

Write(*,*) ' f =',f,' g =',g

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

stop

end program sisoku


sisokuenzan.f90の説明

1行目フォートランで「!」はコメントを書くときに利用できます。「c」でも出来るみたいですが、こちらを多用しています。コメントアウトしたいときに便利。

2行目「program sisoku」ではプログラムの名前を書いています。ファイル名と混同しないように気をつけて下さい。

3行目の「implicit none」は、いわゆるおまじないです。この宣言が無くても計算は出来ますが、あった方がいいようです。

5行目の「real a,b,c,d,e,f,g,h」では、データ型の宣言をしています。この宣言が無くても自動で型は決められ計算は出来ますが、数値解析などのように数値の桁数にこだわる場合は必須です。 「real」は単精度実数と呼ばれているデータ型です。

6行目の「integer i」も同様にデータ型の宣言をしています。「integer」は整数の宣言です。

8行目の「print *, "数値を入力してください"」で、日本語を表示させています。print *,でコメントをプログラムの結果に書き込みが表示できるようです。

9行目の「read *, a」で、変数「a」に対して、キーボードから数値を入力することができます。

15~20行目の「d=a*b/c」等では、変数を用いた計算を行っています。9行目などで、書いたread文から数値が入力されこの変数に入るわけですね。

22行目の「Write(*,*) ' d =',d,' e =',e」等では、結果の表示を行っています。「' d =',d」の「' d ='」は文字列なので、そのまま表示され、「,d」の部分の変数が結果として表示されます。

25行目の「stop」で計算を止めます。

25行目の「end program sisoku」で、プログラムの終了を宣言します。

Fortranプログラムの一通りの流れを説明しました。これは、本当に簡単な計算の流れですが慣れるまで理解しましょう。


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

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

コマンドプロンプトに「数値を入力してください」と表示されました。それぞれが、a,b,cの値になるわけですが、試しに

a=12

b=0.5487

c=1.454

と入力してみます。どうやら、上手く結果が表示されたようです。ところで、変数hとiの式はプログラム上では、式が全く一緒なのに結果が違うことに気が付きましたか? これが、データ型の影響です。変数hは「real」で宣言したので小数点の7ケタまで表示されています。あとは誤差として丸められてしまうんですね。一方、変数iは 「integer」で宣言したので整数で表示されています。工学では小数点3ケタ以上まで考えることが多いので精密に計算したい場合は特に注意しましょう。次は→「If文について」


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

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

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

友だち追加

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

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

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

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

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

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

限定メールマガジン

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

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

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

更新情報

プロフィール

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

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

人気の記事ベスト3

同じカテゴリの記事一覧

Topへ >>

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