ВУЗ:
Составители:
183
Продолжение при л .
{проверяет истинность отдельного факта}
FUNCTION test(f_object,f_value;word_string) :value_ptr; VAR
curr_object
:object_ptr;
curr_value:value_ptr;
BEGIN
curr_object: =find_object(f_object);
test:=NIL;
IF (curr_object<>NIL) THEN BEGIN
curr_value:=curr_object^.vaIue_Iist;
WHILE (curr_value<>NIL) DO BEGIN
IF (curr_value.name=f_value) THEN
test:=curr_value;
curr_value:=curr_value^.next END
END
END;
{позволяет добавлять в базу знаний имена объекта и значения}
PROCEDURE add_object(f_object,f_value:word_string);
VAR
cur r_object: object_ptr;
value_list,
head:value_ptr;
BEGIN
curr_object:=find_object(f_object);
IF (curr_object=NIL) THEN
make_node(curr__object);
curr_object^/name:=f_object;
cur_object^.sought:=TRUE;
value_list:=test(f_object f_value);
IF(value_list=NIL) THEN BEGIN
head :=curr__object^. value_list;
new(value_list);
WITH value_list DO BEGIN
next:=head;
Продолжение при л . {проверяет истинность отдельного факта} FUNCTION test(f_object,f_value;word_string) :value_ptr; VAR curr_object :object_ptr; curr_value:value_ptr; BEGIN curr_object: =find_object(f_object); test:=NIL; IF (curr_object<>NIL) THEN BEGIN curr_value:=curr_object^.vaIue_Iist; WHILE (curr_value<>NIL) DO BEGIN IF (curr_value.name=f_value) THEN test:=curr_value; curr_value:=curr_value^.next END END END; {позволяет добавлять в базу знаний имена объекта и значения} PROCEDURE add_object(f_object,f_value:word_string); VAR cur r_object: object_ptr; value_list, head:value_ptr; BEGIN curr_object:=find_object(f_object); IF (curr_object=NIL) THEN make_node(curr__object); curr_object^/name:=f_object; cur_object^.sought:=TRUE; value_list:=test(f_object f_value); IF(value_list=NIL) THEN BEGIN head :=curr__object^. value_list; new(value_list); WITH value_list DO BEGIN next:=head; 183
Страницы
- « первая
- ‹ предыдущая
- …
- 181
- 182
- 183
- 184
- 185
- …
- следующая ›
- последняя »