М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
VodDamirVod
VodDamirVod
31.03.2022 23:03 •  Информатика

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.
4,5(88 оценок)
Проверить ответ в нейросети
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ