Pascal ABC, запуталась, помогите пожалуйста
Здравствуйте!
мне необходимо решить такую задачу:известна следующая информация о студентах группы( фамилия имя , дата рождения( число , месяц, год) и 4 оценки ), нужно вычислить средний балл группы и вывести на экран список тех студентов, у кого средний балл выше среднего балла группы.
я написала программу которая определяет лишь средний балл каждого студента и находит наивысший среди них. как можно оформить вычисление среднего балла всей группы???
и в моей программе как то не так выводится таблица с информацией .
program upr1;
const n=2;
type date=record
day:1..31;
month:1..12;
year:integer;
end;
pupil=record
fam,name:string[15];
p:char;
bd:date;
b1,b2,b3,b4,b5:2..5;
sb:real;
end;
procedure p1( var a
upil);
begin
with a do
begin
write('фамилия:');
readln(fam);
write('имя:');
readln(name);
write('пол:');
readln(p);
write('дата рождения:');
readln(bd.day,bd.month,bd.year);
write('оценки:');
readln(b1,b2,b3,b4,b5);
end;
end;
procedure p2( a
upil);
begin
with a do begin
write(fam,'':15-length(fam));
write(name,'':10-length(name));
with bd do begin
if day<10 then write ('0');
write(day,'.');
if month<10 then write ('0');
write(month,'.');
write(year);
end;
end;
end;
var mas:array[1..n] of pupil;
i:integer; sbmax:real; sb1
upil;
begin
writeln('введите информацию об ',n,' учениках');
for i:=1 to n do p1(mas);
writeln('список учеников: ');
writeln('n фи пол дата рождения ');
for i:=1 to n do begin write (i:2,'.');
p2(mas);
writeln;
for i:=1 to n do
with mas do
sb:=(b1+b2+b3+b4+b5)/5;
sbmax:=mas[1].sb;
for i:=1 to n do
if mas.sb >= sbmax then sbmax:=mas.sb;
writeln('самый высокий средний балл');
for i:=1 to n do
if mas.sb=sbmax then p2(mas);
readln;
end;
end.
Здравствуйте!
мне необходимо решить такую задачу:известна следующая информация о студентах группы( фамилия имя , дата рождения( число , месяц, год) и 4 оценки ), нужно вычислить средний балл группы и вывести на экран список тех студентов, у кого средний балл выше среднего балла группы.
я написала программу которая определяет лишь средний балл каждого студента и находит наивысший среди них. как можно оформить вычисление среднего балла всей группы???
и в моей программе как то не так выводится таблица с информацией .
program upr1;
const n=2;
type date=record
day:1..31;
month:1..12;
year:integer;
end;
pupil=record
fam,name:string[15];
p:char;
bd:date;
b1,b2,b3,b4,b5:2..5;
sb:real;
end;
procedure p1( var a
begin
with a do
begin
write('фамилия:');
readln(fam);
write('имя:');
readln(name);
write('пол:');
readln(p);
write('дата рождения:');
readln(bd.day,bd.month,bd.year);
write('оценки:');
readln(b1,b2,b3,b4,b5);
end;
end;
procedure p2( a
begin
with a do begin
write(fam,'':15-length(fam));
write(name,'':10-length(name));
with bd do begin
if day<10 then write ('0');
write(day,'.');
if month<10 then write ('0');
write(month,'.');
write(year);
end;
end;
end;
var mas:array[1..n] of pupil;
i:integer; sbmax:real; sb1
begin
writeln('введите информацию об ',n,' учениках');
for i:=1 to n do p1(mas);
writeln('список учеников: ');
writeln('n фи пол дата рождения ');
for i:=1 to n do begin write (i:2,'.');
p2(mas);
writeln;
for i:=1 to n do
with mas do
sb:=(b1+b2+b3+b4+b5)/5;
sbmax:=mas[1].sb;
for i:=1 to n do
if mas.sb >= sbmax then sbmax:=mas.sb;
writeln('самый высокий средний балл');
for i:=1 to n do
if mas.sb=sbmax then p2(mas);
readln;
end;
end.