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

Паскаль
procedure F(n: integer);
begin
if n <= 5 then
begin
F(n + 2);
writeln (n);
F(n + 3)
end
end

Чему равна сумма всех чисел, напечатанных на экране при выполнении
вызова F(l)? (И КАК)

Ответы

Автор ответа: Аноним
0
Ответ: 13.
А получается он вот так:

procedure F(n:integer);
begin
  Writeln('Вызов F(',n,')');
  if n <= 5 then begin
    F(n + 2);
    writeln('Процедура вывела ',n);
    F(n + 3)
    end
end;

begin
  f(1)
end.

Результат работы программы:
Вызов F(1)
Вызов F(3)
Вызов F(5)
Вызов F(7)
Процедура вывела 5
Вызов F(8)
Процедура вывела 3
Вызов F(6)
Процедура вывела 1
Вызов F(4)
Вызов F(6)
Процедура вывела 4
Вызов F(7)


Автор ответа: Mariiaaa
0
Откуда от Вызов F(8)
Процедура вывела 3? а от Вызов F(4)
Вызов F(6)
Процедура вывела 4
Автор ответа: Аноним
0
Откуда? От рекурсии, конечно же!
Похожие вопросы
Предмет: Математика, автор: akhmetovaaymzhan01
Предмет: Математика, автор: baishanovasanali11
Предмет: Математика, автор: стрелец7