Умова задачі: Ввести масив записів, кожен з яких містить відомості про прізвище, адресу та номер телефону. Скласти програму, що сортує ці дані за алфавітом прізвищ, знаходить в масиві записів запис, що введений з клавіатури)
uses crt;
type anketa=record
FIO:string;
adress:string;
phone:string;
end;
var
mas:array [1..10] of anketa;
i,j,k:integer;
s:char;
rec:anketa;
procedure vvod;
begin
i:=0;
repeat
i:=i+1;
with mas[i] do
begin
write('FIO ');readln(FIO);
write('adress ');readln(adress);
write('tel ');readln(phone);
end;
writeln('continue? Y/N');
s:=readkey;
until s='N'
end;
procedure vyvod;
begin
writeln('-FlO--adress----telephone--');
for j:=1 to i do
begin
with mas[j] do
begin
write(' ',FIo );
write(' ',adress);
write(' ',phone);
end;
writeln;
end;
end;
procedure sort;
var tmp:anketa;
begin
for j:=1 to i-1 do
for k:=j+1 to i do
begin
if mas[j].fio>mas[k].fio then
begin
tmp:=mas[j];
mas[j]:=mas[k];
mas[k]:=tmp;
end;
end;
end;
procedure search;
var flag:boolean;
begin
writeln('input record for search):fio,adress.tel');
readln(rec.fio);
readln(rec.adress);
readln(rec.phone);
for j:=1 to i do
with mas[j] do begin
If (fio=rec.fio)and(adress=rec.adress)and(phone=rec.phone)
then
begin
flag:=true;
writeln(' record found:',rec.fio,' ',rec.adress,' ',rec.phone);
{break;}
end
else flag:=false;
end;
if flag=false then writeln('record not found');
end;
begin
writeln('results of program var 30');
writeln('auther studentЕ ');
vvod;
writeln('array of inputs records');
vyvod;
sort;
writeln('array of records after sort');
vyvod;
search;
end.