Решение (вариант 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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!