第5回目の演習

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

report_no4において,小数点以下が不必要に表示されたり,また読みにくい表示にならないようにするために書式を設定した.

様々な設定が考えられるが,たとえば


	WRITE(*,'(1X, I3, 2X, 4F10.5)') I, S, C, T, P

とできる.意味は以下の通りである.


レポート課題(件名: 学籍番号 report_no5)


   READ(*,*) N
   DO I=1,N
      READ(*,*) A
      …
     END DO

とすれば,たとえば生徒数(N)を与えてから各生徒の点数(A)を順次読み込み,平均点と標準偏差を求めるプログラムを作成することが出来る.プログラムを作成し,実行結果と共にTEAMSに送って下さい.生徒の人数と点数はつぎの通り.

生徒1生徒2生徒3生徒4生徒5生徒6生徒7生徒8生徒9生徒10
80 90100706080 100608090

標準偏差の求め方はつぎのとおりです.

「各点の2乗の合計を人数で割ったものから平均点の2乗を引いたものを分散とすると,分散の平方根が標準偏差である」


解答

色文字はプログラムの解説です.実際のプログラムとは無関係ですし,これをプログラム中に書き込んではいけません.


	PROGRAM REPORT_NO5
	IMPLICIT NONE
	INTEGER :: N
	REAL :: X, WX, ZX,AX,SX
	
		N=0			使用する変数の初期化
		X=0.0
		WX=0.0
		ZX=0.0
		AX=0.0
		SX=0.0

		WRITE(*,*) '生徒数を入力して下さい。'
 		READ(*,*) N

		DO I=1,N,1
			WRITE(*,*) ,I, '人目の点数を入力して下さい'
			READ(*,*) X
			WX=WX+X		点数の総計を求める部分
			ZX=ZX+X**2.0	点数の2乗の総計を求める部分
		END DO

		AX=WX/REAL(N)			平均点を求める部分 
		SX=SQRT(ZX/REAL(N)-AX**2.0)	標準偏差を求める部分

		WRITE(*,*) '平均点は'
		WRITE(*,*) AX
		WRITE(*,*) '標準偏差は'
		WRITE(*,*) SX
	STOP

	END PROGRAM REPORT_NO5


注意事項


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

All rights reserved.