Алгоритмы бывают двух основных типов: с обратной связью и без обратной связи. Алгоритм с обратной связью учитывает результаты своих предыдущих шагов и может корректировать дальнейшие действия в зависимости от этих результатов. Алгоритм без обратной связи выполняется строго по порядку, без учета изменений в окружающей среде или результатов предыдущих шагов.
Теперь разберем алгоритм, представленный в задаче 2:
- Открой холодильник.
- Достань из холодильника жёлтую кастрюлю.
- Поставь кастрюлю на газовую плиту.
- Зажги газ.
- Подожди 5 минут.
- Выключи газ.
- Налей из кастрюли суп в тарелку.
Этот алгоритм изначально не предусматривает учёта изменений в окружающей среде или результатов своих действий. Он просто выполняет инструкции одну за другой, независимо от того, что происходит вокруг. Следовательно, данный алгоритм является алгоритмом без обратной связи.
Теперь внесем изменения в алгоритм, чтобы учесть возможные ситуации:
- Открой холодильник.
- Если в холодильнике две жёлтые кастрюли, выбери кастрюлю с супом (например, по запаху или по другой подсказке от мамы).
- Поставь выбранную кастрюлю на газовую плиту.
- Попробуй зажечь газ.
- Если дома нет спичек, используй зажигалку (если есть) или обратись за помощью к соседям.
- Если газ отключен из-за аварии, пропусти шаги 4-6 и переходи к следующему шагу.
- Если газ зажжён, подожди 5 минут.
- Если газ был зажжён, выключи его.
- Налей из кастрюли суп в тарелку.
- Если часы остановились, используй другой способ измерения времени (например, таймер на телефоне или спроси у кого-то).
Эти изменения добавляют элементы обратной связи в алгоритм, позволяя первокласснику корректировать свои действия в зависимости от ситуации.