1.2.2. ПРЕДСТАВЛЕНИЕ ДАННЫХ В ВИДЕ ОБЪЕКТНЫХ ВЫРАЖЕНИЙ Объектные выражения особенно удобны для представления символьных (т.е. не чисто числовых) данных.
Пусть, например, мы хотим выбрать представление в виде объектных выражений для алгебраических формул. Нам нужно уметь представлять константы, переменные и формулы, которые получаются
в результате применения бинарной операции к двум более простым формулам. Обозначим через [p] объектное выражение, которое является представлением формулы p. Тогда мы можем считать, что представлением целых чисел являются соответствующие символы-числа, представлением переменных являются соответствующие символы-слова, а для бинарных операций имеют место соотношения
[p+q] = ("плюс" [p] [q])
[p-q] = ("минус" [p] [q])
[pхq] = ("умн" [p] [q])
[p/q] = ("дел" [p] [q])
q |
[ p ] = ("степ" [p] [q]) |
Таким образом, формула
(X+Y?)-512
представляется в виде("минус" ("плюс" X ("степ" Y 2)) 512)
В качестве другого примера рассмотрим представление шахматной позиции в виде объектного выражения. Первым делом нужно обозначить название и цвет каждой фигуры. Например, ("бел" "Король"), ("черн" "пешка"). Затем нужно указать поле каждой фигуры. Например,("e" 2), ("h" 7). Теперь мы можем представить всю позицию в виде последовательности объектных термов, каждый из которых содержит имя и цвет фигуры, а также ее поле. Например,(("бел" "Король") ("g" 5))
(("черн" "Король") ("a" 7))
(("бел" "Пешка") ("c" 6))
(("бел" "Конь") ("g" 1))
(("черн" "Конь") ("a" 8))