! mean and standard deviation PROGRAM ex5_4 IMPLICIT NONE INTEGER :: n = 0, mark REAL :: w = 0.0E0, v = 0.0E0, mean, sd DO PRINT '(1X, A)', '点数(整数:終了は負の数)は?' READ *, mark IF ( mark < 0 ) EXIT ! これでループを抜ける。 n = n + 1 w = w + mark v = v + mark ** 2 END DO IF ( n > 0 ) THEN mean = w / n sd = SQRT( v / n - mean ** 2 ) PRINT '(1X, "平均点 = ", F5.1)', mean PRINT '(1X, "標準偏差 = ", F5.1)', sd END IF PRINT '(1X, "生徒総数 = ", I5)', n END PROGRAM ex5_4