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.
cHJvZ3JhbSBHcmFkZVN0YXRpc3RpY3M7Cgp1c2VzIE1hdGg7Cgpjb25zdAogIE4gPSAxMDsKCnZhcgogIHNjb3JlLCBzb3J0ZWQ6IGFycmF5WzEuLk5dIG9mIFJlYWw7CiAgaGVuc2FjaGk6IGFycmF5WzEuLk5dIG9mIFJlYWw7CiAgaSwgaiwgcGFzczogSW50ZWdlcjsKICBzdW0sIGF2ZywgbWVkaWFuLCBtYXh2LCBtaW52LCBzZCwgdGVtcDogUmVhbDsKCmJlZ2luCiAgc3VtIDo9IDA7CiAgcGFzcyA6PSAwOwoKICB3cml0ZWxuKCcxMOS6uuWIhuOBrueCueaVsOOCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhCcpOwoKICBmb3IgaSA6PSAxIHRvIE4gZG8KICBiZWdpbgogICAgcmVhZGxuKHNjb3JlW2ldKTsKICAgIHNvcnRlZFtpXSA6PSBzY29yZVtpXTsKICAgIHN1bSA6PSBzdW0gKyBzY29yZVtpXTsKCiAgICBpZiBzY29yZVtpXSA+PSA2MCB0aGVuCiAgICAgIHBhc3MgOj0gcGFzcyArIDE7CiAgZW5kOwoKICBhdmcgOj0gc3VtIC8gTjsKCiAgbWF4diA6PSBzY29yZVsxXTsKICBtaW52IDo9IHNjb3JlWzFdOwoKICBmb3IgaSA6PSAyIHRvIE4gZG8KICBiZWdpbgogICAgaWYgc2NvcmVbaV0gPiBtYXh2IHRoZW4KICAgICAgbWF4diA6PSBzY29yZVtpXTsKICAgIGlmIHNjb3JlW2ldIDwgbWludiB0aGVuCiAgICAgIG1pbnYgOj0gc2NvcmVbaV07CiAgZW5kOwoKICB75Lim44G55pu/44GIfQogIGZvciBpIDo9IDEgdG8gTiAtIDEgZG8KICAgIGZvciBqIDo9IGkgKyAxIHRvIE4gZG8KICAgICAgaWYgc29ydGVkW2ldID4gc29ydGVkW2pdIHRoZW4KICAgICAgYmVnaW4KICAgICAgICB0ZW1wIDo9IHNvcnRlZFtpXTsKICAgICAgICBzb3J0ZWRbaV0gOj0gc29ydGVkW2pdOwogICAgICAgIHNvcnRlZFtqXSA6PSB0ZW1wOwogICAgICBlbmQ7CgogIG1lZGlhbiA6PSAoc29ydGVkWzVdICsgc29ydGVkWzZdKSAvIDI7CgogIHNkIDo9IDA7CiAgZm9yIGkgOj0gMSB0byBOIGRvCiAgICBzZCA6PSBzZCArIFNxcihzY29yZVtpXSAtIGF2Zyk7CgogIHNkIDo9IFNxcnQoc2QgLyBOKTsKCiAgd3JpdGVsbjsKICB3cml0ZWxuKCflubPlnYfngrkgPSAnLCBhdmc6MDoyKTsKICB3cml0ZWxuKCfkuK3lpK7lgKQgPSAnLCBtZWRpYW46MDoyKTsKICB3cml0ZWxuKCfmnIDpq5jngrkgPSAnLCBtYXh2OjA6Mik7CiAgd3JpdGVsbign5pyA5L2O54K5ID0gJywgbWludjowOjIpOwogIHdyaXRlbG4oJ+aomea6luWBj+W3riA9ICcsIHNkOjA6Mik7CiAgd3JpdGVsbign5ZCI5qC86ICF5pWwID0gJywgcGFzcyk7CgogIHdyaXRlbG47CiAgd3JpdGVsbign5YGP5beu5YCkJyk7CgogIGZvciBpIDo9IDEgdG8gTiBkbwogIGJlZ2luCiAgICBpZiBzZCA9IDAgdGhlbgogICAgICBoZW5zYWNoaVtpXSA6PSA1MAogICAgZWxzZQogICAgICBoZW5zYWNoaVtpXSA6PSA1MCArIDEwICogKHNjb3JlW2ldIC0gYXZnKSAvIHNkOwoKICAgIHdyaXRlbG4oaSwgJ+S6uuebriA6ICcsIGhlbnNhY2hpW2ldOjA6Mik7CiAgZW5kOwplbmQu