第6回目の演習

第6回目の演習で説明すること

演習中に取り組む課題

π=4*ATAN(1.0)で表されるとする.このとき, X = -1.0, -0.8, -0.6, ・・・, 0.8, 1.0のそれぞれについてEXP(X)を, またK = -180, -144, -108, ・・・,144, 180°のそれぞれにについてCOS(K)を計算し,X, EXP(X), K, COS(K)を表示するプログラムを作成せよ.ただし,DO文は一度だけ使うものとする(ヒント:Xの増分とKの増分をそれぞれ考えてみよ)

解答表示例

色々とやり方がありますが,このような値になったらプログラムは正解です.

  I,        X,                  EXP(X),         K,              COS(K)
 -10    -1.00000     0.36788   -180.0    -1.00000
  -8    -0.80000     0.44933   -144.0    -0.80902
  -6    -0.60000     0.54881   -108.0    -0.30902
  -4    -0.40000     0.67032    -72.0     0.30902
  -2    -0.20000     0.81873    -36.0     0.80902
   0     0.00000     1.00000      0.0     1.00000
   2     0.20000     1.22140     36.0     0.80902
   4     0.40000     1.49182     72.0     0.30902
   6     0.60000     1.82212    108.0    -0.30902
   8     0.80000     2.22554    144.0    -0.80902
  10     1.00000     2.71828    180.0    -1.00000


解答例

色々とやり方がありますが,一番考えやすいと思われる(?)例を示しておきます.

	PROGRAM FILE_no6
	IMPLICIT NONE
	INTEGER :: I
	REAL :: X, K, Y, RAD
	
		RAD=4.0*ATAN(1.0)/180.0
		DO I=-10,10,2
			X=REAL(I)/10.0
			K=REAL(I)*18.0
			Y=K*RAD
			WRITE(*,*)I,X,EXP(X),K,COS(Y)
		END DO
		
	STOP
	END PROGRAM FILE_no6


第6回目に課したレポート課題(件名: 学籍番号 report_no6

ある整数Nを読み込み,フィボナッチ数列の第N項を求め,結果を逐次ディスプレイに表示するプログラムを作成し,プログラムと実行結果をTEAMSに 送って下さい.

ヒント

レポートの解答および注意事項

プログラム解答例:

変数の置き方は色々ありますが,一番考えやすいと思われる(?)例を示しておきます.


	PROGRAM report_no6
	IMPLICIT NONE
	INTEGER :: I, N
	REAL :: OLD, LAST, NEW
	
		OLD = 1.0
		LAST = 1.0
		NEW = 0.0
		WRITE(*,*) '求めたい項数を入力してください'
		READ(*,*) N
		WRITE(*,*) '第           O 項目は',OLD
		WRITE(*,*) '第           1 項目は',LAST
		
		DO I = 2,N
			NEW = OLD + LAST   an+1=an+an-1の計算
			WRITE(*,*)'第',I,'項目は',NEW
			OLD = LAST   anの数ををan-1にする
			LAST = NEW   an+1の数ををanにする.an+1は既にディスプレイに表示したのでこの時点で変数NEWの値はいらない
		END DO
		
		STOP
	END PROGRAM report_no6


	DO I = 1,N
		WRITE(*,*) '第', I, '項目は', NEW
		NEW = OLD + LAST
		LAST = OLD
		OLD = NEW
	END DO


前のページへ戻る.
Copyright. 2022, Kazuya Sato

All rights reserved.