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

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

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

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

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

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

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

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

Итоги урока

Дз 11. Рекурсия 2

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

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

                                                                                                                                                                                                                                                                                                                                       

Просмотр содержимого документа
«Дз 11. Рекурсия 2»

  1. Номера 3804,3806,3807 из informatics

  2. 21-57.Напишите в ответе количество различных значений входной переменной k, при которых программа выдаёт тот же ответ, что и при входном значении k = 18. Значение k = 18 также включается в подсчёт различных значений k.

var k, i : longint;

function F(x: longint) : longint;

begin

if x

F:= 1

else F:=3* F(x-1) - F(x-2)

end;

begin

i := 11;

readln(K);

while (i 0) and (F(i) K) do

i:=i-1;

writeln(i)

end.

  1. 21-54. Определите, количество чисел K, для которых следующая программа выведет такой же результат, что и для K = 120:

var i, k: integer;

function F(x:integer):integer;

begin

if x

F:= 1

else F:= F(x-1) +3*F(x-2);

end;

begin

i := 0;

readln(K);

while F(i)

i:=i+1;

writeln(i);

end.

  1. 11-42. Дан рекурсивный алгоритм:

procedure F(n: integer);

begin

if n 2 then begin

writeln('*');

F(n-2);

F(n-1);

F(n div 2);

end;

writeln('*');

end;

Сколько символов "звездочка" будет напечатано на экране при выполнении вызова F(6)?

  1. 11-44. Дан рекурсивный алгоритм:

procedure F(n: integer);

begin

writeln(n);

if n

F(n+2);

F(n*3)

end

end;

Найдите сумму чисел, которые будут выведены при вызове F(2).

  1. 11-49.Дан рекурсивный алгоритм:

procedure F(n: integer);

begin

writeln(n);

if n 5 then begin

F(n+2);

F(n+3);

F(n*2)

end

end;

Найдите сумму чисел, которые будут выведены при вызове F(1).

  1. 11-68.Дан рекурсивный алгоритм:

function F(n: integer): integer;

begin

if n

F:= n+F(n+3) * F(2*n)

else

F:= n*2;

end;

Чему будет равно значение, вычисленное алгоритмом при выполнении вызова F(3)?

  1. 11-77. Ниже записаны две рекурсивные функции, F и G:

function F(n: integer): integer;

begin

if n 2 then

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

else

F := n;

end;

function G(n: integer): integer;

begin

if n 2 then

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

else

G := n+1;

end;

Чему будет равно значение, вычисленное при выполнении вызова F(6)?

  1. 11- 75. Ниже записаны две рекурсивные процедуры, F и G:

procedure F(n: integer);

begin

if n 0 then begin

G(n - 1);

end;

end;

procedure G(n: integer);

begin

writeln('*');

if n 1 then begin

F(n - 3);

end;

end;

Сколько символов «звёздочка» будет напечатано на экране при выполнении

вызова F(11)?

  1. 11-72. Ниже записаны две рекурсивные процедуры, F и G:

procedure F(n: integer);

begin

writeln('*');

if n 0 then begin

writeln('*');

G(n - 1);

end;

end;

procedure G(n: integer);

begin

writeln('*');

if n 1 then

F(n - 2);

end;

Сколько символов «звёздочка» будет напечатано на экране при выполнении

вызова F(12)?