変数を宣言する
変数は型 :: 名前の形で宣言します。宣言部を処理部より前に置くのが基本です。
基本の型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で整えられます。
文字列と論理値を扱う
文字列は//で連結できます。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標準入力を受け取る
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.56643.14159265は単精度の実数として扱われるため、丸め方や表示桁を推測せず、明示書式で表示しています。入力が数字でない場合の扱いは、ファイル処理とエラーで扱うiostatへつながります。
練習
整数aとbを読み込み、合計、差、積を表示するプログラムを作ってください。7と3を入力した結果を先に予想してから実行します。