Инфоурок Информатика ПрезентацииПроцедуры и функции, виды рекурсий 10-11 класс

Процедуры и функции, виды рекурсий 10-11 класс

Скачать материал
Скачать материал "Процедуры и функции, виды рекурсий 10-11 класс"

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

HR-менеджер

за 6 месяцев

Пройти курс

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

Скачать

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

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

Хранитель музейных предметов

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

  • РЕКУРСИЯ

    1 слайд

    РЕКУРСИЯ

  • Процедуры и функцииПроцедура( функция) представляет собой последовательность...

    2 слайд

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

  • Описание процедур и функцийВсе процедуры или функции должны быть описаны в ра...

    3 слайд

    Описание процедур и функций
    Все процедуры или функции должны быть описаны в разделе описаний основной программы.
    Описание процедуры имеет вид:

    procedure имя (список формальных параметров);
    раздел описаний локальных параметров
    begin
      операторы тела процедуры
    end;
    Описание функции имеет вид:
    function имя (список формальных параметров): тип значения функции;
    раздел описаний локальных параметров
    begin
      операторы тела функции
    end;

  • Параметры процедур и функцийСписок формальных параметров состоит из одной или...

    4 слайд

    Параметры процедур и функций
    Список формальных параметров состоит из одной или нескольких секций, разделенных символом " ; ".

    Секция состоит из списка переменных, перечисляемых через запятую, знака “:” и типа.

    Секция может предваряться служебным словом var - тогда параметры передаются по ссылке,
    (экономия памяти и времени).

    Если var отсутствует параметры передаются значениями.

    Список формальных параметров вместе с окружающими скобками может отсутствовать.

  • Что такое рекурсия?Рекурсия – это функция (процедура) вызывающая саму себя

М...

    5 слайд

    Что такое рекурсия?
    Рекурсия – это функция (процедура) вызывающая саму себя

    Может ли рекурсия заменить цикл?
    Да.

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

    6 слайд

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

  • Program n1; 
uses crt;

procedure Rec(i: integer);
begin
  if i>1 then Rec(i-...

    7 слайд

    Program n1;
    uses crt;

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

    begin
    clrscr;
    Rec(5);
    end.
    рекурсивный подъём
    Процедура закрывается и выводится i
    Пока i больше 1 вызываем следующую процедуру
    рекурсивный подъём

  • Вызов Rec(5)














Вызов Rec(4)










Вызов Rec(3)







Вызов R...

    8 слайд

    Вызов Rec(5)















    Вызов Rec(4)











    Вызов Rec(3)








    Вызов Rec(2)




    Вызов Rec(1)
    Вывод (1)
    Вывод (2)
    Вывод (3)
    Вывод (4)
    Вывод (5)
    i>1
    i
    Rec(i-1)
    5
    4
    3
    2
    1
    5>1 Да
    4>1 Да
    3>1 Да
    2>1 Да
    1>1 Нет
    Rec(4)
    Rec(3)
    Rec(2)
    Rec(1)
    Вывод(1)
    рекурсивный подъём

  • Процедура 5Процедура 4Процедура 3Процедура 2Процедура 1Вывод  5Вывод  4Вывод...

    9 слайд

    Процедура 5
    Процедура 4
    Процедура 3
    Процедура 2
    Процедура 1
    Вывод 5
    Вывод 4
    Вывод 3
    Вывод 2
    Вывод 1
    Пока i>1 то вызываем очередную
    процедуру
    Рекурсивный подъем
    рекурсивный подъём

  • Program n2;
uses crt;

procedure Rec(i: integer);
begin
  writeln(i);
  if i>...

    10 слайд

    Program n2;
    uses crt;

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

    begin
    clrscr;
    Rec(5);
    end.
    рекурсивный спуск
    Вывод
    Переход к следующей процедуре
    рекурсивный спуск

  • i>1    Вывод i   Rec(i-1)    543215>1 Да    4>1 Да    3>1 Да    2>1 Да...

    11 слайд

    i>1
    Вывод i
    Rec(i-1)
    5
    4
    3
    2
    1
    5>1 Да
    4>1 Да
    3>1 Да
    2>1 Да
    1>1 Нет
    Rec(4)
    Rec(3)
    Rec(2)
    Rec(1)
    Rec(i)
    Rec(5)
    Rec(4)
    Rec(3)
    Rec(2)
    Rec(1)
    рекурсивный спуск

  • Процедура 4Процедура 3Процедура 2Процедура 1Процедура 5Вывод  5Вывод  4Вывод...

    12 слайд

    Процедура 4
    Процедура 3
    Процедура 2
    Процедура 1
    Процедура 5
    Вывод 5
    Вывод 4
    Вывод 3
    Вывод 2
    Вывод 1
    Пока i>1 то вызываем очередную
    процедуру
    Рекурсивный спуск
    рекурсивный спуск

  • Program n3;
Uses crt;
Procedure Print(n:integer);
Begin
   Writeln ('У попа б...

    13 слайд

    Program n3;
    Uses crt;
    Procedure Print(n:integer);
    Begin
    Writeln ('У попа была собака,');
    Writeln ('Он ее любил.');
    Writeln ('Она съела кусок мяса —');
    Writeln ('Он ее убил.');
    Writeln ('Убил и закопал');
    Writeln ('И на могиле написал:');
    if n>1 then Print(n-1);
    End;
    BEGIN
    Print(4);
    END.
    рекурсивный спуск
    Вывод
    Переход к следующей процедуре
    рекурсивный спуск

  • Program n4;
uses crt;

procedure Rec(i: integer);
begin
  writeln(i);
  if i>...

    14 слайд

    Program n4;
    uses crt;

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

    begin
    clrscr;
    Rec(5);
    end.
    рекурсивный спуск,
    и рекурсивный подъем

    Спуск
    Подъем
    рекурсивный спуск и подъем

  • Задачи ЕГЭ (рекурсии) задание №11Ниже на пяти язы­ках про­грам­ми­ро­ва­ния...

    15 слайд

    Задачи ЕГЭ (рекурсии)
    задание №11
    Ниже на пяти язы­ках про­грам­ми­ро­ва­ния за­пи­сан ре­кур­сив­ный ал­го­ритм F.



    Чему равна сумма всех чисел, на­пе­ча­тан­ных на экра­не при вы­пол­не­нии вы­зо­ва F(1)?

  • Решение	Пер­вым дей­стви­ем про­це­ду­ра F(1) вы­ве­дет число 1. Далее про­це...

    16 слайд

    Решение
    Пер­вым дей­стви­ем про­це­ду­ра F(1) вы­ве­дет число 1. Далее про­це­ду­ра F(1) вы­зо­вет про­це­ду­ру F(n + 1), в ре­зуль­та­те вы­пол­не­ния ко­то­рой на экра­не по­явит­ся число n + 1 = 2. Про­це­ду­ра F(2) вы­зо­вет про­це­ду­ру F(3), ко­то­рая вы­ве­дет на экран число 3 и вы­зо­вет про­це­ду­ру F(4), ко­то­рая вы­ве­дет на экран число 4 и вы­зо­вет F(5), ко­то­рая вы­ве­дет на экран число 5.
    После этого управ­ле­ние вернётся к про­це­ду­ре F(4), ко­то­рая начнёт вы­пол­нять сле­ду­ю­щий шаг сво­е­го ал­го­рит­ма, т. е. об­ра­тить­ся к про­це­ду­ре F(n + 3) = F(7). Про­це­ду­ра F(7) вы­ве­дет на экран число 7. Далее управ­ле­ние вернётся к про­це­ду­ре F(3). Рас­суж­дая ана­ло­гич­но при­хо­дим к вы­во­ду, что про­це­ду­ра F(3) до­пол­ни­тель­но вы­ве­дет на экран число 6, про­це­ду­ра F(2) — 5.
    По­след­ним дей­стви­ем про­це­ду­ры F(1) будет вызов про­це­ду­ры F(n + 3) = F(4), ко­то­рая вы­ве­дет на экран числа 4, 5, 7.
    Таким об­ра­зом, на экра­не будут числа 1, 2, 3, 4, 5, 7, 6, 5, 4, 5, 7. Их сумма равна 49.
     Ответ: 49.

  • Паскальprogram vopr_11;
uses crt;
var k:integer;
procedure Rec(n:integer);...

    17 слайд

    Паскаль
    program vopr_11;
    uses crt;
    var k:integer;
    procedure Rec(n:integer);
    begin
    k:=k+n;
    write(n,' ');
    if n < 5 then begin
    Rec(n + 1);
    Rec(n + 3);
    end
    end;
    //тело программы
    begin
    Rec(1);
    writeln('Ответ:':15,k);
    end.

  • 751426475351+2+3+4+5+7+6+5+4+5+7 =10    +18    +2149

    18 слайд

    7
    5
    1
    4
    2
    6
    4
    7
    5
    3
    5
    1+2+3+4+5+7+6+5+4+5+7 =
    10 +
    18 +
    21
    49

  • СамостоятельноНиже на пяти язы­ках про­грам­ми­ро­ва­ния за­пи­сан 
ре­кур­си...

    19 слайд

    Самостоятельно
    Ниже на пяти язы­ках про­грам­ми­ро­ва­ния за­пи­сан
    ре­кур­сив­ный ал­го­ритм F.



    Чему равна сумма всех чисел, на­пе­ча­тан­ных на экра­не при вы­пол­не­нии вы­зо­ва F(6)?

  • ПояснениеНа пер­вом шаге про­це­ду­ра F(6) вы­ве­дет число 6 и вы­зо­вет про­...

    20 слайд

    Пояснение
    На пер­вом шаге про­це­ду­ра F(6) вы­ве­дет число 6 и вы­зо­вет про­це­ду­ры F(5) и F(3).
    На вто­ром шаге про­це­ду­ры F(5) и F(3) вы­ве­дут числа 5 и 3 и вы­зо­вут про­це­ду­ры F(4), F(2), F(2) и F(0).
    На тре­тьем шаге будут вы­ве­де­ны числа 4, 2, 2 и 0; вы­зва­ны про­це­ду­ры F(3), F(1), F(1), F(−1), F(1), F(−1).
    На четвёртом шаге будут вы­ве­де­ны числа 3, 1, 1, −1, 1, −1; вы­зва­ны про­це­ду­ры F(2) и F(0).
    На пятом шаге будут вы­ве­де­ны числа 2, 0 и вы­зва­ны про­це­ду­ры F(1), F(−1).
    На ше­стом шаге будут вы­ве­де­ны числа 1 и −1.

    Найдём сумму вы­ве­ден­ных чисел:
     
    6 + 5 + 3 + 4 + 2 + 2+ 0 + 3 + 1 + 1 + (−1) + 1 + (−1) + 2 + 0 + 1 + (−1) = 28.

    Ответ: 28.

  • решениеprogram vopr_11;
uses crt;
var k:integer;
procedure F(n: integer);
beg...

    21 слайд

    решение
    program vopr_11;
    uses crt;
    var k:integer;
    procedure F(n: integer);
    begin
    writeln(n);
    k:=k+n;
    if n > 1 then
    begin
    F(n - 1);
    F(n - 3);
    end
    end;
    //тело программы
    begin
    F(6);
    writeln('Ответ:':14,k);
    end.

  • 02-116351302-1142-116+5+4+3+2+1+(-1)+0+1+2+1+(-1)+3+2+1+(-1)+0 = 1011    ++...

    22 слайд

    0
    2
    -1
    1
    6
    3
    5
    1
    3
    0
    2
    -1
    1
    4
    2
    -1
    1
    6+5+4+3+2+1+(-1)+0+1+2+1+(-1)+3+2+1+(-1)+0 =
    10
    11 +
    + 7
    28

  • Алгоритмы, опи­ра­ю­щи­е­ся на не­сколь­ко предыдущих значенийАл­го­ритм вы­ч...

    23 слайд

    Алгоритмы, опи­ра­ю­щи­е­ся на не­сколь­ко предыдущих значений
    Ал­го­ритм вы­чис­ле­ния зна­че­ния функ­ции F(n), где n – на­ту­раль­ное число, задан сле­ду­ю­щи­ми со­от­но­ше­ни­я­ми:
    F(1) = 1
    F(2) = 3
    F(n) = F(n–1) * n + F(n–2) * (n – 1) , при n >2
    Чему равно зна­че­ние функ­ции F(5)?
    В от­ве­те за­пи­ши­те толь­ко на­ту­раль­ное число.

  • РешениеВыпишем уже известные нам F(1) и F(2)
F(1)=1
F(2)=3
F(3)=11
F(4)=53
F(...

    24 слайд

    Решение
    Выпишем уже известные нам F(1) и F(2)
    F(1)=1
    F(2)=3
    F(3)=11
    F(4)=53
    F(5)=309

    По­сле­до­ва­тель­но на­хо­дим:
    F(3) = F(2) * 3 + F(1) * 2 = 11,
    F(4) = F(3) * 4 + F(2) * 3 = 53,
    F(5) = F(4) * 5 + F(3) * 4 = 309.
    Ответ: 309

  • СамостоятельноАл­го­ритм вы­чис­ле­ния зна­че­ния функ­ции F(n), где n – на­т...

    25 слайд

    Самостоятельно
    Ал­го­ритм вы­чис­ле­ния зна­че­ния функ­ции F(n), где n – на­ту­раль­ное число, задан сле­ду­ю­щи­ми со­от­но­ше­ни­я­ми:
    F(1) = 1
    F(2) = 3
    F(n) = F(n−1) * F(n−2) + (n−2), при n > 2
    Чему равно зна­че­ние функ­ции F(5)?
    В от­ве­те за­пи­ши­те толь­ко на­ту­раль­ное число.

  • РешениеF(1) = 1
F(2) = 3
F(3) = 4
F(4) = 14
F(5) = 59

По­сле­до­ва­тель­но н...

    26 слайд

    Решение
    F(1) = 1
    F(2) = 3
    F(3) = 4
    F(4) = 14
    F(5) = 59

    По­сле­до­ва­тель­но на­хо­дим:
    F(3) = F(2) * F(1) + 1 = 4,
    F(4) = F(3) * F(2) + 2 = 14,
    F(5) = F(4) * F(3) + 3 = 59.
    Ответ: 59

  • Алгоритмы, опи­ра­ю­щи­е­ся на одно преды­ду­щее значениеАл­го­ритм вы­чис­ле...

    27 слайд

    Алгоритмы, опи­ра­ю­щи­е­ся на одно преды­ду­щее значение
    Ал­го­ритм вы­чис­ле­ния зна­че­ния функ­ции F(n), где n – на­ту­раль­ное число, задан сле­ду­ю­щи­ми со­от­но­ше­ни­я­ми:
    F(1) = 1
    F(n) = F(n–1) * n, при n >1
    Чему равно зна­че­ние функ­ции F(5)? В от­ве­те за­пи­ши­те толь­ко на­ту­раль­ное число.

  • РешениеПо­сле­до­ва­тель­но на­хо­дим: 
F(2) = F(1) * 2 = 2, 
F(3) = F(2) * 3...

    28 слайд

    Решение
    По­сле­до­ва­тель­но на­хо­дим:
    F(2) = F(1) * 2 = 2,
    F(3) = F(2) * 3 = 6,
    F(4) = F(3) * 4 = 24,
    F(5) = F(4) * 5 = 120.
     
    При­ме­ча­ние
    Ис­поль­зо­ва­ние функ­ции поз­во­ля­ет вы­чис­лить так на­зы­ва­е­мый фак­то­ри­ал числа n — про­из­ве­де­ние на­ту­раль­ных чисел от 1 до n. Тем самым, F(5) = 1 * 2 * 3 * 4 * 5 = 120.

    Ответ: 120

  • СамостоятельноАл­го­ритм вы­чис­ле­ния зна­че­ния функ­ции F(n), где n – на­т...

    29 слайд

    Самостоятельно
    Ал­го­ритм вы­чис­ле­ния зна­че­ния функ­ции F(n), где n – на­ту­раль­ное число, задан сле­ду­ю­щи­ми со­от­но­ше­ни­я­ми:F(1) = 3
    F(n) = F(n–1) * (n–1), при n >1
    Чему равно зна­че­ние функ­ции F(6)?
    В от­ве­те за­пи­ши­те толь­ко на­ту­раль­ное число.

  • РешениеПо­сле­до­ва­тель­но на­хо­дим:
F(2) = F(1) * 1 = 3,
F(3) = F(2) * 2 =...

    30 слайд

    Решение
    По­сле­до­ва­тель­но на­хо­дим:
    F(2) = F(1) * 1 = 3,
    F(3) = F(2) * 2 = 6,
    F(4) = F(3) * 3 = 18,
    F(5) = F(4) * 4 = 72,
    F(6) = F(5) * 5 = 360.
    Ответ: 360

  • Спасибо за внимание!

    31 слайд

    Спасибо за внимание!

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

Экскурсовод (гид)

за 6 месяцев

Пройти курс

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

Скачать

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

Что такое процедуры и функции и их описание.

Параметры процедур и функций.

Определение рекурсии и рекурсивного объекта.

Что такое рекурсивный подъем и его использование.

Что такое рекурсивный спуск и его использование.

Подробное решение задач на рекурсии.

Разбор ЕГЭ задач на рекурсии с примерами кода на PASCAL


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

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

6 672 058 материалов в базе

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

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

Вам будут интересны эти курсы:

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

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

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

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

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

    Замотаев Сергей Владимирович
    Замотаев Сергей Владимирович
    • На сайте: 7 лет и 7 месяцев
    • Подписчики: 1
    • Всего просмотров: 2805
    • Всего материалов: 2

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

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

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

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

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

500/1000 ч.

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

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

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

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

300/600 ч.

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

Курс повышения квалификации

Теоретические и методологические основы преподавания информатики с учётом требований ФГОС ООО

72 ч. — 180 ч.

от 2200 руб. от 1100 руб.
Подать заявку О курсе
  • Сейчас обучается 153 человека из 49 регионов
  • Этот курс уже прошли 1 721 человек

Курс повышения квалификации

Специфика преподавания информатики в начальных классах с учетом ФГОС НОО

72 ч. — 180 ч.

от 2200 руб. от 1100 руб.
Подать заявку О курсе
  • Сейчас обучается 39 человек из 20 регионов
  • Этот курс уже прошли 284 человека

Мини-курс

Hard-skills современного педагога

8 ч.

1180 руб. 590 руб.
Подать заявку О курсе
  • Сейчас обучается 77 человек из 34 регионов
  • Этот курс уже прошли 22 человека

Мини-курс

Технологии в онлайн-обучении

3 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 29 человек из 18 регионов

Мини-курс

Мастерство влияния и успешных переговоров

4 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 31 человек из 18 регионов