Здрасти!Помогите пожалуйста решить задачу: Синтезировать автомат по продаже билетов

Здрасти!Помогите пожалуйста решить задачку:

Синтезировать автомат по продаже билетов ценою 5 руб. Автомат может принимать монеты 1,2,5 руб. Сдачу автомат не выдает. При вводе неправильной сумы сброс средств назад

Задать свой вопрос
1 ответ
// PascalABC.NET 3.3, сборка 1579 от 18.11.2017
// Внимание! Если программка не работает, обновите версию!

begin
  // В целях упрощения логики программы варианты
  // выбора кнопок 0 и * вместе не рассматриваются
  //
  Writeln('Опускайте монеты достоинством 1,2,5 руб.');
  Writeln('Кнопка "0" окончание приема, кнопка "*" - возврат монет');
  var s:=ReadlnString;
  var p:=Pos('*',s);
  if pgt;0 then begin
    var sr:=s[:p].ToIntegers;
    if sr.Sumgt;0 then Writeln('Возврат монет: ',s[:p])
    else Writeln('Нечего отдавать!')
    end
  else begin
    p:=Pos('0',s);
    if pgt;0 then begin
      s:=s[:p];
      var a:=s.ToIntegers;
      if a.Lengthgt;0 then begin
        var acc:=a.Where(t-gt;t in [1,2,5]);
        var rej:=a.Where(t-gt;not(t in [1,2,5]));
        if rej.Countgt;0 then Writeln('Не приняты: ',rej);
        var sum:=acc.Sum;
        if sum mod 5lt;gt;0 then begin
          Writeln('Введена неправильная сумма');
          Write('Принятые монеты возвращены: ');
          acc.OrderBy(t-gt;t).Println
          end
        else
          if sumgt;0 then
            Writeln('Получите билеты в количестве ',sum div 5,' шт.')
        end
      else
        Writeln('Вы не опустили ни одной монеты')
      end
    else
      Writeln('Вы не избрали кнопку "0" или "*"')
  end
end.

Примеры
Опускайте монеты достоинством 1,2,5 руб.
Кнопка "0" завершение приема, кнопка "*" - возврат монет
3 6 3 1 3 5 2 5 2 4 2 3 6 2 1 0
Не приняты: [3,6,3,3,4,3,6]
Получите билеты в количестве 4 шт.

Опускайте монеты достоинством 1,2,5 руб.
Кнопка "0" завершение приема, кнопка "*" - возврат монет
3 6 3 1 3 5 2 5 2 4 2 3 6 2 1 *
Возврат монет: 3 6 3 1 3 5 2 5 2 4 2 3 6 2 1

Опускайте монеты достоинством 1,2,5 руб.
Кнопка "0" окончание приема, кнопка "*" - возврат монет
3 6 3 1 3 5 2 4 2 3 6 2 1 0
Не приняты: [3,6,3,3,4,3,6]
Введена неправильная сумма
Принятые монеты возвращены: 1 1 2 2 2 5

Опускайте монеты достоинством 1,2,5 руб.
Кнопка "0" завершение приема, кнопка "*" - возврат монет
3 6 3 7 3 4 3 8 6 0
Не приняты: [3,6,3,7,3,4,3,8,6]

Опускайте монеты достоинством 1,2,5 руб.
Кнопка "0" окончание приема, кнопка "*" - возврат монет
0
Вы не опустили ни одной монеты


Старобанова Оленька
Спасибо для вас огромное!!!А вы можете еще посодействовать с заданием?
Оленька Инрубская
а вот это задание сможете помочь?znanija.com/task/26477650
, оставишь ответ?
Имя:*
E-Mail:


Последние вопросы
задание экономиоти Рассмотри ситуацию: человек живёт на Крайнем Се-вере. С помощью каких

Экономика.

Человек живет на Крайнем Севере. С помощью каких благ удовлетворяются потребности

Экономика.

там лежат три яйца.у дома рос клен.Это гнездо сойки.на клёне гнездо

Русский язык.

Тыныштық күйіндегі карусель 35 с-та 3,0 рад/с бұрыштық жылдамдықпен үдей қозғалады.

Разные вопросы.

Сочинение на тему "Русский язык не сможет умереть!"

Математика.

Приветствую! Меня зовут Станислав, я представляю компанию under.site. Хотел бы предложить интересное решение

Разные вопросы.

Масса трёх одинаковых пакетов чая 180г чему равна масса

Математика.

Газообразный аммиак объёмом 2.24 л (н.у.) был полностью поглощён 14.68 мл

Химия.

Упражнение 2 Выпишите глаголы и вставьте пропущенные буквы

Русский язык.

Радиус окружности, описанной около равностороннего треугольника, равен 6. Найдите сторону треугольника

Геометрия.

Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт