Перейти к содержанию
MediaSchool

Декомпозиция и вспомогательные алгоритмы. Управление исполнителем

Разбить задачу управления Роботом или другим подготовленным исполнителем на повторяющиеся подзадачи. Описать вспомогательный алгоритм и вызвать его из основной программы с известными ветвлениями и циклами. До запуска построить короткую трассу, проверить условия применимости и достижение цели, затем изменить один фрагмент. Реальное устройство не требуется: используется учебная среда с явными командами и моделью датчиков.

Открыт · Презентация · Методичка · Рабочий лист

Конспект урока

Разбить управление исполнителем на подзадачи, определить вспомогательный алгоритм и вызвать его с ветвлением и циклом; до запуска предсказать состояния, затем выполнить свой план, сохранить и восстановить его, изменить один фрагмент и проверить достижение цели.

Поле Клеточника: 1 ≤ x ≤ 5, 1 ≤ y ≤ 4; x растёт вправо, y вверх. Единственная внутренняя стена между (2, 2) и (3, 2). Команда перемещает на одну клетку; движение через стену или край вызывает отказ и останавливает весь план. Это виртуальная учебная среда, не физический робот. Её русский язык описан в памятке и отличается от Python и КуМир. Процедуры без параметров; определения только вне других конструкций, рекурсия не используется. Счётчик событий учитывает условия, циклы, вызовы и возвраты, а не только перемещения. Безопасный шаг сам по себе не гарантирует достижения произвольной цели. Цифровая часть требует собственной работы в браузере; бумажная трасса её не заменяет.

Основная практика: свой прогноз на бумаге, затем собственный план и проверка в браузере. При отсутствии ПК сохрани бумажную трассу; цифровую часть — собственное выполнение, сохранение и восстановление — заверши на ближайшей компьютерной практике. Бумажный прогноз не подтверждает эти действия. Сохраняй первую попытку; исправления отмечай другим знаком.

Безопасное начало

Сухие руки, без напитков у техники. Провода и разъёмы не трогай, о неисправности сообщи учителю. Работай по правилам кабинета. Две полные минуты в середине урока — без экрана и заданий. Внешний ИИ, личные аккаунты и личные данные не требуются.

Что уже нужно знать

Из 8 класса: координаты на клетчатом поле, команды исполнителя, условие, ветвление и цикл с заданным числом повторений. Новое — именованный вспомогательный алгоритм, его вызов и возврат. Числовые списки и Python относятся к следующим урокам; здесь используется заранее подготовленная учебная среда Клеточник.

S0. Чем «СПРАВА СВОБОДНО» отличается от «ВПРАВО»? Может ли проверка условия сама передвинуть исполнителя?

Устная проба без отметки.

Подзадача → определение → вызов → возврат

Декомпозиция — разбиение задачи на осмысленные подзадачи. Повторяющийся фрагмент можно определить как вспомогательный алгоритм с именем. ПРОЦЕДУРА ИМЯ … КОНЕЦ ПРОЦЕДУРЫ описывает тело, но сама его не исполняет. ВЫЗОВ ИМЯ выполняет тело из текущей позиции и возвращает управление к следующей команде вызывающего плана. Один вызов может содержать несколько перемещений, ветвление, цикл или не изменить позицию. Условие проверяется при каждом обращении заново. Число повторений цикла относится к вызовам в его теле; оно не всегда равно числу перемещений. Поле Клеточника: 1 ≤ x ≤ 5, 1 ≤ y ≤ 4; x растёт вправо, y вверх. Единственная внутренняя стена между (2, 2) и (3, 2). Команда перемещает на одну клетку; движение через стену или край вызывает отказ и останавливает весь план. Определения — только на верхнем уровне; без параметров и рекурсии. В среде предел 12 процедур, 8 вложенных вызовов, 80 строк-команд, 12 000 знаков и 200 событий. Достижение лимита прерывает выполнение для проверки и само не доказывает бесконечность. До запуска — свой прогноз, после — фактическая трасса. Завершение без отказа проверяют отдельно от равенства конечной позиции цели. Сохраняют свой JSON с кодом и координатами; в чистой вкладке после загрузки выполняют план заново.

Памятка записи языка:

ПРОЦЕДУРА ИМЯ
  команды
КОНЕЦ ПРОЦЕДУРЫ
ВЫЗОВ ИМЯ
ЕСЛИ условие ТО
  команды
ИНАЧЕ
  другие команды
КОНЕЦ ЕСЛИ
ПОВТОРИ N РАЗ
  команды или вызов
КОНЕЦ ПОВТОРА

N — целое число от 0 до 99; при N = 0 тело цикла не выполняется. Это схема записи: слова «команды» и «условие» заменяют конкретными допустимыми командами и проверками. Каркас B1 с пропусками целиком показан в редакторе готового HTML до ввода.

ЧастьНазначение
ПодзадачаЧто хотим сделать отдельно
ОпределениеИмя и тело помощника
ВызовВыполнить тело здесь и сейчас
ВозвратПродолжить вызывающий план

Команды и ключевые слова вводят по-русски, имена можно свои. Регистр не важен, новая строка или ; разделяют команды. # — комментарий. Отступы помогают читать, границы задают слова КОНЕЦ. Это язык конкретного Клеточника, не синтаксис Python/КуМир. Вызов и возврат видны в трассе отдельными событиями без перемещения.

Концептуальная иллюстрация. Точные данные определены условиями, таблицами и схемами; предметы на рисунке не являются входными данными.

Практика на компьютере

Открыть Клеточник — пошаговое выполнение. Можно скачать HTML и открыть без сети. Внешние аккаунты не нужны. Выбери задание и выставь указанный старт. Цель заполнена только если она дана в условии. В заданиях на трассировку поля «Мой прогноз» пустые и необязательные: впиши свой ответ или оставь запись на бумаге. Запиши свой план. Сначала прогноз на бумаге, затем «Подготовить», «Один шаг» и сравнение позиций. Для нового запуска верни старт; изменения очищают трассу. Разобранный образец открывается отдельной кнопкой.

Все школьные браузеры, HTML, скачивание/импорт JSON и личные папки проверяются до звонка. Установка, выдача прав и разовая настройка не входят в 45 минут. Каждый сам дополняет каркас, выполняет, сохраняет и загружает собственный план. При 15 ПК на 30 учеников: 1 мин инструкция + 6 первый + 6 второй + 1 личная сверка; ожидающий пишет свой прогноз и анализ. При 30 ПК параллельно. У каждого два JSON с различимыми фактическими именами, личные прогнозы и наблюдения. Скачивание не равно проверке файла: загрузить и выполнить. Вызовы и возвраты в трассе не считать движениями. ПОПЫТКА — заданная локальная стратегия, не универсальный поиск пути. При отсутствии ПК бумажный прогноз не засчитывать как выполненную цифровую часть. Не вводить параметры, рекурсию, массивы, сторонние аккаунты и управление реальным оборудованием.

Личная проба

C1. Поле Клеточника: 1 ≤ x ≤ 5, 1 ≤ y ≤ 4; x растёт вправо, y вверх. Единственная внутренняя стена между (2, 2) и (3, 2). Команда перемещает на одну клетку; движение через стену или край вызывает отказ и останавливает весь план. Запись: ВВЕРХ; ВПРАВО; ВВЕРХ; ВПРАВО. Старт (1, 1). Выдели повторяющуюся подзадачу, дай ей имя, запиши определение и основной план с двумя вызовами. До запуска укажи конечную позицию.

Две минуты лично на имя, определение, два вызова и итог; одна минута на сравнение эквивалентных решений. Памятка разрешена.

Проследить вызовы, а не строки определения

Разобранный другой пример: ПОДЪЁМ — ЕСЛИ СВЕРХУ СВОБОДНО ТО ВВЕРХ КОНЕЦ ЕСЛИ. На поле из памятки старт (1, 1), два вызова. Само определение оставляет (1, 1); после первого возврата (1, 2), после второго (1, 3). Внутри каждого вызова заново проверяется свободный верх. Это образец, в A1 другой старт.

A1. Поле Клеточника: 1 ≤ x ≤ 5, 1 ≤ y ≤ 4; x растёт вправо, y вверх. Единственная внутренняя стена между (2, 2) и (3, 2). Команда перемещает на одну клетку; движение через стену или край вызывает отказ и останавливает весь план. Дан помощник ПОДЪЁМ: если сверху свободно, ВВЕРХ; иначе без перемещения. Старт (4, 1). Основной план — два ВЫЗОВ ПОДЪЁМ. Запиши позиции после определения, после первого и второго возврата. Сколько перемещений выполнено?

Заготовка для своей записи:

МоментПозицияОснование
После определения
Возврат 1
Возврат 2

Сначала своя запись и основание, затем сверка.

Полная пауза

Две минуты без проекции, чтения, вычислений и обсуждения. Отведи взгляд и смени позу.

Проверить условия и границы помощника

У ПОДЪЁМ другая проверка: старт (1, 4), цель (2, 4), два вызова. Сверху край, условие каждый раз ложно; оба тела завершаются без перемещения и без отказа. Конец (1, 4), цель не достигнута. Нельзя приписывать помощнику незаданное движение вправо. Безопасность, завершение и достижение цели проверяют отдельно.

A2. Поле Клеточника: 1 ≤ x ≤ 5, 1 ≤ y ≤ 4; x растёт вправо, y вверх. Единственная внутренняя стена между (2, 2) и (3, 2). Команда перемещает на одну клетку; движение через стену или край вызывает отказ и останавливает весь план. ПОПЫТКА: если справа свободно, сделать ВПРАВО; иначе, если сверху свободно, сделать ВВЕРХ; если оба направления закрыты, не двигаться. После тела процедуры управление возвращается к месту вызова. Старт (2, 2), объявленная цель (3, 2); в основном плане один ВЫЗОВ ПОПЫТКА. Предскажи проверку справа, выбранную ветвь и позицию после возврата. Достигнута ли цель?

Общее поле всех заданий. Старт и цель каждого задания заданы текстом.

Две минуты лично, две на стену, ветвление и отдельную проверку цели.

Концептуальная иллюстрация. Точные данные определены условиями, таблицами и схемами; предметы на рисунке не являются входными данными.

Свой помощник, цикл и сохранённый план

В готовой среде B1 дан только неполный каркас. Замени отмеченные угловыми скобками поля собственными условиями, командами и числом повторений. Сначала предскажи четыре возврата. После подготовки выполняй пошагово или целиком, найди в трассе строки «Возврат из ПОПЫТКА» и выпиши реальные координаты. Сохрани исходный JSON; в чистой вкладке загрузи и выполни заново. Для эксперимента поменяй только число повторений, вновь подготовь/выполни, сохрани второй отдельный JSON и сравни конечную позицию с прежней целью.

ШагСвоё свидетельство
До запускаЧетыре прогнозные позиции
ВыполнитьРеальные возвраты в трассе
Сохранить/загрузитьСвой JSON и повторный запуск
Изменить один фрагментДругой JSON и сравнение цели

B1. Поле Клеточника: 1 ≤ x ≤ 5, 1 ≤ y ≤ 4; x растёт вправо, y вверх. Единственная внутренняя стена между (2, 2) и (3, 2). Команда перемещает на одну клетку; движение через стену или край вызывает отказ и останавливает весь план. ПОПЫТКА: если справа свободно, сделать ВПРАВО; иначе, если сверху свободно, сделать ВВЕРХ; если оба направления закрыты, не двигаться. После тела процедуры управление возвращается к месту вызова. Своя практика в 015-cell-runner.html. Выбери B1: старт (1, 2), цель (4, 3). Каркас намеренно неполный: замени пять полей в угловых скобках двумя условиями, двумя командами и числом повторений 4. Сначала на бумаге запиши позиции после каждого из четырёх возвратов. Затем «Подготовить», «Один шаг»/«Выполнить всё»; запиши фактические позиции отдельно от прогноза. Сохрани свой JSON в личную папку места, запиши фактическое имя; в чистой вкладке загрузи его, подготовь и выполни заново. Для эксперимента измени только число повторений с 4 на 5, нажми «Подготовить» и проверь текущую позицию (1, 2), прежние старт и цель. Выполни изменённый план, сохрани второй JSON под отличающимся именем. Сравни конечные позиции и достижение цели. У каждого ученика своя вкладка, два файла и журнал; наблюдение чужого экрана не засчитывается.

Заготовка для своей записи:

МоментМой прогнозНаблюдение
Возврат 1
Возврат 2
Возврат 3
Возврат 4
Вариант: возврат 5

Четырнадцать минут: 1 инструкция, 6 первый, 6 второй, 1 личная сверка. На 30 ПК параллельно. Каждый дополняет свой каркас, запускает, сохраняет и восстанавливает план, проверяет один изменённый фрагмент.

Проверка вымышленного ответа ИИ

AI1. Вымышленный ИИ утверждает: «Написанное определение ПОПЫТКА сразу делает шаг, даже без вызова. Если все перемещения безопасны, этот помощник с четырьмя вызовами приведёт к любой цели». Найди две ошибки. Для второй используй поле из памятки, старт (5, 4), цель (4, 4) и правило ПОПЫТКА: вправо, если свободно, иначе вверх, если свободно.

Это заранее составленный учебный пример. Самостоятельно проверь конкретный шаг; обращение к сервису не требуется.

Помощь и резерв

  • Определение считает запуском. Найди ВЫЗОВ в основном плане; без него тело не исполнялось.
  • Проходит через стену. Отметь стену, проверь условие справа до команды.
  • Считает события движениями. Отдельно обведи только выполненные команды перемещения.
  • Смотрит старый план. Проверь файл, число повторений, старт и цель; после правки подготовь заново.
  • Без ошибки — значит цель. Сравни две координаты фактического конца с объявленной целью.

D1. Поле Клеточника: 1 ≤ x ≤ 5, 1 ≤ y ≤ 4; x растёт вправо, y вверх. Единственная внутренняя стена между (2, 2) и (3, 2). Команда перемещает на одну клетку; движение через стену или край вызывает отказ и останавливает весь план. Резерв. Создай другой помощник: сначала ВВЕРХ, если сверху свободно; иначе ВПРАВО, если справа свободно; иначе без перемещения. Старт (1, 2), четыре вызова. На бумаге предскажи четыре позиции и объясни, почему результат отличается от B1.

D1 — необязательный резерв на 3–4 минуты после основных попыток. При нехватке времени перенести. H1 и весь тест автоматически вместе не назначаются.

Индивидуальный итог

Четыре полные минуты лично. Условия заранее на бумаге. Памятка и разобранные модели разрешены; ключи и веб-разбор закрыты. Учитель не даёт учебных подсказок. Сбор после четырёх минут.

E1. Поле Клеточника: 1 ≤ x ≤ 5, 1 ≤ y ≤ 4; x растёт вправо, y вверх. Единственная внутренняя стена между (2, 2) и (3, 2). Команда перемещает на одну клетку; движение через стену или край вызывает отказ и останавливает весь план. Помощник ШАГ состоит из ВВЕРХ; ВПРАВО. Старт (3, 1), один ВЫЗОВ ШАГ. Запиши конечную позицию и число перемещений.

E2. Процедура ПОДЪЁМ определена, но основной план не содержит ни одного её вызова. Ученик ждёт движения. Объясни причину и назови минимальное дополнение основного плана.

E3. Уточни утверждение «план завершился без отказа — значит, цель достигнута». Какое свидетельство ещё нужно?

Разбор после своей попытки

После исправления выбери один новый пример из самопроверки.

Файлы для собственной практики

HTML и README в архиве работают без сети после получения. Готового решённого B1 и чужого JSON в ученическом архиве нет. Сохранение и восстановление выполняй в своей папке; поле и язык уже подготовлены.

Материалы и самопроверка

Презентация, самостоятельный план учителя, рабочий лист, выходной билет и бумажная самопроверка открываются отдельными карточками. DOCX можно смотреть на сайте и скачать. PDF для печати:

Самопроверка на сайте: шесть вопросов с пояснениями, отдельно 6–8 минут. Бумажная версия с письменными основаниями и разбором — 8–12 минут. Все шесть новых письменных случаев — ещё 8–10 минут; выбирай прежде всего случай к своей ошибке. Эти модули не прибавляют к основным 45 минутам и не задаются целиком вместе с H1 автоматически. Пояснения и новые случаи для бумажного разбора есть в плане учителя.

Домашний перенос

H1. Поле Клеточника: 1 ≤ x ≤ 5, 1 ≤ y ≤ 4; x растёт вправо, y вверх. Единственная внутренняя стена между (2, 2) и (3, 2). Команда перемещает на одну клетку; движение через стену или край вызывает отказ и останавливает весь план. Бумажный перенос. Помощник ВОЗВРАТ: если слева свободно, ВЛЕВО; иначе, если снизу свободно, ВНИЗ; иначе без перемещения. Старт (4, 2), цель (2, 1), три вызова. Запиши позиции после каждого возврата. Что изменится, если вызовов только два? ПК дома не нужен.

Полное условие и памятка есть на листе. Решение запиши в тетради. Достаточно 5–7 минут с сохранённой опорой.

Источники

ФРП информатики 7–9 классов, базовый уровень, содержание 9 класса на печатных с. 10–12, результаты с. 19–20 и тематическое планирование с. 41–42. Соответствующий час авторского КТП 2026/2027. Содержание не расширяется до углублённого курса и не подменяется подготовкой к экзамену. Учебник школы не указан; номера параграфов не назначены.

Самопроверка

Проверь себя

6 вопросов по теме «Декомпозиция и вспомогательные алгоритмы: самопроверка». Выбери ответ, прочитай объяснение и попробуй ещё раз, если ошибся.

Открыть отдельно

Вопрос 1 из 6

Тренировка
Что верно для вспомогательного алгоритма в Клеточнике?

Без отметки и ограничения времени. Первый ответ учитывается отдельно от исправлений. При обновлении страницы ответы сбросятся.

Скачать и открыть

Материалы урока

7 материалов

Подготовка к уроку

2 материала

Рабочие листы и практика

4 материала

Проверка знаний

1 материал

От сообщества

Материалы сообщества0

Дополнения от учителей к этому уроку. Проверены модерацией, но не являются редакционным контентом MediaSchool.

Поделиться материалом

Поделитесь первым материалом

Рабочий лист, презентация или методичка помогут другим учителям подготовиться к уроку.

Комментарии

Войдите, чтобы оставлять комментарии.

Пока нет комментариев. Будьте первым!