Вопрос задан 27.07.2018 в 08:22. Предмет Информатика. Спрашивает Черняк Степан.

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

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

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Чемеков Даниил.
Var
  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


0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Программа на языке Паскаль для выдачи сдачи суммой "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 ```

Примечание: - В данной программе не предусмотрена обработка некорректного ввода суммы сдачи (например, отрицательных значений или нецелых чисел).

0 0

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

Последние заданные вопросы в категории Информатика

Задать вопрос