ВУЗ:
Составители:
108
другое - метод УВС. Затем программа строит обратную цепочку для проверки фактов каждой
предпосылки.
Программа продвигается таким образом до тех пор, пока не будут исчерпаны все
подходящие правила.
Программные модули для машины вывода
В этой части мы введем четыре новых модуля для анализа правил с помощью машины
вывода.
FIND_RULE будет просматривать список правил в поисках первого правила, содержащего
объект, значение которого устанавливается в данный момент,
CONCLUDE осуществляет заключения правила.
PURSUE обрабатывает имя объекта и пытается применить правила для присвоения объекту
значения.
P_RESULT обеспечивает вывод на экран результатов консультации.
Поиск подходящего правила
Эта функция отыскивает правило, содержащее в правой части имя заданного объекта. Ока
применяет указатель заключения curr_con для просмотра списка правил до совпадения имени
объекта с заданным. Если соответствующий объект найден, функция принимает значение TRUE.
FUNCTION fmd_rule(obj: word_string;curr_rule:rule_ptr) :rule_ptr;
VAR
found: boolean;
curr_con:con_ptr;
BEGIN
found-FALSE;
find_rule;=NlL;
WHILE ((curr_rule<>NIL) AND (found =FALSE)) DO
BEGIN
curr_con:= curr__ruIe^.con;
WHILE (curr„con<>NIL) DO
BEGIN
IF (curr_con^.object=obj) THEN
BEGIN
found :=TRUE;
другое - метод УВС. Затем программа строит обратную цепочку для проверки фактов каждой
предпосылки.
Программа продвигается таким образом до тех пор, пока не будут исчерпаны все
подходящие правила.
Программные модули для машины вывода
В этой части мы введем четыре новых модуля для анализа правил с помощью машины
вывода.
FIND_RULE будет просматривать список правил в поисках первого правила, содержащего
объект, значение которого устанавливается в данный момент,
CONCLUDE осуществляет заключения правила.
PURSUE обрабатывает имя объекта и пытается применить правила для присвоения объекту
значения.
P_RESULT обеспечивает вывод на экран результатов консультации.
Поиск подходящего правила
Эта функция отыскивает правило, содержащее в правой части имя заданного объекта. Ока
применяет указатель заключения curr_con для просмотра списка правил до совпадения имени
объекта с заданным. Если соответствующий объект найден, функция принимает значение TRUE.
FUNCTION fmd_rule(obj: word_string;curr_rule:rule_ptr) :rule_ptr;
VAR
found: boolean;
curr_con:con_ptr;
BEGIN
found-FALSE;
find_rule;=NlL;
WHILE ((curr_rule<>NIL) AND (found =FALSE)) DO
BEGIN
curr_con:= curr__ruIe^.con;
WHILE (curr„con<>NIL) DO
BEGIN
IF (curr_con^.object=obj) THEN
BEGIN
found :=TRUE;
108
Страницы
- « первая
- ‹ предыдущая
- …
- 106
- 107
- 108
- 109
- 110
- …
- следующая ›
- последняя »
