はじめに
環境は macOS Mojave (10.14.5) で Homebrew の gcc (gfortran)
を使っています。
他のOSでも大きな問題はないはずです。
Fortranが初めての方は、以下の記事が役に立つと思います。
前回の記事(初回):Fortran 90/95 で "Hello, world!"
Fortranにおけるコメントアウト
Fortranでコメントアウトをするには !
を使います。
例えば、前回の "Hello, world!" プログラムにコメントを追加しようと思うと...
program hello_world ! プログラムの名称
write(*,*) 'Hello, world!' ! "Hello, world!"を出力
end program hello_world ! プログラムの終わり
となります。
Fortranでループ処理 : 1から100までの整数の足し算
Fortranでループ処理を行うには do
を使います。
では、例えば1から100まで整数の足し算を行うプログラムを作るとしましょう。
数式では
1+2+3+ \cdots +100 = 5050
ですね。
「loop.f90」というプログラムを作ります。
.f90
は Fortran90/95 の拡張子です。
program loop
implicit none ! おまじない
integer i, sum ! 整数型変数の宣言
sum = 0 ! ゼロを代入
do i = 1, 100 ! do ループを使用
sum = sum + i
end do ! ループの終わり
write(*,*) 'sum = ', sum ! 出力
end program loop
となります。
コンパイルをします。
$ gfortran loop.f90 -o loop.out
-o <file>
オプションをつけることで、「a.out」ではなく、自分の好きな名前の実行ファイルを作成できます。
実行すると
$ ./loop.out
sum = 5050
となるはずです。
おわりに
お疲れ様でした。
次回は、おまじない implicit none
についての解説をしようかなぁと考えています。
間違いなどありましたら、コメントで教えていただけるとありがたいです!
__2019年7月13日(土)追記__→次回はこちら:[Fortran 90/95 のきまりごと【implicit none って何?】][3]
[3]:https://qiita.com/TakuroKoike/items/fe886c14a44d9d4c3bbe
おまけ : 「1から100までの整数の足し算」について
今回は、do
ループを使いたいという教育的な理由から、数字を1個ずつ足しあげるプログラムを作成しました。
しかし、もし数列の和の公式
\sum_{i=1}^{n} k = \frac{1}{ \ 2 \ } \ n \ (n+1)
を知っていれば
\begin{align}
1+2+3+ \cdots +100 &= \sum_{i=1}^{100} k \\
&= \frac{1}{ \ 2 \ } \ 100 \times (100+1) \\
&= 5050
\end{align}
という計算ができます。