fork download
  1. program FileAndArrayWithStdDev;
  2. uses Math; // sqrt を使うため
  3.  
  4. const
  5. MaxData = 100;
  6.  
  7. var
  8. Data: array[1..MaxData] of Real;
  9. i, n: Integer;
  10. Sum, Mean, Variance, StdDev: Real;
  11.  
  12. begin
  13. Readln(n); // データの個数
  14. if (n < 1) or (n > MaxData) then
  15. begin
  16. Writeln('データ数が不正です(1~', MaxData, ')');
  17. Halt;
  18. end;
  19.  
  20. // データの読み込みと合計の計算
  21. Sum := 0;
  22. for i := 1 to n do
  23. begin
  24. Read(Data[i]);
  25. Sum := Sum + Data[i];
  26. end;
  27.  
  28. // 平均値の計算
  29. Mean := Sum / n;
  30.  
  31. // 分散の計算
  32. Variance := 0;
  33. for i := 1 to n do
  34. Variance := Variance + Sqr(Data[i] - Mean);
  35.  
  36. Variance := Variance / n;
  37.  
  38. // 標準偏差の計算
  39. StdDev := Sqrt(Variance);
  40.  
  41. // 結果の表示
  42. Writeln('データの個数: ', n);
  43. Writeln('平均値: ', Mean:0:2);
  44. Writeln('標準偏差: ', StdDev:0:2);
  45. end.
  46.  
Success #stdin #stdout 0s 5320KB
stdin
Standard input is empty
stdout
データ数が不正です(1~100)