Pascal Решите
procedure F(n: integer);
begin
write(n);
if n >= 3 then
begin
F(n div 2);
F(n - 1)
end
end;
Запишите подряд без пробелов и разделителей все числа, которые будут
выведены на экран при выполнении вызоваF(5). Числа должны быть
записаны в том же порядке, в котором они выводятся на экран
1. Вызываем процедуру F(5).
2. Выводим на экран число 5.
3. Проверяем, является ли 5 больше или равным 3. Это условие истинно, поэтому выполняем следующий код внутри блока begin...end.
4. Вызываем процедуру F(5 div 2), что равно F(2).
5. Выводим на экран число 2.
6. Проверяем, является ли 2 больше или равным 3. Это условие ложно, поэтому не выполняем следующий код внутри блока begin...end.
7. Выходим из процедуры F(2) и возвращаемся к вызывающей процедуре, т.е. к процедуре F(5).
8. Вызываем процедуру F(5 - 1), что равно F(4).
9. Выводим на экран число 4.
10. Проверяем, является ли 4 больше или равным 3. Это условие истинно, поэтому выполняем следующий код внутри блока begin...end.
11. Вызываем процедуру F(4 div 2), что равно F(2).
12. Выводим на экран число 2.
13. Проверяем, является ли 2 больше или равным 3. Это условие ложно, поэтому не выполняем следующий код внутри блока begin...end.
14. Выходим из процедуры F(2) и возвращаемся к вызывающей процедуре, т.е. к процедуре F(4).
15. Вызываем процедуру F(4 - 1), что равно F(3).
16. Выводим на экран число 3.
17. Проверяем, является ли 3 больше или равным 3. Это условие истинно, поэтому выполняем следующий код внутри блока begin...end.
18. Вызываем процедуру F(3 div 2), что равно F(1).
19. Выводим на экран число 1.
20. Проверяем, является ли 1 больше или равным 3. Это условие ложно, поэтому не выполняем следующий код внутри блока begin...end.
21. Выходим из процедуры F(1) и возвращаемся к вызывающей процедуре, т.е. к процедуре F(3).
22. Возвращаемся к вызывающей процедуре, т.е. к процедуре F(4).
23. Возвращаемся к вызывающей процедуре, т.е. к процедуре F(5).
24. Весь код выполнен, завершаем выполнение программы.
Таким образом, при выполнении вызова F(5) на экран будет выведена последовательность чисел: 5 2 4 2 3 1.