1-11 класс
  • 1-11 класс
  • 1 класс
  • 2 класс
  • 3 класс
  • 4 класс
  • 5 класс
  • 6 класс
  • 7 класс
  • 8 класс
  • 9 класс
  • 10 класс
  • 11 класс
Выберите класс
Предметы
Семакин
Работа 3.9 Упр.13 ГДЗ Семакин 10 класс (Информатика)
Семакин, Хеннер, Шеина
10 класс
Автор
Семакин, Хеннер, Шеина

Работа 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 лет.



Общая оценка
3.5 / 5
Другие учебники
Другие предметы