Fortran

Fortranの変数・型・入出力

値を宣言し、計算し、画面から読み取る基本を身につけます。

Fortran入門の講座一覧

01

変数を宣言する

変数は型 :: 名前の形で宣言します。宣言部を処理部より前に置くのが基本です。

基本の型FORTRAN
program types
    implicit none
    integer :: count = 3
    real :: price = 120.5
    logical :: available = .true.
    character(len=20) :: title = 'Fortran'

    print *, count, price, available, title
end program types
実行結果の例OUTPUT
           3   120.500000       T Fortran

論理値は.true.と.false.、文字列はシングルクォートで書きます。実数の表示幅や小数点以下の桁は、後のformatで整えられます。

02

文字列と論理値を扱う

文字列は//で連結できます。trimで末尾の空白を取り除き、len_trimで実際に文字が入っている長さを調べます。

文字列を連結するFORTRAN
program text
    implicit none
    character(len=20) :: first = 'Ada'
    character(len=20) :: last = 'Lovelace'
    print *, trim(first) // ' ' // trim(last)
    print *, '文字数:', len_trim(first)
end program text
実行結果OUTPUT
 Ada Lovelace
 文字数:           3
03

標準入力を受け取る

read *はターミナルから値を読み込みます。整数と実数を混ぜず、入力する順番と型を対応させます。表示桁を安定させるため、ここではformatを指定します。

circle.f90FORTRAN
program circle
    implicit none
    real :: radius, area
    print '(A)', '半径を入力:'
    read *, radius
    area = 3.14159265 * radius * radius
    print '(A,F8.4)', '面積:', area
end program circle
実行例COMMAND / OUTPUT
gfortran -std=f2018 -Wall -Wextra circle.f90 -o circle
./circle
半径を入力:
2
面積: 12.5664

3.14159265は単精度の実数として扱われるため、丸め方や表示桁を推測せず、明示書式で表示しています。入力が数字でない場合の扱いは、ファイル処理とエラーで扱うiostatへつながります。

04

練習

整数aとbを読み込み、合計、差、積を表示するプログラムを作ってください。7と3を入力した結果を先に予想してから実行します。