uses crt;
const prd:array[1..5] of string[10]=('скрипка','фортепиано','баян','вокал','гитара');
type uchenik=record
fam:string[10];
ins:string[10];
let:1..8;
kon:string[3];
end;
var u:array[1..50] of uchenik;
n,i,k:byte;
begin
clrscr;
repeat
write('Количество учеников до 50 n=');
readln(n);
until n in [1..50];
writeln('Введите данные об учениках:');
for i:=1 to n do
begin
writeln('Ученик ',i);
with u[i] do
begin
write(' Фамилия: ');readln(fam);
writeln(' Предмет 1-скрипка 2-фортепиано 3-баян 4-вокал 5-гитара');
repeat
readln(k);
until k in [1..5];
ins:=prd[k];
write(' Сколько лет занимается (1-8): ');
repeat
readln(let);
until let in [1..8];
writeln(' Участвовал в конкурсах 1-да 0-нет');
repeat
readln(k);
until k in [0..1];
if k=1 then kon:='да'
else kon:='нет';
end;
end;
clrscr;
writeln('Полный список учеников:');
writeln;
writeln('----------------------------------------------');
writeln('| Фамилия | Предмет | Кол.лет | Конкурсы |');
writeln('----------------------------------------------');
for i:=1 to n do
with u[i] do
begin
gotoXY(1,whereY);write('| ',fam);
gotoXY(13,whereY);write('| ',ins);
gotoXY(25,whereY);write('| ',let:4);
gotoXY(35,whereY);write('| ',kon:5);
gotoXY(46,whereY);writeln('|');
end;
writeln('----------------------------------------------');
write('Press Enter...');
readln;
clrscr;
writeln('Учатся играть на скрипке:');
writeln;
writeln('----------------------------------------------');
writeln('| Фамилия | Предмет | Кол.лет | Конкурсы |');
writeln('----------------------------------------------');
k:=0;
for i:=1 to n do
with u[i] do
if ins='скрипка' then
begin
k:=1;
gotoXY(1,whereY);write('| ',fam);
gotoXY(13,whereY);write('| ',ins);
gotoXY(25,whereY);write('| ',let:4);
gotoXY(35,whereY);write('| ',kon:5);
gotoXY(46,whereY);writeln('|');
end;
writeln('----------------------------------------------');
if k=0 then write('Таких учеников к сожалению Спивакова нет...');
write('Press Enter...');
readln
end.