Расчет заработной платы. - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Работник каждую пятницу получает зар.плату за отработанные пять 8-часовых раб. дней при поч часовой оплате 40$/час. При этом если работник отработал более 8 часов ему за каждый из таких дней насчитывается премия в размере 300$ Бухгалтер задает 5 чисел которые являются количеством отработанных часов у понедельник-пятницу соответственно. Выдать: -насчитанную сумму зар платы ($); -размер налога ($):18.6% -зар плату ($) (учитывая налог)

Решение задачи: «Расчет заработной платы.»

textual
Листинг программы
const
  Rate=40; Bonus=300; TaxRate=0.186;
var
  s, h, i: Integer;
begin
  Write('Ежедневная почасовая отработка за 5 дней: ');
  for i:=1 to 5 do begin
    Read(h); s:=s+Rate*h+Bonus*Ord(h>8);
  end; ReadLn;
  WriteLn('Начислено: $',s,' Налог: $',s*TaxRate:0:2,' К выдаче: $',s*(1-TaxRate):0:2);
end.

Объяснение кода листинга программы

  1. Объявлены константы Rate, Bonus и TaxRate, которые представляют собой ставки заработной платы, бонусов и налогов соответственно.
  2. Объявлены переменные s, h и i типа Integer. Переменная s используется для хранения общей суммы заработной платы, h - для хранения количества отработанных часов, i - для цикла.
  3. Выводится запрос на ввод количества отработанных часов за 5 дней.
  4. Запускается цикл, который выполняет следующие действия:
    • Происходит чтение количества отработанных часов за день с помощью функции Read(h).
    • Переменная s увеличивается на сумму ставки заработной платы (Rate) и бонусов (Bonus), умноженных на количество отработанных часов (h). При этом, если количество отработанных часов больше 8, то бонусы начисляются в полном объеме, в противном случае - в размере 50%. Это делается с помощью функции Ord(h>8).
  5. После окончания цикла выводится общая сумма заработной платы (s), налог (sTaxRate) и сумма, которую работник получит на руки (s(1-TaxRate)). При этом, с помощью функции ReadLn(), программа самостоятельно переходит на новую строку после вывода каждого значения.

Оцени полезность:

13   голосов , оценка 3.769 из 5
Похожие ответы