Краткий ответ. Информационная модель кофе-автомата — это описание того, какие данные автомат получает и хранит, в каких состояниях он находится и по каким правилам выполняет действия. Алгоритм получается такой:
выбор напитка + достаточная оплата + нужные ресурсы → приготовление → выдача напитка и сдачи → уменьшение запасов.
Если любое условие не выполнено → отказ, возврат денег или сообщение об ошибке.
1. Что включить в информационную модель
| Параметр | Смысл | Пример |
|---|---|---|
| Выбор напитка | номер или название | 1 — эспрессо, 2 — латте |
| Цена | стоимость выбранного напитка | 120 руб. |
| Внесённые деньги | сумма от пользователя | 200 руб. |
| Сдача | деньги к возврату | 80 руб. |
| Запасы | вода, кофе, молоко, сахар, стаканы | вода — 1,5 л |
| Рецепт | сколько ресурсов нужно на напиток | латте: кофе 7 г, молоко 150 мл |
| Состояние автомата | текущий режим работы | ожидание, оплата, приготовление, ошибка |
| Сообщение | что видит пользователь | «Добавьте 20 руб.» |
Главное: модель не обязана описывать цвет корпуса или форму кнопок. В неё входит только то, что влияет на работу автомата и результат процесса.
2. Алгоритм работы
- Старт. Проверить исправность автомата и наличие базовых ресурсов.
- Если автомат неисправен или нет стаканов — вывести сообщение и перейти в режим обслуживания.
- Показать меню напитков.
- Получить выбор пользователя.
- Получить оплату.
- Если денег меньше цены — попросить доплату или вернуть деньги.
- Если денег достаточно — проверить наличие ингредиентов для выбранного напитка.
- Если ингредиентов не хватает — сообщить об этом и вернуть деньги.
- Если всё в порядке — приготовить напиток по рецепту.
- Выдать напиток и сдачу.
- Уменьшить запасы ингредиентов и стаканов.
- Если запасы ниже нормы — подать сигнал «пополнить».
- Вернуться в режим ожидания.
Псевдокод
начало
проверить исправность и ресурсы
показать меню
получить выбор напитка
получить оплату
если оплата < цена(выбор) то
вернуть деньги
иначе если запасов не хватает(выбор) то
вернуть деньги
вывести сообщение
иначе
приготовить(выбор)
выдать напиток
выдать сдачу = оплата - цена(выбор)
обновить запасы(выбор)
всё
если запасы < порога то
сигнал «нужно пополнение»
всё
вернуться в режим ожидания
конец
3. Как проверить модель
Нужно прогнать несколько тестовых ситуаций:
| Ситуация | Ожидаемый результат |
|---|---|
| Денег достаточно, ресурсов хватает | напиток выдан, сдача правильная |
| Денег мало | напиток не готовится, деньги возвращаются |
| Нет молока для латте | сообщение об ошибке, возврат денег |
| Закончились стаканы | автомат не начинает приготовление |
| Автомат сломан | сообщение о неисправности, режим обслуживания |
Если во всех случаях автомат ведёт себя по правилам — модель и алгоритм составлены правильно.
4. Как выполнить похожее задание
- Определи объект или процесс.
- Выпиши входы: что поступает извне.
- Выпиши ресурсы: что автомат хранит и расходует.
- Перечисли состояния: ожидание, проверка, работа, ошибка.
- Задай правила и условия: «если…, то…».
- Опиши выходы: результат, сообщение, изменение запасов.
- Проверь алгоритм на обычных и ошибочных ситуациях.
Такой же принцип подойдёт для модели банкомата, турникета, светофора или интернет-магазина.
