При вводе сумы вывести сколько каких купюр банкомат выдаст - PascalABC.NET

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

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

Помогите плиз! Не могу понять как это реализовать! Дали задание, но я не понимаю "задание - банкомат есть купюры номиналом 200, 100, 50, 20 по 10 штук нужно при вводе сумы вывести сколько каких купюр банкомат выдаст если банкомат не может выдать суму, вывести сообщение об ошибке"

Решение задачи: «При вводе сумы вывести сколько каких купюр банкомат выдаст»

textual
Листинг программы
var s,k1,k2,k3,k4:integer;
begin
write('Введите сумму s=');
readln(s);
if(s<20)or(s>10*(200+100+50+20)) then
 begin
  write('Банкомат не может выдать такую сумму');
  exit;
 end;
k1:=0;
while(s>=200)and(k1<10)do
 begin
  s:=s-200;
  inc(k1);
 end;
if s>=100 then
 begin
  k2:=1;
  s:=s-100;
 end;
if s mod 20=0 then
 begin
  k3:=0;
  k4:=s div 20;
  s:=0;
 end
else if s>=50 then
 begin
  k3:=1;
  s:=s-50;
  k4:=0;
  while s>=20 do
   begin
    s:=s-20;
    inc(k4);
   end;
 end;
if s=0 then
 begin
  if k1>0 then writeln('200=',k1);
  if k2>0 then writeln('100=',k2);
  if k3>0 then writeln('50=',k3);
  if k4>0 then writeln('20=',k4);
 end
else write('Банкомат не может выдать такую сумму');
end.

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

  1. Введен код на языке PascalABC.Net.
  2. Задача: при вводе суммы, вывести, сколько каких купюр банкомат выдаст.
  3. Введенная сумма сохраняется в переменной s.
  4. Проверка: если сумма меньше 20 или больше 10*(200+100+50+20), то выводится сообщение Банкомат не может выдать такую сумму и программа завершается.
  5. Переменная k1 инициализируется значением 0 и используется для подсчета количества 200-х купюр.
  6. Цикл while(s>=200)and(k1<10) проверяет, достаточно ли 200-х купюр для выдачи заданной суммы. Если да, то сумма уменьшается на 200, а переменная k1 увеличивается на 1. Цикл продолжается, пока не будет израсходовано 10 200-х купюр или пока сумма не станет меньше 200.
  7. Если сумма больше или равна 100, то используется переменная k2 для подсчета количества 100-х купюр. Сумма уменьшается на 100, а переменная k2 увеличивается на 1.
  8. Если сумма делится на 20 без остатка, то используется переменная k3 для подсчета количества 50-х купюр, а переменная k4 для подсчета количества 20-х купюр. Сумма уменьшается на 50, переменная k3 увеличивается на 1, а переменная k4 увеличивается на 1 за каждую 20-ю купюру до тех пор, пока сумма не станет меньше 20.
  9. Если сумма равна 0, то выводится количество 200-х, 100-х, 50-х и 20-х купюр, если они были использованы.
  10. Если сумма не равна 0, то выводится сообщение Банкомат не может выдать такую сумму.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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