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. |