LoginSignup
0
0

More than 3 years have passed since last update.

Fortran 90/95 で コメントアウトをする & ループ処理で足し算

Last updated at Posted at 2019-07-06

はじめに

環境は macOS Mojave (10.14.5) で Homebrew の gcc (gfortran) を使っています。
他のOSでも大きな問題はないはずです。

Fortranが初めての方は、以下の記事が役に立つと思います。

前回の記事(初回):Fortran 90/95 で "Hello, world!"

Fortranにおけるコメントアウト

Fortranでコメントアウトをするには ! を使います。

例えば、前回の "Hello, world!" プログラムにコメントを追加しようと思うと...

hello_world.f90
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 の拡張子です。

loop.f90
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

となります。

コンパイルをします。

Terminal.app
$ gfortran loop.f90 -o loop.out

-o <file> オプションをつけることで、「a.out」ではなく、自分の好きな名前の実行ファイルを作成できます。

実行すると

Terminal.app
$ ./loop.out
 sum =         5050

となるはずです。

おわりに

お疲れ様でした。
次回は、おまじない implicit none についての解説をしようかなぁと考えています。

間違いなどありましたら、コメントで教えていただけるとありがたいです!

2019年7月13日(土)追記→次回はこちら:Fortran 90/95 のきまりごと【implicit none って何?】

おまけ : 「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}

という計算ができます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0