program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
hoursW : real;
function pay(hours:real) : real;
begin
if (hours < 41) then pay := hours * 12.50
else
begin
pay := (40 * 12.50) + ((hours - 40) * 17.00);
end;
end;
function nat(pay:real) : real;
begin
if (pay > 670) then
begin
nat := ((670 - 87) / 100 * 11) + ((pay - 670) / 100 * 1);
end
else
begin
nat := (pay - 87) / 100 * 11
end;
end;
procedure your_mum;
begin
write('Enter hours worked: ');
readln(hoursW);
if (hoursW > 60) OR (hoursW < 0) then
begin
writeln('Invalid working hour - must be within range 0 - 60');
your_mum;
end
else
begin
writeln('The gross pay is ',pay(hoursW):1:2);
writeln('National Insurance deduction: ',nat(pay(hoursW)):1:2);
writeln;
end;
end;
begin
repeat
your_mum;
until hoursW = 0;
end.