Страницы

Поиск по вопросам

понедельник, 29 октября 2018 г.

Меняют ли состояние программы операции ветвления?

Многие операции меняют состояние программы через присваивание, приведение и т.д. Меняют ли состояние программы операции ветвления (условные операторы)? Или они просто переводят, в зависимости от некоторых условий, в одну из частей общего состояния?
Я так пониманию состояние программы это вся совокупность вычисляемых и/или используемых значений, потенциально изменчивых и/или постоянных в данный момент работающей программы. Могу конечно ошибаться.


Ответ

Текст программы лучше всего представить себе в виде набора пересекающихся дорог, а состояние выполняющего эту программу процесса — как машину, едущую по этим дорогам.
При этом ветвлениям соответствуют развилки дорог, циклам — круговое движение, и т. д. Любая операция есть продвижение машины по дороге, ветвление — выбор одной из дорог на развилке и продвижение по выбранной дороге.
Таким образом, ветвление не есть состояние, это лишь свойство «дорожной сети», её форма. А вот прохождение программой ветвления, как и любая другая операция, изменяет положение машины на дороге, то есть, состояние программы.

Комментариев нет:

Отправить комментарий