СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

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

Объяснение материала

Закрепление изученного

Итоги урока

Рекурсия для исполнителя Робот

Категория: Информатика

Нажмите, чтобы узнать подробности

Разработка содержит презентацию к уроку "Рекурсия для исполнителя Робот в системе программирования КУМИР", а также стартовые обстановки и программы для рассматриваемых задач (пример, практическая работа и домашнее задание). 

Просмотр содержимого презентации
«Рекурсия»

Рекурсия Для исполнителя Робот в системе программирования КУМИР

Рекурсия

Для исполнителя Робот в системе программирования КУМИР

Задача. На бесконечном поле имеется вертикальная стена. Длина стены неизвестна. Робот находится слева в клетке слева от стены. Переведите Робота в клетку, расположенную справа от стены и симметричную начальной относительно стены. Начальное и конечное положение Робота представлено на рисунке.

Задача. На бесконечном поле имеется вертикальная стена. Длина стены неизвестна. Робот находится слева в клетке слева от стены. Переведите Робота в клетку, расположенную справа от стены и симметричную начальной относительно стены. Начальное и конечное положение Робота представлено на рисунке.

Для решения поставленной задачи, Роботу необходимо: Поднимаясь вверх, дойти до края стены. Обойти стену. Двигаясь вниз, дойти до нужной клетки. Какую алгоритмическую конструкцию можно использовать, чтобы провести Робота до верха стены? ? ? ? Какие команды помогут перевести Робота на другую сторону стены? Как узнать, на сколько клеток вниз надо перевести Робота? Вверх Вправо Вниз ! ! Цикл ПОКА:  нц Пока справа стена  вверх кц

Для решения поставленной задачи, Роботу необходимо:

  • Поднимаясь вверх, дойти до края стены.
  • Обойти стену.
  • Двигаясь вниз, дойти до нужной клетки.

Какую алгоритмическую конструкцию можно использовать, чтобы провести Робота до верха стены?

?

?

?

Какие команды помогут перевести Робота на другую сторону стены?

Как узнать, на сколько клеток вниз надо перевести Робота?

Вверх

Вправо

Вниз

!

!

Цикл ПОКА:

нц Пока справа стена

  • вверх

кц

N раз Рекурсия – это способ программирования, при котором программа вызывает саму себя.

N раз

Рекурсия – это способ программирования, при котором программа вызывает саму себя.

Пример решения задачи, используя рекурсию.

Пример решения задачи, используя рекурсию.

Правила  программирования рекурсии

Правила программирования рекурсии

  • Рекурсивная программа обязательно содержит условие прекращения ее выполнения (условие возврата из рекурсии).
  • Рекурсивная программа содержит вызов самой себя.
Практическая работа Задача. На бесконечном поле имеется Робот. Где-то внизу находится горизонтальная стена длиной в одну клетку. Роботу необходимо закрасить клетку над стеной и вернуться в начальное положение.

Практическая работа

Задача. На бесконечном поле имеется Робот. Где-то внизу находится горизонтальная стена длиной в одну клетку. Роботу необходимо закрасить клетку над стеной и вернуться в начальное положение.

Домашнее задание Задача. Робот находится в горизонтальном коридоре. Длина коридора не известна. В нижней стене коридора имеется выход. Необходимо закрасить клетку над выходом и вернуться в начальное положение. Начальное и конечное положение Робота показано на рисунке.

Домашнее задание

Задача. Робот находится в горизонтальном коридоре. Длина коридора не известна. В нижней стене коридора имеется выход. Необходимо закрасить клетку над выходом и вернуться в начальное положение. Начальное и конечное положение Робота показано на рисунке.

Решение задачи из практической работы

Решение задачи из практической работы

Решение задачи из домашнего задания

Решение задачи из домашнего задания