Основы построения и функционирования интеллектуальных информационных систем. Былкин В.Д - 100 стр.

UptoLike

100
BEGIN
curr_object:=find_object(f_object);
IF (curr_objec=NIL) THEN make_node(curr_object);
curr_object^.name:f_object;
curr_object^. sought :=TRUE;
value_list:-test(f_object,f_vaIue); IF(value_Iist=NIL)
THEN BEGIN head:=curr_object^.value_list;
new(value_list);
WITH value_list^ DO BEGIN
next:=head;
cert:=0
;setby :=";
name:=f_yalue;
END;
curr_object^. value_list:=value_list;
END
END;
Вывод списка значений
Экспертная система должна обладать возможностью выгода полного списка всех значений и
объектов базы знаний. Следующий модуль, SEE_VALS, с помощью указателя объекта выводит на
экран дисплея все имена значений, содержащиеся в списке значений узла объекта. Сначала
процедура находит указанный узел объекта, а затем перебирает имена в списке значений.
PROCEDURE see_vals(curr_object:object_ptr;cf_on:boolean);
VAR
curr_value:val
ue_ptr; cf:
integer;
bes:string[80];
BEGIN
curr_value:=-curr_obj ect
A
. val ue list;
bes:=curr_object^.name+EQUALS;
if(curr_value=NIL) THEN ShowMessage('He определено');
WHILE (curr_value<>NIL) DO BEGIN
bes:=bes+curr_value^.name;
 BEGIN
curr_object:=find_object(f_object);
 IF (curr_objec=NIL) THEN make_node(curr_object);
curr_object^.name:f_object;
curr_object^. sought :=TRUE;
value_list:-test(f_object,f_vaIue); IF(value_Iist=NIL)
THEN BEGIN head:=curr_object^.value_list;
new(value_list);
 WITH value_list^ DO BEGIN
next:=head;
 cert:=0
;setby :=";
 name:=f_yalue;
 END;
curr_object^. value_list:=value_list;
END
 END;
                                           Вывод списка значений
       Экспертная система должна обладать возможностью выгода полного списка всех значений и
объектов базы знаний. Следующий модуль, SEE_VALS, с помощью указателя объекта выводит на
экран дисплея все имена значений, содержащиеся в списке значений узла объекта. Сначала
процедура находит указанный узел объекта, а затем перебирает имена в списке значений.
PROCEDURE see_vals(curr_object:object_ptr;cf_on:boolean);
VAR
curr_value:val
ue_ptr; cf:
integer;
bes:string[80];
 BEGIN
curr_value:=-curr_obj ectA. val ue list;
bes:=curr_object^.name+EQUALS;
if(curr_value=NIL) THEN ShowMessage('He определено');
WHILE (curr_value<>NIL) DO BEGIN
bes:=bes+curr_value^.name;




                                                   100