Другие языки программирования и технологии

помогите решить задание на pascal ABC

В таблице содержится информация об учениках: фамилия, имя, возраст, рост, вес.
Выполнить следующее задание:
1)Определить средний рост учеников
2)Определить рост самого высокого и самого низкого учеников
3)Вывести на экран фамилии учеников, у которых рост выше среднего
4)Определить количество учеников, у которых рост выше среднего
type info = record
fio: string [12];
name: string [5];
age: integer;
rost: integer;
ves: byte;
end;
var i, n, m, sred, max, min, c : integer;
table: array [1..100] of info;
const fi: array [1..8] of string = ('Иванов','Сидоров','Попов','Петров','Ульянов','Александров','Семенов','Алексеев');
im: array [1..8] of string = ('Иван','Сидор','Михаил','Петр','Илья','Александр','Семен','Алексей');
begin
randomize;
write (' Введите количество учеников [1..100]:');
readln (n);
sred:=0;
max:=0;
min:=200;
c:=0;
for i:=1 to n do
begin
table[i].fio:= fi[1+random(8)]+' ';
table[i].name:= im[1+random(8)];
table[i].age:=10+random(5);
table[i].rost:=150+random(15);
table[i].ves:=table[i].rost-(90+random(16));
if table[i].rost > max then max:=table[i].rost;
if table[i].rost < min then min:=table[i].rost;
sred:=sred+table[i].rost;
end;
sred:=trunc(sred/n);
writeln('___________________________________________________________');
writeln ('Фамилия':12,'Имя':16,'Возраст':13,'Рост':8,'Вес':7);
writeln('¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ');
for i:=1 to n do
begin
write (table[i].fio:15);
write (table[i].name:15);
write (table[i].age:8);
write (table[i].rost:11);
write (table[i].ves:7);
writeln;
end;
writeln;
writeln;
writeln ('Определить рост самого высокого и самого низкого учеников');
writeln('___________________________________________________________');
writeln ('Фамилия':12,'Имя':16,'Возраст':13,'Рост':8,'Вес':7);
writeln('¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ');
for i:=1 to n do
if (table[i].rost = max) or (table[i].rost = min) then
begin
write (table[i].fio:15);
write (table[i].name:15);
write (table[i].age:8);
write (table[i].rost:11);
write (table[i].ves:7);
writeln;
end;
writeln;
writeln;
writeln ('Вывести фамилии учеников, у которых рост выше среднего =', sred);
writeln('___________________________________________________________');
writeln ('Фамилия':12,'Имя':16,'Возраст':13,'Рост':8,'Вес':7);
writeln('¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ');
for i:=1 to n do
if (table[i].rost >= sred) then
begin
write (table[i].fio:15);
write (table[i].name:15);
write (table[i].age:8);
write (table[i].rost:11);
write (table[i].ves:7);
writeln;
c:=c+1;
end;
writeln('___________________________________________________________');
writeln ('количество учеников, у которых рост выше среднего =', c);
end.
@.d.@ (Dimsters)
@.d.@ (Dimsters)
24 309
Лучший ответ
смотри тут Учебник по Паскалю http://pas1.ru/posstring
Ануар Сапенов
Ануар Сапенов
95 951
Какая структура у таблицы?
Я так понял, она берётся из файла
Валерий Ордин
Валерий Ордин
2 717