Ошибка есть и она не одна.
1. Код приведен не полностью - после else должно быть что-то еще и обязательно замыкаться end.
2. abc - не такой функции в Паскале, возможно Вы имели в виду abs - абсолютная величина, т.е. модуль.
3. if ab then ... это тоже не верно, т.к. ab - не является логическим выражением или булевой пременной - видимо не дописал: if ab>ac then...
//PascalABC.NET 3.2 сборка 1318
Type
people=record
subn:string; //фамилия
n:string; //имя
otn:string; //отчество
rai:string; //район
street:string; //улица
hou:integer; //дом
ap:integer; //квартира
plBor:string; //место рождения
dayBor:integer; //день рождения
mounthBor:integer; //месяц рождения
yearBor:integer; //год рождения
mainWorkTime:integer; //общий стаж работы
dangWorkTime:integer; //стаж работы на "вредном производстве"
gender:string; //пол
moneyPerMounth:integer; //з/п, из которой была начислена пенсия
oldMoneyPerMounth:integer; //пенсия
end;
Var
oldPeople:array of people;
i,n,st:integer;
sFIO:string;
sr:real;
begin
sr:=0;
write('Введите количество пенсионеров:');
readln(n);
setlength(oldPeople,n);
for i:=0 to n-1 do
begin
write('Фамилия пенсионера #',i,':');
readln(oldPeople[i].subn);
write('Имя пенсионера #',i,':');
readln(oldPeople[i].n);
write('Отчество пенсионера #',i,':');
readln(oldPeople[i].otn);
write('Район пенсионера #',i,':');
readln(oldPeople[i].rai);
write('Улица пенсионера #',i,':');
readln(oldPeople[i].street);
writeln('Дом пенсионера #',i,':');
readln(oldPeople[i].hou);
writeln('Квартира пенсионера #',i,':');
readln(oldPeople[i].ap);
writeln('Место рождения пенсионера #',i,':');
readln(oldPeople[i].plBor);
writeln('День рождения пенсионера #',i,':');
readln(oldPeople[i].dayBor);
writeln('Месяц рождения пенсионера #',i,':');
readln(oldPeople[i].mounthBor);
writeln('Год рождения пенсионера #',i,':');
readln(oldPeople[i].yearBor);
writeln('Общий стаж работы пенсионера #',i,':');
readln(oldPeople[i].mainWorkTime);
writeln('Cтаж работы на "вредном производстве" пенсионера #',i,':');
readln(oldPeople[i].dangWorkTime);
writeln('Пол пенсионера #',i,':');
readln(oldPeople[i].gender);
writeln('з/п, из которой была начислена пенсия пенсионера #',i,':');
readln(oldPeople[i].moneyPerMounth);
writeln('Пенсия пенсионера #',i,':');
readln(oldPeople[i].oldMoneyPerMounth);
sr+=oldPeople[i].oldMoneyPerMounth;
end;
write('Введите ФИО пенсионера');
readln(sFIO);
var FIO:=sFIO.Split;
for i:=0 to n do
if (oldPeople[i].subn=FIO[0]) and (oldPeople[i].n=FIO[1]) and (oldPeople[i].otn=FIO[2]) then
begin
writeln(oldPeople[i].oldMoneyPerMounth);
break;
end;
write('Введите стаж работы на "вредном производстве":');
readln(st);
for i:=0 to n do
if oldPeople[i].dangWorkTime=st then
writeln(oldPeople[i].subn,' ',oldPeople[i].n,' ',oldPeople[i].otn);
sr/=n;
writeln('Список пенсионеров с зарплатой ниже среднего');
for i:=0 to n do
if oldPeople[i].oldMoneyPerMounth<sr then
writeln(oldPeople[i].subn,' ',oldPeople[i].n,' ',oldPeople[i].otn);
end.
20 звезд.Можно легко проверить,переделав алгоритм.
var s:integer;
procedure F(n: integer);
begin
writeln('*');
if n>0 then begin
writeln('*');
s:=s+1;
F(n-2);
F(n div 2);
F(n div 2);
end;
end;
begin
f(7);
writeln(s);
end.