while True:

問題16

実数を読み込み,データの平均,分散,標準偏差を計算するプログラムを作れ.ただし,実数の数は 100 以下としてよい.

難易度 ★★☆☆☆

簡単な問題です。プログラミングが苦手で大変という人のための救済問題だと捉えています。数字を読み込み、計算した後に出力する問題です。 平均値を出す際、全体の和を個数で割りますが、整数同士の割り算にすると整数の値に切り捨てられてしまうので注意が必要です。
program question16
	implicit none
	integer :: n, i
	real, allocatable :: num(:)
	real :: total, average, variance, std

	print *, "input n:"
	read *, n

	allocate(num(n))

	print *, "input values:"
	read *, num

	total = 0.0
	do i = 1, n
		total = total + num(i)
	end do

	average = total / n
	print *, "average :", average

	variance = 0
	do i = 1, n
		variance = variance + (num(i) - average) ** 2
	end do

	variance = variance / 2
	std = variance ** 0.5
	print *, "variance :", variance
	print *, "standard deviation :", std

end program question16
ページのトップへ戻る