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

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

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

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

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

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

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

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

Итоги урока

19.3.Ещё пример задания

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

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

Для подготовки к ОГЭ И ЕГЭ  по информатике

Просмотр содержимого документа
«19.3.Ещё пример задания»

Ещё пример задания:

Процедура F(n), где n – натуральное число, задана следующим образом (язык Паскаль):

procedure F(n: integer);

begin

if n

write('*')

else begin

F(n-1);

F(n-2);

F(n-2)

end;

end;

Сколько звездочек напечатает эта процедура при вызове F(6)? В ответе запишите только натуральное число.

Решение:

  1. эта задача по сути такая же, как и предыдущая, но «завёрнута» в другой фантик: для n (то есть, для 1 и 2) функция выводит одну звездочку

F(1) = F(2) = 1

а для бóльших n имеем рекуррентную формулу

F(n) = F(n-1) + F(n-2) + F(n-2)

= F(n-1) + 2*F(n-2)

  1. запишем в таблицу базовые случаи

    n

    1

    2

    3

    4

    5

    6

    F(n)

    1

    1





  2. заполняем таблицу, используя рекуррентную формулу:

n

1

2

3

4

5

6

F(n)

1

1

3

5

11

21

F(3) = F(2) + 2*F(1) = 3

F(4) = F(3) + 2*F(2) = 5

F(5) = F(4) + 2*F(3) = 11

F(6) = F(5) + 2*F(4) = 21

  1. ответ: 21.




Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!