
Записать на языке «Паскаль» программу, реализующую алгоритм работы кассира, выдающего покупателю
сдачу сумма «S» наименьшим кол-вом банкнот по 1000 , 500, 100, 50, 10 рублей.Срочно, помогите!

Ответы на вопрос

s: longint;
n: array[1..5] of integer;
c, i: integer;
begin
n[1] := 1000;
n[2] := 500;
n[3] := 100;
n[4] := 50;
n[5] := 10;
Write('Введите сумму, кратную 10: ');
Readln(s);
if (s mod 10) <> 0 then s := 10 * (s div 10);
i := 1;
while s > 0 do
begin
c := s div n[i];
if c > 0 then begin Write(n[i], 'x', c, ' '); s := s mod n[i] end;
i := i + 1
end
end.
Тестовое решение:
Введите сумму, кратную 10: 52380
1000x52 100x3 50x1 10x3



Программа на языке Паскаль для выдачи сдачи суммой "S" наименьшим количеством банкнот
```pascal program CashierAlgorithm;
var S, remainder: integer; thousands, fiveHundreds, hundreds, fifties, tens: integer;
begin writeln('Введите сумму сдачи (S): '); readln(S);
thousands := S div 1000; // количество тысячных банкнот remainder := S mod 1000; // остаток после выдачи тысячных банкнот
fiveHundreds := remainder div 500; // количество пятисотых банкнот remainder := remainder mod 500; // остаток после выдачи пятисотых банкнот
hundreds := remainder div 100; // количество стоных банкнот remainder := remainder mod 100; // остаток после выдачи стоных банкнот
fifties := remainder div 50; // количество пятидесятирублевых банкнот remainder := remainder mod 50; // остаток после выдачи пятидесятирублевых банкнот
tens := remainder div 10; // количество десятирублевых банкнот
writeln('Количество тысячных банкнот: ', thousands); writeln('Количество пятисотых банкнот: ', fiveHundreds); writeln('Количество стоных банкнот: ', hundreds); writeln('Количество пятидесятирублевых банкнот: ', fifties); writeln('Количество десятирублевых банкнот: ', tens);
end. ```
Объяснение программы: - Программа запрашивает у пользователя сумму сдачи (S). - Затем она вычисляет количество каждого типа банкнот (тысячных, пятисотых, стоных, пятидесятирублевых и десятирублевых) с помощью операций деления нацело (div) и взятия остатка от деления (mod). - Наконец, программа выводит количество каждого типа банкнот на экран.
Например, если пользователь вводит сумму сдачи 2750 рублей, программа выдаст следующий результат: ``` Количество тысячных банкнот: 2 Количество пятисотых банкнот: 1 Количество стоных банкнот: 2 Количество пятидесятирублевых банкнот: 1 Количество десятирублевых банкнот: 0 ```
Примечание: - В данной программе не предусмотрена обработка некорректного ввода суммы сдачи (например, отрицательных значений или нецелых чисел).


Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili