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

!!!Определите, что выведет на экран программа при вызове F(5).

procedure F(n: integer); forward;

procedure G(n: integer); forward;

procedure F(n: integer);

begin

if n > 2 then

begin

write(n);

F(n - 1);

G(n - 2);

end

else

write(n+2);

end;

procedure G(n: integer);

begin

write(n);

if n > 2 then

begin

G(n - 1);

F(n - 2);

end;

end;

Ответы

Автор ответа: Аноним
0

Ответ:

Ответ:

1234151

Объяснение:

процедура F(n):

если n > 0, то

1. вызов процедуры F(n-1)

2. вывод n

3. вызов процедуры F(n div 4)

1)  F(5)         n = 5

5 > 0      Да

1.  F (4)     5 - 1 = 4

2)  F(4)         n = 4

4 > 0      Да

1.  F (3)     4 - 1 = 3

3)  F(3)         n = 3

3 > 0      Да

1.  F (2)     3 - 1 = 2

4)  F(2)         n = 2

2 > 0      Да

1.  F (1)     2 - 1 = 1

5)  F(1)         n = 1

1 > 0      Да

1.  F (0)     1 - 1 = 0

6)  F(0)         n = 0

0 > 0      НЕТ

возвращаемся к пункту 5

5)  F(1)         n = 1

2.  вывод 1

3.  F(0)     1 div 4 = 0

7) F(0)         n = 0

0 > 0      НЕТ

возвращаемся к пункту 5

5)  F(1)         n = 1

пункт 5 закончен

возвращаемся к пункту 4

4)  F(2)         n = 2

2.  вывод 2

3.  F(0)     2 div 4 = 0

8) F(0)         n = 0

0 > 0      НЕТ

возвращаемся к пункту 4

4)  F(2)         n = 2

пункт 4 закончен

возвращаемся к пункту 3

3)  F(3)         n = 3

2.  вывод 3

3.  F(0)     3 div 4 = 0

9) F(0)         n = 0

0 > 0      НЕТ

возвращаемся к пункту 3

3)  F(3)         n = 3

пункт 3 закончен

возвращаемся к пункту 2

2)  F(4)         n = 4

2.  вывод 4

3.  F(1)     4 div 4 = 1

10) F(1)         n = 1

1 > 0      Да

1.  F(0)       1 - 1 = 0

11) F(0)         n = 0

0 > 0      НЕТ

возвращаемся к пункту 10

10) F(1)         n = 1

2.  вывод 1

3.  F(0)     1 div 4 = 0

12) F(0)         n = 0

0 > 0      НЕТ

возвращаемся к пункту 10

10) F(1)         n = 1

пункт 10 закончен

возвращаемся к пункту 2

2)  F(4)         n = 4

пункт 2 закончен

возвращаемся к пункту 1

1)  F(5)         n = 5

2.  вывод 5

3.  F(1)     5 div 4 = 1

13) F(1)         n = 1

2.  вывод 1

3.  F(0)     1 div 4 = 0

14) F(0)         n = 0

0 > 0      НЕТ

возвращаемся к пункту 13

13) F(1)         n = 1

пункт 13 закончен

возвращаемся к пункту 1

1)  F(5)         n = 5

пункт 1 закончен

программа закончена

Похожие вопросы
Предмет: Математика, автор: хасаевадженнет
Предмет: Алгебра, автор: marinavolodina3