Решение (вариант 1, составление полной таблицы):



1) сначала определим рекуррентную формулу; обозначим через G(n) количество звездочек, которые выводит программа при вызове F(n)

2) из программы видим, что

G(n) = 1 при всех n <= 0

G(n) = 1 + G(n-2) + G(n div 2) при n > 0

3) вспомним, что n div 2 – это частное от деления n на 2

4) по этим формулам заполняем таблицу, начиная с нуля:

G(0) = 1

G(1) = 1 + G(-1) + G(0) = 1 + 1 + 1 = 3

G(2) = 1 + G(0) + G(1) = 1 + 1 + 3 = 5

G(3) = 1 + G(1) + G(1) = 1 + 3 + 3 = 7

G(4) = 1 + G(2) + G(2) = 1 + 5 + 5 = 11

G(5) = 1 + G(3) + G(2) = 1 + 7 + 5 = 13

G(6) = 1 + G(4) + G(3) = 1 + 11 + 7 = 19

G(7) = 1 + G(5) + G(3) = 1 + 13 + 7 = 21

n 0 1 2 3 4 5 6 7
G(n) 1 3 5 7 11 13 19 21

5) Ответ: 21.

Решение (вариант 2, «с конца»):

1) пп. 1-3 – как в варианте 1

2) по формулам G(7) = 1+ G(5) + G(3), поэтому нужно найти G(5) и G(3)

3) G(5) = 1 + G(3) + G(2), нужны G(3) и G(2)

4) G(3) = 1 + G(1) + G(1), нужно G(1)

5) G(2) = 1 + G(0) + G(1) = 2 + G(1), нужно G(1)

6) G(1) = 1 + G(-1) + G(0) = 1 + 1 + 1 = 3

7) теперь идем «обратным ходом»:

G(2) = 2 + G(1) = 5

G(3) = 1 + G(1) + G(1) = 1 + 3 + 3 = 7

G(5) = 1 + G(3) + G(2) = 1 + 7 + 5 = 13

G(7) = 1 + G(5) + G(3) = 1 + 13 + 7 = 21

8) Ответ: 21.

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

Р-02. Алгоритм вычисления значений функций F(n) и G(n), где n – натуральное число, задан следующими соотношениями:

F(1) = 1; G(1) = 1;

F(n) = F(n – 1) – G(n – 1),

G(n) = F(n–1) + G(n – 1), при n >=2

Чему равно значение величины F(5)/G(5)?

В ответе запишите только целое число.

Решение:

1) фактически рекуррентная формула задана для пары (F(n); G(n))

2) замечаем, что F(n) – это разность предыдущей пары, а G(n) – сумма тех же значений

3) заполняем таблицу, начиная с известной первой пары

n 1 2 3 4 5
F(n) 1 0 –2 –4 –4
G(n) 1 2 2 0 –4

4) искомое значение F(5)/G(5) равно 1

5) ответ: 1.

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

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

задан следующими соотношениями:

F(1) = 1

F(n) = F(n–1) * n, при n > 1

Чему равно значение функции F(5)?

В ответе запишите только целое число.

Решение:

1) используя заданную рекуррентную формулу, находим, что

F(5) = F(4) * 5

2) применив формулу еще несколько раз, получаем

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

3) мы дошли до базового случая, который останавливает рекурсию, так как определяет значение F(1) = 1

4) окончательно F(5) = 1 * 2 * 3 * 4 * 5 = 120

5) ответ: 120.

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

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

procedure F ( n : integer );

Begin

if n < 3 then

write ('*')

Else begin

F ( n -1);

F(n-2);

F(n-2)

end;

end;

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

Решение:

1) эта задача по сути такая же, как и предыдущая, но «завёрнута» в другой фантик: для n < 3 (то есть, для 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)

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

n 1 2 3 4 5 6
F(n) 1 1

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

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

4) ответ: 21.


Задачи для тренировки[1]:

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

F(1) = 1

F(n) = F(n–1) * ( n + 1) , при n > 1

Чему равно значение функции F(5)? В ответе запишите только целое число.

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

F(1) = 1

F(n) = F(n–1) * (n + 2 ), при n > 1

Чему равно значение функции F(5)? В ответе запишите только целое число.

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

F(1) = 1

F ( n ) = F ( n –1) * (2* n + 1), при n > 1

Чему равно значение функции F(4)? В ответе запишите только целое число.

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

F(1) = 1

F ( n ) = F ( n –1) * (2* n - 1), при n > 1

Чему равно значение функции F(5)? В ответе запишите только целое число.

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

F(1) = 1

F(n) = F(n–1) * ( 3 *n - 2 ), при n > 1

Чему равно значение функции F(4)? В ответе запишите только целое число.

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

F (0) = 1, F (1) = 1

F(n) = F(n–1) + F(n-2), при n > 1

Чему равно значение функции F(7)? В ответе запишите только целое число.

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

F (0) = 1, F (1) = 1

F(n) = 2*F(n–1) + F(n-2), при n > 1

Чему равно значение функции F(6)? В ответе запишите только целое число.

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

F (0) = 1, F (1) = 1

F(n) = F(n–1) + 2*F(n-2), при n > 1

Чему равно значение функции F(6)? В ответе запишите только целое число.

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

F (0) = 1, F (1) = 1

F(n) = 3*F(n–1) - F(n-2), при n > 1

Чему равно значение функции F(6)? В ответе запишите только целое число.

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

F (0) = 1, F (1) = 1

F(n) = F(n–1)*F(n-2)+1, при n > 1

Чему равно значение функции F(6)? В ответе запишите только целое число.

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

F (0) = 1, F (1) = 1

F(n) = F(n–1)*F(n-2)+2, при n > 1

Чему равно значение функции F(5)? В ответе запишите только целое число.

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

F(1) = 1, F(2) = 1

F ( n ) = F ( n -2)*n, при n > 2

Чему равно значение функции F(7)? В ответе запишите только целое число.

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

F (1) = 1, F (2) = 1

F ( n ) = F ( n -2)*n + 2, при n > 2

Чему равно значение функции F(8)? В ответе запишите только целое число.

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

F (1) = 1, F (2) = 1

F ( n ) = F ( n -2)* ( n -1) , при n > 2

Чему равно значение функции F(7)? В ответе запишите только целое число.

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

F (1) = 1, F (2) = 1

F ( n ) = F ( n -2)* ( n -1) + 2, при n > 2

Чему равно значение функции F(8)? В ответе запишите только целое число.

16) Алгоритм вычисления значения функции F(w), где w - натуральное число, задан следующими соотношениями:

F (1) = 3; F (2) = 3;

F ( w ) = 5* F ( w - l )- 4* F ( w -2) при w > 2.

Чему равно значение функции F(15)?

17) Алгоритм вычисления значения функции F(w), где w - натуральное число, задан следующими соотношениями:

F (1) = 4; F (2) = 5;

F ( w ) = 4* F ( w - l )- 3* F ( w -2) при w > 2.

Чему равно значение функции F(8)?

18) (http://ege.yandex.ru) Алгоритм вычисления значений функций F(w) и Q(w), где w - натуральное число, задан следующими соотношениями:

F (1) = 1; Q (1) = 1;

F(w) = F(w-l) + 2*Q(w-1) при w > 1

Q(w) = Q(w-l) - 2*F(w-1) при w > 1.

Чему равно значение функции F(5)+Q(5)?

19) Алгоритм вычисления значения функции F(w), где w - натуральное число, задан следующими соотношениями:

F (1) = 1; F (2) = 2;

F(w) = 3*F(w-l)- 2*F(w-2) при w > 2.

Чему равно значение функции F(7)?

20) Алгоритм вычисления значения функции F(w), где w - натуральное число, задан следующими соотношениями:

F (1) = 2; F (2) = 4;

F ( w ) = 4* F ( w - l )- 3* F ( w -2) при w > 2.

Чему равно значение функции F(7)?

21) (http://ege.yandex.ru) Алгоритм вычисления значения функции F(n), где n - натуральное число, задан следующими соотношениями:

F (1) = 1; F (2) = 2;

F(n) = 5*F(n-l)- 6*F(n-2) при n > 2.

Чему равно значение функции F(7)?

22) (http://ege.yandex.ru) Алгоритм вычисления значения функции F(n), где n - натуральное число, задан следующими соотношениями:

F (1) = 1; F (2) = 2; F (3) = 3

F ( n ) = F ( n -3)*( n -1)/3 при n > 3.

Чему равно значение функции F(16)?

23) Алгоритм вычисления значений функций F(n) и G(n), где n – натуральное число, задан следующими соотношениями:

F (1) = 2; G (1) = 1;

F ( n ) = F ( n –1) – G ( n –1),

G ( n ) = F ( n –1) + G ( n –1), при n >=2

Чему равно значение величины F(5)/G(5)? В ответе запишите только целое число.

24) Алгоритм вычисления значений функций F(n) и G(n), где n – натуральное число, задан следующими соотношениями:

F (1) = 1; G (1) = 1;

F ( n ) = F ( n –1) – G ( n –1),

G ( n ) = F ( n –1) + 2* G ( n –1), при n >=2

Чему равно значение величины F(5)/G(5)? В ответе запишите только целое число.

25) Алгоритм вычисления значений функций F(n) и G(n), где n – натуральное число, задан следующими соотношениями:

F (1) = 1; G (1) = 1;

F ( n ) = F ( n –1) – 2* G ( n –1),

G ( n ) = F ( n –1) + G ( n –1), при n >=2

Чему равно значение величины G(5)/F(5)? В ответе запишите только целое число.

26) Алгоритм вычисления значений функций F(n) и G(n), где n – натуральное число, задан следующими соотношениями:

F (1) = 1; G (1) = 1;

F ( n ) = 2* F ( n –1) – G ( n –1),

G ( n ) = F ( n –1) + 2* G ( n –1), при n >=2

Чему равно значение величины G(5)+F(5)? В ответе запишите только целое число.

27) Алгоритм вычисления значений функций F(n) и G(n), где n – натуральное число, задан следующими соотношениями:

F (1) = 1; G (1) = 1;

F ( n ) = 2* F ( n –1) – G ( n –1),

G ( n ) = 2* F ( n –1) + G ( n –1), при n >=2

Чему равно значение величины F(5)-G(5)? В ответе запишите только целое число.

28) Алгоритм вычисления значений функций F(n) и G(n), где n – натуральное число, задан следующими соотношениями:

F (1) = 1; G (1) = 1;

F ( n ) = F ( n –1) – 2* G ( n –1),

G ( n ) = F ( n –1) + 2* G ( n –1), при n >=2

Чему равно значение величины G(5)-F(5)? В ответе запишите только целое число.

29) Алгоритм вычисления значений функций F(n) и G(n), где n – натуральное число, задан следующими соотношениями:

F (1) = 1; G (1) = 1;

F ( n ) = 3*F ( n –1) – 2* G ( n –1),

G ( n ) = F ( n –1) + 2* G ( n –1), при n >=2

Чему равно значение величины G(5)-F(5)? В ответе запишите только целое число.

30) Алгоритм вычисления значений функций F(n) и G(n), где n – натуральное число, задан следующими соотношениями:

F (1) = 1; G (1) = 1;

F ( n ) = 3* F ( n –1) – 3 * G ( n –1),

G ( n ) = F ( n –1) + 2* G ( n –1), при n >=2

Чему равно значение величины F(5)-G(5)? В ответе запишите только целое число.

31) Дан рекурсивный алгоритм:

procedure F(n: integer);

Begin

 writeln('*');

 if n > 0 then begin

F(n-2);

 F(n div 2);

 F(n div 2);

End

End;

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

32) Дан рекурсивный алгоритм:

procedure F(n: integer);

Begin

 writeln('*');

 if n > 0 then begin

F(n-2);

F(n-2);

 F(n div 2);

End

End;

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

33) Дан рекурсивный алгоритм:

procedure F(n: integer);

Begin

 writeln('*');

 if n > 0 then begin

F(n-3);

 F(n div 2);

End

End;

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

34) Дан рекурсивный алгоритм:

procedure F(n: integer);

Begin

 writeln('*');

 if n > 0 then begin

F(n-3);

F(n-2);

 F(n div 2);

End

End;

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

35) Дан рекурсивный алгоритм:

procedure F(n: integer);

Begin

 writeln('*');

 if n > 0 then begin

F(n-3);

F(n-2);

 F(n div 2);

 F(n div 2);

End

End;

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

36) Дан рекурсивный алгоритм:

procedure F(n: integer);

Begin

writeln('*');

 if n > 0 then begin

writeln('*');

F(n-2);

 F(n div 2);

End

End;

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

37) Дан рекурсивный алгоритм:

procedure F(n: integer);

Begin

writeln('*');

 if n > 0 then begin

writeln('*');

F(n-2);

 F(n div 2);

 F(n div 2);

End

End;

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

38) Дан рекурсивный алгоритм:

procedure F(n: integer);

Begin

writeln('*');

 if n > 0 then begin

writeln('*');

F(n-2);

F(n-2);

 F(n div 2);

End

end;

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

39) Дан рекурсивный алгоритм:

procedure F(n: integer);

Begin

 if n > 0 then begin

F(n-2);

F(n-1);

  F(n-1);

 end;

 writeln('*');

end;

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

40) Дан рекурсивный алгоритм:

procedure F(n: integer);

Begin

 if n > 0 then begin

writeln('*');

F(n-2);

F(n-1);

  F(n-1);

 end;

 writeln('*');

end;

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

41) Дан рекурсивный алгоритм:

procedure F(n: integer);

Begin

 if n > 1 then begin

F(n-2);

F(n-1);

  F(n div 2);

 end;

 writeln('*');

end ;

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

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)?

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

F (1) = 1,

F ( n ) = F ( n –1) + 2 n -1 , при n > 1

Чему равно значение функции F(12)? В ответе запишите только целое число.

44) Дан рекурсивный алгоритм:

procedure F ( n : integer );

Begin

 writeln(n);

 if n < 6 then begin

F(n+2);

F(n*3)

End

end;

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

45) Дан рекурсивный алгоритм:

procedure F ( n : integer );

Begin

 writeln(n);

 if n < 5 then begin

F(n+2);

F(n* 2 )

End

end;

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

46) Дан рекурсивный алгоритм:

procedure F ( n : integer );

Begin

 writeln(n);

 if n < 5 then begin

F(n+ 3 );

F(n* 3 )

End

end;

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

47) Дан рекурсивный алгоритм:

procedure F ( n : integer );

Begin

 writeln(n);

 if n < 7 then begin

F(n+ 3 );

F(n* 2 )

End

end;

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

48) Дан рекурсивный алгоритм:

procedure F ( n : integer );

Begin

 writeln(n);

 if n < 7 then begin

F(n+ 2 );

F(n +3 )

End

end;

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

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).

50) Дан рекурсивный алгоритм:

procedure F ( n : integer );

Begin

 writeln(n);

 if n < 5 then begin

F(n+1);

F(n + 2);

F(n * 3)

End

end;

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

51) Дан рекурсивный алгоритм:

procedure F ( n : integer );

Begin

 writeln(n);

 if n < 6 then begin

writeln(n);

F(n+2);

F(n*3)

End

end;

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

52) Дан рекурсивный алгоритм:

procedure F ( n : integer );

Begin

 writeln(n);

 if n < 5 then begin

writeln(n);

F(n+3);

F(n*3)

End

end;

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

53) Дан рекурсивный алгоритм:

procedure F ( n : integer );

Begin

 writeln(n);

 if n < 6 then begin

writeln(n);

F(n+2);

F(n+3)

End

end;

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

54) Дан рекурсивный алгоритм:

procedure F ( n : integer );

Begin

 writeln(n);

 if n < 7 then begin

writeln(n);

F(n+1);

F(n+2);

F(n*3)

End

end;

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

55) Дан рекурсивный алгоритм:

procedure F ( n : integer );

Begin

 writeln(n);

 if n < 6 then begin

writeln(n);

F(n+1);

F(n+2);

F(n*2)

End

end ;

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

56) Дан рекурсивный алгоритм:

procedure F ( n : integer );

Begin

 writeln(n);

 if n < 6 then begin

writeln(n);

F(n+1);

F(n*2);

F(n*3)

End

end ;

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

57) Дан рекурсивный алгоритм:

procedure F ( n : integer );

Begin

 writeln(n);

 if n < 7 then begin

writeln(n);

F(n+2);

F(n*2);

F(n*3)

End

end ;

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

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

F ( n ) = 1 при n £ 2;

F(n) = F(n-2)*(n+2) при n > 2.

Чему равно значение функции F(8)?

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

F ( n ) = 1 при n £ 2;

F ( n ) = F ( n -2)*( n +1) при n > 2.

Чему равно значение функции F(7)?

60) Дан рекурсивный алгоритм:

procedure F ( n : integer );

Begin

 writeln(n);

 if n > 0 then begin

F(n-1);

F(n-3)

End

end ;

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

61) Дан рекурсивный алгоритм:

procedure F ( n : integer );

Begin

 writeln(n);

 if n > 1 then begin

F(n-3);

F(n-1)

End

end ;

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

62) Дан рекурсивный алгоритм:

function F(n: integer): integer;

Begin

if n > 2 then

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

Else

F := n;

end ;

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

63) (И. Тощенко) Дан рекурсивный алгоритм:

function F ( n : integer ): integer ;

Begin

if n > 3 then

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

Else

F := n ;

end ;

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

64) (И. Тощенко) Дан рекурсивный алгоритм:

function F(n: integer): integer;

Begin

if n >= 3 then

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

Else

F:= n;

end;

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

65) (И. Тощенко) Дан рекурсивный алгоритм:

function F(n: integer): integer;

Begin

if n < 5 then

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

Else

F:= n;

end;

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

66) (И. Тощенко) Дан рекурсивный алгоритм:

function F(n: integer): integer;

Begin

if n < 5 then

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

Else

F:= n div 2;

end;

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

67) (И. Тощенко) Дан рекурсивный алгоритм:

function F(n: integer): integer;

Begin

if n < 5 then

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

Else

F:= n + 2;

end;

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

68) (И. Тощенко) Дан рекурсивный алгоритм:

function F(n: integer): integer;

Begin

if n < 6 then

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

Else

F:= n*2;

End;

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

69) (И. Тощенко) Дан рекурсивный алгоритм:

function F(n: integer): integer;

Begin

if n > 1 then

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

Else

F:= n + 5;

end;

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

70) Ниже записаны две рекурсивные процедуры, F и G:

procedure F(n: integer); forward;

procedure G(n: integer); forward;

procedure F(n: integer);

Begin

if n > 0 then

G(n - 1);

end;

procedure G(n: integer);

Begin

writeln('*');

if n > 1 then begin

writeln('*');

F(n - 2);

end;

end ;

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

вызова F(13)?

71) Ниже записаны две рекурсивные процедуры, F и G:

procedure F(n: integer); forward;

procedure G(n: integer); forward;

procedure F(n: integer);

Begin

writeln('*');

if n > 0 then

G(n - 1);

end;

procedure G(n: integer);

Begin

writeln('*');

if n > 1 then

F(n - 2);

end ;

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

вызова F(13)?

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

procedure F(n: integer); forward;

procedure G(n: integer); forward;

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)?

73) Ниже записаны две рекурсивные процедуры, F и G:

procedure F(n: integer); forward;

procedure G(n: integer); forward;

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 begin

writeln('*');

F(n - 2);

end;

end ;

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

вызова F(12)?

74) Ниже на записан рекурсивный алгоритм F:

function F(n: integer): integer;

Begin

if n > 2 then

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

Else

F := n;

end;

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

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

procedure F(n: integer); forward;

procedure G(n: integer); forward;

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)?

76) Ниже записаны две рекурсивные функции, F и G:

function F(n: integer): integer;

Begin

if n > 2 then

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

Else

F := 1;

end;

function G(n: integer): integer;

Begin

if n > 2 then

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

Else

G := 1;

end ;

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

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)?

78) (А. Г. Гильдин, Уфа). Вызов представленной ниже рекурсивной функции приводит к появлению на экране чисел и точек. С каким минимальным натуральным аргументом а нужно вызвать эту функцию, чтобы в результате на экране появилось 5 точек (не обязательно подряд, между точками могут встречаться числа)?

Паскаль Си
function gz(a:integer):integer; var p:integer; begin if a<1 then begin gz:=1; exit; end; if a mod 3=0 then begin write('...'); p:=gz(a div 3)+gz(a div 4); end else begin write('.'); p:=gz(a div 4); end; write(p); gz:=2; end; int gz(int a){ int p; if (a < 1) return 1; if (a % 3==0){ printf("..."); p=gz(a / 3) + gz(a / 4); } else { printf("."); p=gz(a / 4); } printf("%i",p); return 2; }

79) Дан рекурсивный алгоритм:

procedure F ( n : integer );

Begin

writeln(n);

if n > 1 then begin

writeln(n);

F(n-2);

F(n-5)

End

end ;

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

80) Дан рекурсивный алгоритм:

procedure F ( n : integer );

Begin

writeln(n);

if n > 1 then begin

writeln(n);

F(n-1);

F(n-4)

End

end ;

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

81) Дан рекурсивный алгоритм:

procedure F ( n : integer );

Begin

writeln(n);

if n > 1 then begin

writeln(n);

F(n-2);

F(n-3)

End

end ;

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

82) Дан рекурсивный алгоритм:

procedure F ( n : integer );

Begin

writeln(n);

if n > 1 then begin

writeln(n);

F(n-1);

F(n-3)

End

end ;

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

83) (С.С. Юнусова) Дан рекурсивный алгоритм:

procedure F(n: integer);

Begin

writeln(n);

if n < 6 then begin

n:= n + 1;

F(n + 1);

F( n*2 );

writeln ( n );

End

End;

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

84) (С.С. Юнусова) Дан рекурсивный алгоритм:

procedure F(n: integer);

Begin

writeln(n);

n:=n+1;

if n < 7 then begin

writeln(n);

F(n + 1);

F(n + 2)

End

end;

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

85) (С.С. Юнусова) Дан рекурсивный алгоритм:

procedure F(n: integer);

Begin

writeln('*');

if n >5 then begin

F(n - 1);

F(n - 3);

writeln('*');

End

Else if n>3 then begin

F(n div 2);

writeln('*');

End

end;

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

86) (С.С. Юнусова) Дан рекурсивный алгоритм:

procedure F(n: integer);

Begin

writeln('*');

if n < 5 then begin

F(n + 3);

writeln('*');

end;

if n <= 3 then begin

F(n + 2);

writeln('*');

end;

end;

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

87) Даны две рекурсивные функции:

function F(n: integer): integer;

Begin

if n > 1 then

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

Else

F := n;

end;

function G(n: integer): integer;

Begin

if n > 1 then

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

Else

G := n;

end;

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

88) Даны две рекурсивные функции:

function F(n: integer): integer;

Begin

if n > 1 then

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

Else

F := n - 1;

end;

function G(n: integer): integer;

Begin

if n > 1 then

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

Else

G := n + 1 ;

end;

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

89) Даны две рекурсивные функции:

function F(n: integer): integer;

Begin

if n > 1 then

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

Else

F := n + 1;

end;

function G(n: integer): integer;

Begin

if n > 1 then

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

Else

G := n - 1;

end;

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

90) Даны две рекурсивные функции:

function F(n: integer): integer;

Begin

if n > 1 then

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

Else

F := n + 1;

end;

function G(n: integer): integer;

Begin

if n > 1 then

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

Else

G := 2* n;

end;

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

91) Даны две рекурсивные функции:

function F(n: integer): integer;

Begin

if n > 1 then

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

Else

F := 2*n;

end;

function G(n: integer): integer;

Begin

if n > 1 then

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

Else

G := n - 2 ;

end;

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

92) Даны две рекурсивные функции:

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 := 2 - n;

end;

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

93) Даны две рекурсивные функции:

function F(n: integer): integer;

Begin

if n > 2 then

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

Else

F := n + 2;

end;

function G(n: integer): integer;

Begin

if n > 2 then

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

Else

G := 3 - n;

end;

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

94) Даны две рекурсивные функции:

function F(n: integer): integer;

Begin

if n > 2 then

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

Else

F := 2;

end;

function G(n: integer): integer;

Begin

if n > 2 then

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

Else

G := 3;

end;

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

95) Даны две рекурсивные функции:

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)?

96) Даны две рекурсивные функции:

function F(n: integer): integer;

Begin

if n > 2 then

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

Else

F := n-1;

end;

function G(n: integer): integer;

Begin

if n > 2 then

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

Else

G := n +1;

end ;

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

97) (Е. Филина-Поликарпова) Что выведет программа при вызове F(5)?

procedure F(n: integer);

Begin

write(n);

if n >= 3 then begin

F(n - 1);

F(n - 3)  

End

end;

98) (Е. Филина-Поликарпова)  Что выведет программа при вызове F(6)?

Procedure F(n: integer);

Begin

write(n);

if n >= 3 then begin

F(n - 1);

F(n - 3)

End

end;

99)  (Е. Филина-Поликарпова)  Что выведет программа при вызове F(5)?

Procedure F(n: integer);

Begin

write(n);

if n >= 3 then begin

F(n - 1);

F(n - 2)

End

end;

100)  (Е. Филина-Поликарпова)  Что выведет программа при вызове F(5)?

Procedure F(n: integer);

Begin

write(n+1);

if n >= 3 then begin

F(n - 3);

F(n - 2);

End

end;

101)  (Е. Филина-Поликарпова)  Что выведет программа при вызове F(5)?

Procedure F(n: integer);

Begin

if n >= 3 then begin

write(n+1);

F(n - 1);

F(n - 2)

End

end;

102)  (Е. Филина-Поликарпова) Что выведет программа при вызове F(7)?

Procedure F(n: integer);

Begin

if n >= 3 then begin

  write(n);

F(n - 3);

F(n - 2)

End

end;

103)  (Е. Филина-Поликарпова) Что выведет программа при вызове F(8)?

Procedure F(n: integer);

Begin

if n > 3 then begin

write(n);

F(n - 3);

F(n - 2)

End

end;

104)  (Е. Филина-Поликарпова) Что выведет программа при вызове F(-1)?

Procedure F(n: integer);

Begin

if n < 3 then begin

  write(n);

F(n + 3);

F(n + 2)

End

end;

 


[1] Источники заданий:

1. Демонстрационные варианты ЕГЭ 2013-2016 гг.

2. Диагностические работы МИОО и Статград.

3. Крылов С.С., Ушаков Д.М. ЕГЭ 2015. Информатика. Тематические тестовые задания. — М.: Экзамен, 2015.

4. Ушаков Д.М. ЕГЭ-2015. Информатика. 20 типовых вариантов экзаменационных работ для подготовки к ЕГЭ. — М.: Астрель, 2014.


Дата добавления: 2019-02-22; просмотров: 332; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!