42 Глава 3. Структурированные программы
Семантика программ будет определяться через понятие состояния.
Определение 3.10. (Состояние) Состояние — частичное отобра-
жение множества переменных в предметную область. Значение пе-
ременной x на состоянии σ — σx.
Пример 3.8. Например, если множество переменных
V ⊇ {x, y, z},
то следующие отображения будут состояниями:
σ
1
= {(x, 1) , (y, 2) , (z, 0)},
σ
2
= {(x, 100) , (y, 50) , (z, 75)}.
Для обозначения состояний мы будем использовать буквы σ, τ, ρ, π,
возможно, с индексами.
Определение 3.11. (Состояние программы) Состояние σ называ-
ется состоянием программы Π, если
dom σ ⊇ Var (Π) .
Иначе говоря, всем переменным, которые встречаются в программе Π,
состояние σ приписывает некоторые значения.
В дальнейшем, говоря о каких-либо состоянии σ и программе Π мы все-
гда считаем, что σ — состояние Π.
Задача 3.5. Определите, будут ли состояния из примера 3.8 состоя-
ниями программ из примера 3.5 на стр. 35.
Сначала определим семантику выражений.
Определение 3.12. (Значение выражения) Пусть e — выражение,
σ — состояние. Значением выражения e на состоянии σ (обозначается
σ (e)) называется элемент предметной области, который определяет-
ся следующим образом.
1. Если e ∼ x, где x — переменная, то σ (e) = σx.
2. Если e ∼ c, где c — константа, то σ (e) = c.