program GradeStatistics;

uses Math;

const
  N = 10;

var
  score, sorted: array[1..N] of Real;
  hensachi: array[1..N] of Real;
  i, j, pass: Integer;
  sum, avg, median, maxv, minv, sd, temp: Real;

begin
  sum := 0;
  pass := 0;

  writeln('10人分の点数を入力してください');

  for i := 1 to N do
  begin
    readln(score[i]);
    sorted[i] := score[i];
    sum := sum + score[i];

    if score[i] >= 60 then
      pass := pass + 1;
  end;

  avg := sum / N;

  maxv := score[1];
  minv := score[1];

  for i := 2 to N do
  begin
    if score[i] > maxv then
      maxv := score[i];
    if score[i] < minv then
      minv := score[i];
  end;

  {並べ替え}
  for i := 1 to N - 1 do
    for j := i + 1 to N do
      if sorted[i] > sorted[j] then
      begin
        temp := sorted[i];
        sorted[i] := sorted[j];
        sorted[j] := temp;
      end;

  median := (sorted[5] + sorted[6]) / 2;

  sd := 0;
  for i := 1 to N do
    sd := sd + Sqr(score[i] - avg);

  sd := Sqrt(sd / N);

  writeln;
  writeln('平均点 = ', avg:0:2);
  writeln('中央値 = ', median:0:2);
  writeln('最高点 = ', maxv:0:2);
  writeln('最低点 = ', minv:0:2);
  writeln('標準偏差 = ', sd:0:2);
  writeln('合格者数 = ', pass);

  writeln;
  writeln('偏差値');

  for i := 1 to N do
  begin
    if sd = 0 then
      hensachi[i] := 50
    else
      hensachi[i] := 50 + 10 * (score[i] - avg) / sd;

    writeln(i, '人目 : ', hensachi[i]:0:2);
  end;
end.