uzluga.ru
добавить свой файл

Зміст завдання:

Скласти програму, яка буде розраховувати які монети потрібно взяти, щоб набрати суму меньш одної гривні.


Опис програми:

Я зробив алгоритм, який введене число порівнює з номіналом монет (50, 25, 10, 5, 2, 1) і якщо введене число більше, то від цього числа віднімається порівнюванай номінал монети, а якщо менше, то введене число порівнюється з слідуючею монетою номінала. Це повторюється доти, поки задане число не стане нулем.


Візьмемо приклад. Нехай задане число – це 66, то:

Program Money;


Label leb2, leb10, err;


^ Var n:integer;


begin


write('Введите коп. ->');

readln(n); Ввід числа n:=66


if (n > 99) or (n <= 0) then Перевірка заданного числа

begin

write('Ошибка ввода!');

goto err; Перехід ЯКЩО помилка

end;


if not (n < 50) then not (66 < 50) = true

begin

n:=n-50; n:=66-50=16

write('50 коп. '); Вивід на екран

end;


if not (n < 25) then not (16 < 25) = false

begin

n:=n-25;

write('25 коп. ');

end;


leb10:


if not (n < 10) then not (16 < 10) = true(1 раз) not (16 < 10) = false(2 раз)

begin

n:=n-10; n:=16-10=6

write('10 коп. '); Вивід на екран

goto leb10; Знову перевіряється «n» з 10

end;


if not (n < 5) then not (6 < 5) = true

begin

n:=n-5; n:=6-5=1

write('5 коп. '); Вивід на екран

end;


leb2:


if not (n < 2) then not (1 < 2) = false

begin

n:=n-2;

write('2 коп. ');

goto leb2;

end;


if not (n < 1) then not (1 < 1) = true

begin

write('1 коп. '); Вивід на екран

end;


err:


writeln(''); Перевід коретки на слідуючий рядок


end.