program GradeStatistics;
uses Math;
const
N = 10;
var
score: array[1..N] of Real;
sorted: array[1..N] of Real;
deviation: array[1..N] of Real;
i, j, pass: Integer;
sum, avg, median, maxv, minv, std, temp: Real;
begin
sum := 0;
pass := 0;
for i := 1 to N do
begin
ReadLn(score[i]);
sorted[i] := score[i];
sum := sum + score[i];
if score[i] >= 60 then
Inc(pass);
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;
std := 0;
for i := 1 to N do
std := std + Sqr(score[i] - avg);
std := Sqrt(std / N);
WriteLn('Average : ', avg:0:2);
WriteLn('Median : ', median:0:2);
WriteLn('Max : ', maxv:0:0);
WriteLn('Min : ', minv:0:0);
WriteLn('Std Dev : ', std:0:2);
WriteLn('Pass : ', pass);
WriteLn;
WriteLn('Deviation Values');
for i := 1 to N do
begin
if std <> 0 then
deviation[i] := 50 + 10 * (score[i] - avg) / std
else
deviation[i] := 50;
WriteLn('Student ', i:2, ' : ', deviation[i]:0:2);
end;
end.program GradeStatistics;
uses Math;
const
N = 10;
var
score: array[1..N] of Real;
sorted: array[1..N] of Real;
deviation: array[1..N] of Real;
i, j, pass: Integer;
sum, avg, median, maxv, minv, std, temp: Real;
begin
sum := 0;
pass := 0;
for i := 1 to N do
begin
ReadLn(score[i]);
sorted[i] := score[i];
sum := sum + score[i];
if score[i] >= 60 then
Inc(pass);
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;
std := 0;
for i := 1 to N do
std := std + Sqr(score[i] - avg);
std := Sqrt(std / N);
WriteLn('Average : ', avg:0:2);
WriteLn('Median : ', median:0:2);
WriteLn('Max : ', maxv:0:0);
WriteLn('Min : ', minv:0:0);
WriteLn('Std Dev : ', std:0:2);
WriteLn('Pass : ', pass);
WriteLn;
WriteLn('Deviation Values');
for i := 1 to N do
begin
if std <> 0 then
deviation[i] := 50 + 10 * (score[i] - avg) / std
else
deviation[i] := 50;
WriteLn('Student ', i:2, ' : ', deviation[i]:0:2);
end;
end.
cHJvZ3JhbSBHcmFkZVN0YXRpc3RpY3M7Cgp1c2VzIE1hdGg7Cgpjb25zdAogIE4gPSAxMDsKCnZhcgogIHNjb3JlOiBhcnJheVsxLi5OXSBvZiBSZWFsOwogIHNvcnRlZDogYXJyYXlbMS4uTl0gb2YgUmVhbDsKICBkZXZpYXRpb246IGFycmF5WzEuLk5dIG9mIFJlYWw7CiAgaSwgaiwgcGFzczogSW50ZWdlcjsKICBzdW0sIGF2ZywgbWVkaWFuLCBtYXh2LCBtaW52LCBzdGQsIHRlbXA6IFJlYWw7CgpiZWdpbgogIHN1bSA6PSAwOwogIHBhc3MgOj0gMDsKCiAgZm9yIGkgOj0gMSB0byBOIGRvCiAgYmVnaW4KICAgIFJlYWRMbihzY29yZVtpXSk7CiAgICBzb3J0ZWRbaV0gOj0gc2NvcmVbaV07CiAgICBzdW0gOj0gc3VtICsgc2NvcmVbaV07CgogICAgaWYgc2NvcmVbaV0gPj0gNjAgdGhlbgogICAgICBJbmMocGFzcyk7CiAgZW5kOwoKICBhdmcgOj0gc3VtIC8gTjsKCiAgbWF4diA6PSBzY29yZVsxXTsKICBtaW52IDo9IHNjb3JlWzFdOwoKICBmb3IgaSA6PSAyIHRvIE4gZG8KICBiZWdpbgogICAgaWYgc2NvcmVbaV0gPiBtYXh2IHRoZW4KICAgICAgbWF4diA6PSBzY29yZVtpXTsKICAgIGlmIHNjb3JlW2ldIDwgbWludiB0aGVuCiAgICAgIG1pbnYgOj0gc2NvcmVbaV07CiAgZW5kOwoKICBmb3IgaSA6PSAxIHRvIE4gLSAxIGRvCiAgICBmb3IgaiA6PSBpICsgMSB0byBOIGRvCiAgICAgIGlmIHNvcnRlZFtpXSA+IHNvcnRlZFtqXSB0aGVuCiAgICAgIGJlZ2luCiAgICAgICAgdGVtcCA6PSBzb3J0ZWRbaV07CiAgICAgICAgc29ydGVkW2ldIDo9IHNvcnRlZFtqXTsKICAgICAgICBzb3J0ZWRbal0gOj0gdGVtcDsKICAgICAgZW5kOwoKICBtZWRpYW4gOj0gKHNvcnRlZFs1XSArIHNvcnRlZFs2XSkgLyAyOwoKICBzdGQgOj0gMDsKICBmb3IgaSA6PSAxIHRvIE4gZG8KICAgIHN0ZCA6PSBzdGQgKyBTcXIoc2NvcmVbaV0gLSBhdmcpOwoKICBzdGQgOj0gU3FydChzdGQgLyBOKTsKCiAgV3JpdGVMbignQXZlcmFnZSA6ICcsIGF2ZzowOjIpOwogIFdyaXRlTG4oJ01lZGlhbiAgOiAnLCBtZWRpYW46MDoyKTsKICBXcml0ZUxuKCdNYXggICAgIDogJywgbWF4djowOjApOwogIFdyaXRlTG4oJ01pbiAgICAgOiAnLCBtaW52OjA6MCk7CiAgV3JpdGVMbignU3RkIERldiA6ICcsIHN0ZDowOjIpOwogIFdyaXRlTG4oJ1Bhc3MgICAgOiAnLCBwYXNzKTsKCiAgV3JpdGVMbjsKICBXcml0ZUxuKCdEZXZpYXRpb24gVmFsdWVzJyk7CgogIGZvciBpIDo9IDEgdG8gTiBkbwogIGJlZ2luCiAgICBpZiBzdGQgPD4gMCB0aGVuCiAgICAgIGRldmlhdGlvbltpXSA6PSA1MCArIDEwICogKHNjb3JlW2ldIC0gYXZnKSAvIHN0ZAogICAgZWxzZQogICAgICBkZXZpYXRpb25baV0gOj0gNTA7CgogICAgV3JpdGVMbignU3R1ZGVudCAnLCBpOjIsICcgOiAnLCBkZXZpYXRpb25baV06MDoyKTsKICBlbmQ7CgplbmQucHJvZ3JhbSBHcmFkZVN0YXRpc3RpY3M7Cgp1c2VzIE1hdGg7Cgpjb25zdAogIE4gPSAxMDsKCnZhcgogIHNjb3JlOiBhcnJheVsxLi5OXSBvZiBSZWFsOwogIHNvcnRlZDogYXJyYXlbMS4uTl0gb2YgUmVhbDsKICBkZXZpYXRpb246IGFycmF5WzEuLk5dIG9mIFJlYWw7CiAgaSwgaiwgcGFzczogSW50ZWdlcjsKICBzdW0sIGF2ZywgbWVkaWFuLCBtYXh2LCBtaW52LCBzdGQsIHRlbXA6IFJlYWw7CgpiZWdpbgogIHN1bSA6PSAwOwogIHBhc3MgOj0gMDsKCiAgZm9yIGkgOj0gMSB0byBOIGRvCiAgYmVnaW4KICAgIFJlYWRMbihzY29yZVtpXSk7CiAgICBzb3J0ZWRbaV0gOj0gc2NvcmVbaV07CiAgICBzdW0gOj0gc3VtICsgc2NvcmVbaV07CgogICAgaWYgc2NvcmVbaV0gPj0gNjAgdGhlbgogICAgICBJbmMocGFzcyk7CiAgZW5kOwoKICBhdmcgOj0gc3VtIC8gTjsKCiAgbWF4diA6PSBzY29yZVsxXTsKICBtaW52IDo9IHNjb3JlWzFdOwoKICBmb3IgaSA6PSAyIHRvIE4gZG8KICBiZWdpbgogICAgaWYgc2NvcmVbaV0gPiBtYXh2IHRoZW4KICAgICAgbWF4diA6PSBzY29yZVtpXTsKICAgIGlmIHNjb3JlW2ldIDwgbWludiB0aGVuCiAgICAgIG1pbnYgOj0gc2NvcmVbaV07CiAgZW5kOwoKICBmb3IgaSA6PSAxIHRvIE4gLSAxIGRvCiAgICBmb3IgaiA6PSBpICsgMSB0byBOIGRvCiAgICAgIGlmIHNvcnRlZFtpXSA+IHNvcnRlZFtqXSB0aGVuCiAgICAgIGJlZ2luCiAgICAgICAgdGVtcCA6PSBzb3J0ZWRbaV07CiAgICAgICAgc29ydGVkW2ldIDo9IHNvcnRlZFtqXTsKICAgICAgICBzb3J0ZWRbal0gOj0gdGVtcDsKICAgICAgZW5kOwoKICBtZWRpYW4gOj0gKHNvcnRlZFs1XSArIHNvcnRlZFs2XSkgLyAyOwoKICBzdGQgOj0gMDsKICBmb3IgaSA6PSAxIHRvIE4gZG8KICAgIHN0ZCA6PSBzdGQgKyBTcXIoc2NvcmVbaV0gLSBhdmcpOwoKICBzdGQgOj0gU3FydChzdGQgLyBOKTsKCiAgV3JpdGVMbignQXZlcmFnZSA6ICcsIGF2ZzowOjIpOwogIFdyaXRlTG4oJ01lZGlhbiAgOiAnLCBtZWRpYW46MDoyKTsKICBXcml0ZUxuKCdNYXggICAgIDogJywgbWF4djowOjApOwogIFdyaXRlTG4oJ01pbiAgICAgOiAnLCBtaW52OjA6MCk7CiAgV3JpdGVMbignU3RkIERldiA6ICcsIHN0ZDowOjIpOwogIFdyaXRlTG4oJ1Bhc3MgICAgOiAnLCBwYXNzKTsKCiAgV3JpdGVMbjsKICBXcml0ZUxuKCdEZXZpYXRpb24gVmFsdWVzJyk7CgogIGZvciBpIDo9IDEgdG8gTiBkbwogIGJlZ2luCiAgICBpZiBzdGQgPD4gMCB0aGVuCiAgICAgIGRldmlhdGlvbltpXSA6PSA1MCArIDEwICogKHNjb3JlW2ldIC0gYXZnKSAvIHN0ZAogICAgZWxzZQogICAgICBkZXZpYXRpb25baV0gOj0gNTA7CgogICAgV3JpdGVMbignU3R1ZGVudCAnLCBpOjIsICcgOiAnLCBkZXZpYXRpb25baV06MDoyKTsKICBlbmQ7CgplbmQu