11.11.2013, 16:23. Просмотров 266. Ответов 3
1.2 Язык булевских операций
< символ > : := < буква > | < код > | < знак > | <разделитель>| < цифра >
< знак > : := v | -> | + | * | ^
< разделитель > : := ; | : | | =
< код > : := последовательность из 8 нулей и единиц
< переменная > : := < иден > | < код >
< оператор > : := < иден > := < переменная > | < иден> := < переменная> < знак > < переменная >
Выполнение оператора : вычислить код по правой части (справа от := ) и присвоить его идентификатору левой части. Вычисление кода производится взятием поразрядной операции над двумя кодами (либо простым присваиванием без вычисления). Операции обозначены: “v” - дизъюнкция, “^”- конъюнкция, “+”- сложение по модулю 2, “->”- импликация, “*” - операция Шеффера (1*1 = 0 и a * b = 1, если a или b равно 0).
Пример языковой программы:
A1 := 11001010; Б18 := 01011111; X := A1 * Б18; Y := Б18 A1;
A1 := X + 11110011;
Дополнительные правила:
з) длина кода равна 8 знакам 0 и 1;
и) в правой части либо ни одного знака, либо один знак операции.
0
|