
Yggrius
6 год назад
Нужно очень срочно(PascalABC.NET)
В службе социального обеспечения (СОБЕС) имеется список пенсионеров. О каждом пенсионере содержатся сведения: фамилия, имя, отчество, адрес (район, улица, дом, квартира), место и дата рождения, общий стаж работы и стаж работы на "вредном производстве", пол, зарплата, из которой была начислена пенсия, размер пенсии. Создать массив из записей. Выдать следующие сведения: по данным о пенсионере (фамилии, имени, отчеству) выдать размер его пенсии; по стажу работы на "вредном производстве" -список пенсионеров; список пенсионеров, имеющих пенсию ниже средней.
ОТВЕТЫ

Петроний
Jul 8, 2019
//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].oldMoneyPerMounthlt;sr then
writeln(oldPeople[i].subn, ,oldPeople[i].n, ,oldPeople[i].otn);
end.
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].oldMoneyPerMounthlt;sr then
writeln(oldPeople[i].subn, ,oldPeople[i].n, ,oldPeople[i].otn);
end.
67