プログラムを使って計算する上での最大のメリット,それが繰り返し計算の利用である.科学技術計算において,繰り返し計算を利用しないことはまず「ない」と言っても過言ではないです.
DO文は繰り返しの命令で,以下のように書きます.
DO 制御変数名=始値,終値,増分
(繰り返し実行すべき部分)
END DO
Xを角度(一般角)として,0度から90度まで10度刻みでSIN(X),COS(X),TAN(X),SIN2(X)+ COS2(X)を計算し,結果をディスプレイに表示するプログラムを作成し,プログラムと実行結果をTEAMSに送って下さい.
今回の課題のプログラムにおいて,結果を表示するWRITE
文はつぎを使ってください.
WRITE(*,'(1X, I3, 2X, 4F10.5)')
色文字はプログラムの解説です.実際のプログラムとは無関係ですし,これをプログラム中に書き込んではいけません.
PROGRAM report_no4
IMPLICIT NONE
REAL :: PI, R, S, C, T, P 数値計算に使う変数を実数とする
INTEGER :: DEG 繰り返しの制御変数は整数型とする
WRITE(*,*) 'DEGREE SIN(X) COS(X) TAN(X) SIN^2(X)+COS^2(X)'
PI=3.141593/180.0 ラジアンに変換するための準備
DO DEG=0,90,10 制御変数=I,始値=0,終値=90,増分=10
R=PI*REAL(DEG)
S=SIN(R)
C=COS(R)
T=TAN(R)
P=S**2.0+C**2.0
WRITE(*,'(1X, I3, 2X, 4F10.5)') DEG, S, C, T, P
END DO
STOP
END PROGRAM report_no4
S=SIN(DEG*3.141593/180.0)
としている人がいましたが,上記のようにプログラムするとタイプミスなどが減り,また計算の効率も上がります.
All rights reserved.