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

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

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

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

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

textual
Листинг программы
  1. var s,k1,k2,k3,k4:integer;
  2. begin
  3. write('Введите сумму s=');
  4. readln(s);
  5. if(s<20)or(s>10*(200+100+50+20)) then
  6.  begin
  7.   write('Банкомат не может выдать такую сумму');
  8.   exit;
  9.  end;
  10. k1:=0;
  11. while(s>=200)and(k1<10)do
  12.  begin
  13.   s:=s-200;
  14.   inc(k1);
  15.  end;
  16. if s>=100 then
  17.  begin
  18.   k2:=1;
  19.   s:=s-100;
  20.  end;
  21. if s mod 20=0 then
  22.  begin
  23.   k3:=0;
  24.   k4:=s div 20;
  25.   s:=0;
  26.  end
  27. else if s>=50 then
  28.  begin
  29.   k3:=1;
  30.   s:=s-50;
  31.   k4:=0;
  32.   while s>=20 do
  33.    begin
  34.     s:=s-20;
  35.     inc(k4);
  36.    end;
  37.  end;
  38. if s=0 then
  39.  begin
  40.   if k1>0 then writeln('200=',k1);
  41.   if k2>0 then writeln('100=',k2);
  42.   if k3>0 then writeln('50=',k3);
  43.   if k4>0 then writeln('20=',k4);
  44.  end
  45. else write('Банкомат не может выдать такую сумму');
  46. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы