Запишите ** языке Паскаль программу, реализующую алгоритм работы кассира, выдающего...

0 голосов
386 просмотров

Запишите на языке Паскаль программу, реализующую алгоритм работы кассира, выдающего покупателю сдачу (s) наименьшим возможным количеством банкнот по 500 (k500), 100(k100), 50(k50) и 10(k10) рублей.
Пример:
Сдача 850р.
Следует сдать:
банкнот по 500 р. - 1шт.
Банкнот по 100 р. - 3 шт.
банкнот по 50р. - 1шт
банкнот по 10р. - 0шт.


Информатика (31 баллов) | 386 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

// PascalABC.NET 3.1, сборка 1198 от 11.03.2016
begin
  var Bnk:=Arr(500,100,50,10);
  var s:=ReadInteger('Сдача, руб:');
  var Kol:=Arr(0,0,0,0);
  for var i:=0 to 3 do begin
    Kol[i]:=s div Bnk[i];
    s:=s mod Bnk[i]
    end;
  if s<>0 then Writeln('Сдачу дать невозможно')
  else begin
    Writeln('Следует дать:');
    for var i:=0 to 3 do
      Writeln('банкнот по ',Bnk[i],' руб - ',Kol[i],' шт.')
    end
end.

Тестовое решение:
Сдача, руб: 850
Следует дать:
банкнот по 500 руб - 1 шт.
банкнот по 100 руб - 3 шт.
банкнот по 50 руб - 1 шт.
банкнот по 10 руб - 0 шт.

(142k баллов)