Работа 3.9 Упр.13 ГДЗ Семакин 10 класс (Информатика)
Рассмотрим вариант решения задания из учебника Семакин, Хеннер, Шеина 10 класс, Бином: 13. Среди работников данного предприятия найти тех, чья заработная плата за месяц ниже средней по предприятию, а также распечатать список тех, кто проработал на предприятии более 10 лет с указанием их фамилии, зарплаты, стажа работы и должности. *Цитирирование задания со ссылкой на учебник производится исключительно в учебных целях для лучшего понимания разбора решения задания. 10 semakin10 pract/3-9/13 98
Сначала вводятся данные о всех работниках и одновременно вычисляется сумма зарплат, чтобы найти среднюю зарплату по предприятию:
$$sr=\frac{zpl_1+zpl_2+\dots+zpl_n}{n}$$
Затем программа выводит:
- всех работников предприятия;
- работников, у которых зарплата ниже средней, то есть $$zpl<sr$$;
- работников со стажем более 10 лет, то есть $$stz>10$$.
Для каждого работника печатаются фамилия, должность, зарплата и стаж.
type rabot=record
fam:string[20];
dlz:string[20];
zpl:longint;
stz:byte;
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
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.
Программа последовательно решает обе части задания: находит работников с зарплатой ниже средней и выводит список работников со стажем более 10 лет.