ВУЗ:
Составители:
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
- …
- следующая ›
- последняя »
