Предмет: Информатика, автор: 23ewweswd

Паскаль: 43 - Рекурсивные алгоритмы Помогите, что знаете, хотя бы на 3 задания
2. Алгоритм вычисления значения функции F(n), где n - натуральное число, задан следующими соотношениями:
F(0) = 1, F(1) = 1
F(n) = F(n-1)+F(n-2), при n > 1
Чему равно значение функции F(7)?
3. Алгоритм вычисления значения функции F(n), где n - натуральное число, задан следующими соотношениями:
F(0) = 1, F(1) = 1
F(n) = F(n-1)*F(n-2)+2, при n > 1
Чему равно значение функции F(5)?
5. Дан рекурсивный алгоритм:
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)?
6. Дан рекурсивный алгоритм:
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)?
7. Дан рекурсивный алгоритм:
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)?

Ответы

Автор ответа: pinguinbird
0

Задание 2.

program prog;

function F(n:integer):integer;

begin

   if n<=1 then F:=1

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

end;

begin

   write(F(7))

end.

Вывод программы: 21

Задание 3.

program prog;

function F(n:integer):integer;

begin

   if n<=1 then F:=1

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

end;

begin

   write(F(5))

end.

Вывод программы: 87

Задание 5.

program prog;

procedure F(n:integer);

begin

   write('*');

   if n > 0 then begin

       F(n-2);

       F(n-2);

       F(n div 2);

   end

end;

begin

   F(5);

end.

Вывод программы (34 звёздочки):

**********************************

Задание 6.

program prog;

procedure F(n: integer);

begin

   write('*');

   if n > 0 then begin

       F(n-3);

       F(n-2);

       F(n div 2);

       F(n div 2);

   end

end;

begin

   F(6);

end.

Вывод программы (97 звёздочек):

*************************************************************************************************

Задание 7.

program prog;

procedure F(n: integer);

begin

   write('*');

   if n > 0 then begin

       write('*');

       F(n-2);

       F(n-2);

       F(n div 2);

   end

end;

begin

   F(6);

end.

Вывод программы (77 звёздочек):

*****************************************************************************

Похожие вопросы
Предмет: Русский язык, автор: Ignis33
Предмет: Другие предметы, автор: АЙЗАДА170708