Инфоурок Информатика ПрезентацииПрезентация по информатике "Рекурсия"

Презентация по информатике "Рекурсия"

Скачать материал
Скачать материал "Презентация по информатике "Рекурсия""

Получите профессию

Бухгалтер

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Методические разработки к Вашему уроку:

Получите новую специальность за 2 месяца

Психолог-консультант

Описание презентации по отдельным слайдам:

  • Реку́рсия — в определении, описании, изображении какого-либо объекта или проц...

    1 слайд

    Реку́рсия —
    в определении, описании, изображении какого-либо объекта или процесса внутри самого этого объекта или процесса, то есть ситуация, когда объект является частью самого себя. Термин «рекурсия» используется в различных специальных областях знаний — от лингвистики до логики, но наиболее широкое применение находит в математике и информатике.

  • В математике рекурсия	имеет отношение к методу определения функций и числовых...

    2 слайд

    В математике рекурсия
    имеет отношение к методу определения функций и числовых рядов: рекурсивно заданная функция определяет своё значение через обращение к себе самой с другими аргументами.

    Конечная рекурсивная функция.


    Здесь каждое следующее рекурсивное обращение делается с аргументом, меньшим на единицу. Поскольку n, по определению, целое неотрицательное число, через n рекурсивных обращений вычисление функции гарантированно придёт к частному случаю , на котором рекурсия прекратится. 



  • В математике рекурсияБесконечная рекурсивная функция.
Примером может служить...

    3 слайд

    В математике рекурсия
    Бесконечная рекурсивная функция.
    Примером может служить один из вариантов разложения числа Эйлера:





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

  • 4 слайд

  • Ханойская башня

    5 слайд

    Ханойская башня

  • Ханойская башня//n – количество дисков
//a, b, c – номера штырьков. Переклады...

    6 слайд

    Ханойская башня
    //n – количество дисков
    //a, b, c – номера штырьков. Перекладывание производится со штырька a,
    //на штырек b при вспомогательном штырьке c.
    procedure Hanoi(n, a, b, c: integer);
    begin
      if n > 1 then
      begin
        Hanoi(n-1, a, c, b);
        writeln(a, ' -> ', b);
        Hanoi(n-1, c, b, a);
      end else
        writeln(a, ' -> ', b);
      end;

  • В программировании рекурсия — 	вызов функции (процедуры) из неё же самой, неп...

    7 слайд

    В программировании рекурсия —
    вызов функции (процедуры) из неё же самой, непосредственно (простая рекурсия) или через другие функции (сложная или косвенная рекурсия), например, функция А вызывает функцию В, а функция А — функцию В .
    Количество вложенных вызовов функции или процедуры называется глубиной рекурсии. Рекурсивная программа позволяет описать повторяющееся или даже потенциально бесконечное вычисление, причём без явных повторений частей программы и использования циклов.

  • Структурно рекурсивная функция на верхнем уровне всегда представляет собой к...

    8 слайд

    Структурно рекурсивная функция на верхнем уровне всегда представляет собой команду ветвления (выбор одной из двух или более альтернатив в зависимости от условия (условий), которое в данном случае уместно назвать «условием прекращения рекурсии»), имеющей две или более альтернативные ветви, из которых хотя бы одна является рекурсивной и хотя бы одна — терминальной. Рекурсивная ветвь выполняется, когда условие прекращения рекурсии ложно, и содержит хотя бы один рекурсивный вызов — прямой или опосредованный вызов функцией самой себя. 

  • Пример рекурсивной процедуры:procedure Rec(a: integer);
begin
  if a>0 then...

    9 слайд

    Пример рекурсивной процедуры:

    procedure Rec(a: integer);
    begin
      if a>0 then
        Rec(a-1);
      writeln(a);
    end;

  • Если в основной программе поставить вызов, например, вида Rec(3). Ниже предст...

    10 слайд

    Если в основной программе поставить вызов, например, вида Rec(3). Ниже представлена блок-схема, показывающая последовательность выполнения операторов.

  • Процедура Rec вызывается с параметром a = 3. В ней содержится вызов процедуры...

    11 слайд

    Процедура Rec вызывается с параметром a = 3. В ней содержится вызов процедуры Rec с параметром a = 2. Предыдущий вызов еще не завершился, поэтому можете представить себе, что создается еще одна процедура и до окончания ее работы первая свою работу не заканчивает. Процесс вызова заканчивается, когда параметр a = 0. В этот момент одновременно выполняются 4 экземпляра процедуры. Количество одновременно выполняемых процедур называют глубиной рекурсии.

    Четвертая вызванная процедура (Rec(0)) напечатает число 0 и закончит свою работу. После этого управление возвращается к процедуре, которая ее вызвала (Rec(1)) и печатается число 1. И так далее пока не завершатся все процедуры. Результатом исходного вызова будет печать четырех чисел: 0, 1, 2, 3.

  • В качестве самостоятельного упражнения подумайте, что получится при вызове Re...

    12 слайд

    В качестве самостоятельного упражнения подумайте, что получится при вызове Rec(4). Также подумайте, что получится при вызове описанной ниже процедуры Rec2(4), где операторы поменялись местами.

    procedure Rec2(a: integer);
    begin
      writeln(a);
      if a>0 then
        Rec2(a-1);
    end;

    Обратите внимание, что в приведенных примерах рекурсивный вызов стоит внутри условного оператора. Это необходимое условие для того, чтобы рекурсия когда-нибудь закончилась. Также обратите внимание, что сама себя процедура вызывает с другим параметром, не таким, с каким была вызвана она сама. Если в процедуре не используются глобальные переменные, то это также необходимо, чтобы рекурсия не продолжалась до бесконечности.

  • Перевод числа в двоичную систему.while x>0 do
begin
  c:=x mod 2;
  x:=x div...

    13 слайд

    Перевод числа в двоичную систему.
    while x>0 do
    begin
      c:=x mod 2;
      x:=x div 2;
      write(c);
    end;

    procedure BinaryRepresentation(x: integer);
    var
      c, x: integer;
    begin
      {Первый блок. Выполняется в порядке вызова процедур}
      c := x mod 2;
      x := x div 2;
      {Рекурсивный вызов}
      if x>0 then
        BinaryRepresentation(x);
      {Второй блок. Выполняется в обратном порядке}
      write(c);
    end;

Получите профессию

Фитнес-тренер

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Краткое описание документа:

Тема:  рекурсивные алгоритмы.

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

·    рекурсия – это приём, позволяющий свести исходную задачу к одной или нескольким более простым задачам того же типа

·    чтобы определить рекурсию, нужно задать

o   условие остановки рекурсии (базовый случай или несколько базовых случаев)

o   рекуррентную формулу

·    любую рекурсивную процедуру можно запрограммировать с помощью цикла

·    рекурсия позволяет заменить цикл и в некоторых сложных задачах делает решение более понятным, хотя часто менее эффективным

    существуют языки программирования, в которых рекурсия используется как один из основных приемов обработки данных (Lisp, Haskell)

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 665 164 материала в базе

Скачать материал

Другие материалы

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 11.04.2015 2154
    • PPTX 202.3 кбайт
    • 19 скачиваний
    • Оцените материал:
  • Настоящий материал опубликован пользователем Соловьева Ирина Леонидовна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Соловьева Ирина Леонидовна
    Соловьева Ирина Леонидовна
    • На сайте: 9 лет
    • Подписчики: 0
    • Всего просмотров: 10613
    • Всего материалов: 4

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Технолог-калькулятор общественного питания

Технолог-калькулятор общественного питания

500/1000 ч.

Подать заявку О курсе

Курс профессиональной переподготовки

Информационные технологии в профессиональной деятельности: теория и методика преподавания в образовательной организации

Преподаватель информационных технологий

300/600 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Сейчас обучается 191 человек из 54 регионов
  • Этот курс уже прошли 974 человека

Курс профессиональной переподготовки

Информационные системы и технологии: теория и методика преподавания в профессиональном образовании

Преподаватель информационных систем и технологий

300/600 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Этот курс уже прошли 13 человек

Курс профессиональной переподготовки

Информатика: теория и методика преподавания с применением дистанционных технологий

Учитель информатики

300 ч. — 1200 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Сейчас обучается 20 человек из 12 регионов
  • Этот курс уже прошли 18 человек

Мини-курс

Финансовый риск-менеджмент

8 ч.

1180 руб. 590 руб.
Подать заявку О курсе

Мини-курс

Уникальный образ как педагога: основные принципы позиционирования

4 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Этот курс уже прошли 21 человек

Мини-курс

Дизайн-проектирование: практические и методологические аспекты

4 ч.

780 руб. 390 руб.
Подать заявку О курсе