fork download
  1. program seiseki;
  2. var
  3. n, i, j: integer;
  4. score: array[1..100] of integer;
  5. sum: integer;
  6. max, min: integer;
  7. pass: integer;
  8. temp: integer;
  9. median: real;
  10. sum2, sd, hensachi: real;
  11. begin
  12. readln(n);
  13.  
  14. sum := 0;
  15. pass := 0;
  16.  
  17. for i := 1 to n do
  18. begin
  19. readln(score[i]);
  20.  
  21. sum := sum + score[i];
  22.  
  23. if i = 1 then
  24. begin
  25. max := score[i];
  26. min := score[i];
  27. end;
  28.  
  29. if score[i] > max then
  30. max := score[i];
  31.  
  32. if score[i] < min then
  33. min := score[i];
  34.  
  35. if score[i] >= 60 then
  36. pass := pass + 1;
  37. end;
  38. writeln('合計=', sum);
  39. writeln('平均=', sum / n:0:2);
  40. writeln('最高点=', max);
  41. writeln('最低点=', min);
  42. for i := 1 to n - 1 do
  43. begin
  44. for j := i + 1 to n do
  45. begin
  46. if score[i] > score[j] then
  47. begin
  48. temp := score[i];
  49. score[i] := score[j];
  50. score[j] := temp;
  51. end;
  52. end;
  53. end;
  54. if n mod 2 = 1 then
  55. median := score[(n + 1) div 2]
  56. else
  57. median := (score[n div 2] + score[n div 2 + 1]) / 2;
  58. sum2 := 0;
  59. for i := 1 to n do
  60. begin
  61. sum2 := sum2 + sqr(score[i] - (sum / n));
  62. end;
  63.  
  64. sd := sqrt(sum2 / n);
  65. writeln('中央値=', median:0:2);
  66. writeln('標準偏差=', sd:0:2);
  67. writeln('偏差値');
  68.  
  69. for i := 1 to n do
  70. begin
  71. hensachi := 50 + 10 * (score[i] - (sum / n)) / sd;
  72. writeln(score[i], '点 -> ', hensachi:0:2);
  73. end;
  74. writeln('合格者数=', pass);
  75. end.
  76. {
  77. 入力例
  78. 10
  79. 80
  80. 75
  81. 60
  82. 90
  83. 55
  84. 70
  85. 85
  86. 40
  87. 95
  88. 65
  89.  
  90. 出力例
  91. 合計=715
  92. 平均=71.50
  93. 最高点=95
  94. 最低点=40
  95. 中央値=72.50
  96. 標準偏差=16.13
  97. 偏差値
  98. 40点 -> 30.47
  99. 55点 -> 39.77
  100. 60点 -> 42.87
  101. 65点 -> 45.97
  102. 70点 -> 49.07
  103. 75点 -> 52.17
  104. 80点 -> 55.27
  105. 85点 -> 58.37
  106. 90点 -> 61.47
  107. 95点 -> 64.57
  108. 合格者数=8
  109.  
  110. AI利用について
  111. ChatGPTを利用してプログラム作成を補助した。
  112. ・中央値を求めるための並べ替え処理を追加し、表示位置を修正した。
  113. ・標準偏差と偏差値の計算・表示を追加した。
  114. }
Success #stdin #stdout 0s 5320KB
stdin
10
80
75
60
90
55
70
85
40
95
65
stdout
合計=715
平均=71.50
最高点=95
最低点=40
中央値=72.50
標準偏差=16.13
偏差値
40点 -> 30.47
55点 -> 39.77
60点 -> 42.87
65点 -> 45.97
70点 -> 49.07
75点 -> 52.17
80点 -> 55.27
85点 -> 58.37
90点 -> 61.47
95点 -> 64.57
合格者数=8