uses crt;
type rabot=record //объявляем тип-запись с полями по условию
fam:string[20]; //фамилия-строка до 20 символов
dlz:string[20]; //должность, тот же тип
zpl:longint;//зарплата - длинное целое
stz:byte; //стаж - числа от 0 до 255
end;
var sp:array[1..50] of rabot; //массив записей
n,i,k:integer;
sr:real;
begin
clrscr;
write('Введите количество работников:');
readln(n);
writeln('Введите данные о работниках:');
sr:=0;
for i:=1 to n do
begin
writeln('Работник ',i);
with sp[i] do
begin
write('Фамилия: ');readln(fam);
write('Должность: ');readln(dlz);
write('Зарплата: ');readln(zpl);
sr:=sr+zpl;
write('Стаж: ');readln(stz)
end;
end;
sr:=sr/n; //средняя зарплата
clrscr; //очистим экран от ввода
writeln('Данные о работниках:');//выведем список в виде таблицы
writeln('');
writeln('| Фамилия | Должность | Зарплата | Стаж |');
writeln('');
for i:=1 to n do
with sp[i] do
begin
gotoXY(1,whereY);write('| ',fam);//установим курсор в нужную позицию и выведем
gotoXY(17,whereY);write('| ',dlz);
gotoXY(36,whereY);write('|',zpl:8);
gotoXY(47,whereY);write('|',stz:4);
gotoXY(54,whereY);writeln('|');//конец строки, переход на новую
end;
writeln('');
writeln('Press Enter');
readln;
clrscr;//очистим экран
writeln('Средняя зарплата по предприятию=',sr:0:1);//новая таблица
writeln('Данные о работниках, чья зарплата ниже средней:');
writeln('');
writeln('| Фамилия | Должность | Зарплата | Стаж |');
writeln('');
for i:=1 to n do
if sp[i].zpl<sr then //если зарплата меньше средней, выводим
with sp[i] do
begin
gotoXY(1,whereY);write('| ',fam);
gotoXY(17,whereY);write('| ',dlz);
gotoXY(36,whereY);write('|',zpl:8);
gotoXY(47,whereY);write('|',stz:4);
gotoXY(54,whereY);writeln('|');
end;
writeln('');
writeln('Press Enter');
readln;
clrscr; //очистим
writeln('Данные о работниках, чей стаж ,более 10 лет:');//новая таблица
k:=0;
writeln('');
writeln('| Фамилия | Должность | Зарплата | Стаж |');
writeln('');
for i:=1 to n do
if sp[i].stz>10 then //если стаж бодьше 10 лет
begin
k:=1; //фиксируем что есть
with sp[i] do //выводим
begin
gotoXY(1,whereY);write('| ',fam);
gotoXY(17,whereY);write('| ',dlz);
gotoXY(36,whereY);write('|',zpl:8);
gotoXY(47,whereY);write('|',stz:4);
gotoXY(54,whereY);writeln('|');
end;
end;
writeln('');
if k=0 then write('Таких работников нет');
writeln('Press Enter');
readln
end.
type rabot=record //объявляем тип-запись с полями по условию
fam:string[20]; //фамилия-строка до 20 символов
dlz:string[20]; //должность, тот же тип
zpl:longint;//зарплата - длинное целое
stz:byte; //стаж - числа от 0 до 255
end;
var sp:array[1..50] of rabot; //массив записей
n,i,k:integer;
sr:real;
begin
clrscr;
write('Введите количество работников:');
readln(n);
writeln('Введите данные о работниках:');
sr:=0;
for i:=1 to n do
begin
writeln('Работник ',i);
with sp[i] do
begin
write('Фамилия: ');readln(fam);
write('Должность: ');readln(dlz);
write('Зарплата: ');readln(zpl);
sr:=sr+zpl;
write('Стаж: ');readln(stz)
end;
end;
sr:=sr/n; //средняя зарплата
clrscr; //очистим экран от ввода
writeln('Данные о работниках:');//выведем список в виде таблицы
writeln('');
writeln('| Фамилия | Должность | Зарплата | Стаж |');
writeln('');
for i:=1 to n do
with sp[i] do
begin
gotoXY(1,whereY);write('| ',fam);//установим курсор в нужную позицию и выведем
gotoXY(17,whereY);write('| ',dlz);
gotoXY(36,whereY);write('|',zpl:8);
gotoXY(47,whereY);write('|',stz:4);
gotoXY(54,whereY);writeln('|');//конец строки, переход на новую
end;
writeln('');
writeln('Press Enter');
readln;
clrscr;//очистим экран
writeln('Средняя зарплата по предприятию=',sr:0:1);//новая таблица
writeln('Данные о работниках, чья зарплата ниже средней:');
writeln('');
writeln('| Фамилия | Должность | Зарплата | Стаж |');
writeln('');
for i:=1 to n do
if sp[i].zpl<sr then //если зарплата меньше средней, выводим
with sp[i] do
begin
gotoXY(1,whereY);write('| ',fam);
gotoXY(17,whereY);write('| ',dlz);
gotoXY(36,whereY);write('|',zpl:8);
gotoXY(47,whereY);write('|',stz:4);
gotoXY(54,whereY);writeln('|');
end;
writeln('');
writeln('Press Enter');
readln;
clrscr; //очистим
writeln('Данные о работниках, чей стаж ,более 10 лет:');//новая таблица
k:=0;
writeln('');
writeln('| Фамилия | Должность | Зарплата | Стаж |');
writeln('');
for i:=1 to n do
if sp[i].stz>10 then //если стаж бодьше 10 лет
begin
k:=1; //фиксируем что есть
with sp[i] do //выводим
begin
gotoXY(1,whereY);write('| ',fam);
gotoXY(17,whereY);write('| ',dlz);
gotoXY(36,whereY);write('|',zpl:8);
gotoXY(47,whereY);write('|',stz:4);
gotoXY(54,whereY);writeln('|');
end;
end;
writeln('');
if k=0 then write('Таких работников нет');
writeln('Press Enter');
readln
end.