12. Операторы равенства и неравенства

Оператор равенства - B:=(X1,X2)

Оператор неравенства - B:#(X1,X2),

где на месте X1 и X2 могут стоять константы, числа или означенные переменные. Операторы используются в ЛЧ продукций и определяют их применимость или не применимость:

IF ... B:=(X1,X2) .... THEN ...;

Если X1 и X2 означены, то оператор проверит на равенство их значения.

Продукция будет применимой в случае равенства, а при B:#(X1,X2) - неравенства.

Пример 12.1.

PROD_Q():IF СТУД(_,X1) ОТЛ(X1) THEN ...;

PROD_R():IF СТУД(_,X1) ОТЛ(X2) B:=(X1,X2) THEN ...;

Эти продукции применяются в одних и тех же случаях. Только вторая продукция проделывает большую работу: делает полный перебор студентов и отличников с проверкой их равенства (первая - переборы только студентов и проверку, что выбран отличник).

Пример 12.2.

PROD_S():IF СТУД(_,X1) СТУД(_,X2) B:#(X1,X2) THEN ...;

Продукция применяется, если X1 и X2 имеют разные значения, т.е. выбраны разные студенты. Переменные X1 и X2 означиваются одними и теми же константами независимо. При этом берется первое значение X1=СТ_1 и перебираются все значения X2=СТ_1, СТ_2,... с проверкой на неравенство с X1. Далее берется второе значение X1=СТ_2 и передираются все значения X2=СТ_1, СТ_2,... и т.д. Имеет место цикл в цикле.

Предыдущий раздел|Следующий раздел

- Главная страница -