Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Prolog
Перезагрузить страницу Экспертная система
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
leonora leonora вне форума
Новичок
 
Сообщений: 19
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 21.05.2007
По умолчанию 18.12.2007, 19:56

Попыталась упростить систему по поиску животных ,но не работает,не могу найти ошибки.Прога на VIP 7.0.Помогите плиз!
Код:
implement geni1
open core, console, string

constants
   className = "geni1".
   classVersion = "".

clauses
   classInfo(className, classVersion).

domains
  i = integer.
  s = string.
  c = char.
  li = i* .


class facts - dBgeni
  cond : (i,s).
  rule : (s,li).


class facts - tmp
 cond_is: (i,c).
  
class predicates
  start:() nondeterm.
  animals : () nondeterm.
  check : (li) determ.
  test_cond : (i).
  read_true_char:©.
  test : (c,c).


clauses
start:-consult("geni.txt",dBgeni),
      
       write("Загадай животное а я попробую отгадать"),nl,
        
       animals, /* попытка отгадать загаданное животное */
       retractall(_,tmp), /* очищаем текущую 
          информацию */
       retractall(_,dBgeni), 
                  /* очищаем информацию об известных 
          животных и свойствах */
       nl,nl,write("Хотите ещё раз сыграть?1-да,2-нет"),nl,nl,
      
       read_true_char©,
       C='1',!,start. 
start:–
       nl,nl,write("Всего доброго! До новых встреч"),
       readchar(_).
animals:–
        rule(X,L),
        check(L),
        nl,write("Я думаю, это ",X).
 animals:–
        nl,write("Я не знаю, что это за животное"),nl.
check([H|T]):–
             test_cond(H), 
             check(T).
check([]).
test_cond(H):-
              cond_is(H,'1'),!. 
test_cond(H):–
              cond_is(H,'2'),!,
              fail. 
test_cond(H):– 
              cond(H,S),
              nl,write("Оно ",S,"? (1 — да, 2 — нет)"),
              assert(cond_is(H,A)),
              test_cond(H).
read_true_char©:–
        readchar(C1),
        test(C1,C).
test(C,C):–
           '1'<=C,C<='2',!.
test(_,C):–
           write("Нажмите 1 или 2!"),nl,
           readchar(C1),
           test(C1,C). 

%run():- 
%    init(),
% Chose knowledgebase
   %   file::consult("geni.txt",dBgeni).
%   file::consult("vacation.txt",dBgeni),
    
  
end implement geni1
%goal
   %mainExe::run(geni1::run).

и база
cond(1,"кормит детенышей молоком").
cond(2,"имеет перья").
cond(3,"плавает").
cond(4,"ест мясо").
cond(5,"имеет копыта").
cond(6,"летает").
cond(7,"откладывает яйца").
cond(8,"имеет шерсть").
cond(9,"имеет полосы").
cond(10,"имеет пятна").
cond(11,"имеет черно-белую окраску").
cond(12,"имеет длинную шею").
cond(13,"имеет длинные ноги").
cond(14,"имеет щупальца").
rule("гепард",[1,4,8,10]).
rule("тигр",[1,4,8,9]).
rule("жираф",[1,5,8,10,12,13]).
rule("зебра",[1,5,8,9,11]).
rule("страус",[2,14]).
rule("пингвин",[2,3,11]).
rule("орел",[2,6]).
rule("кит",[1,3,11]).
rule("осьминог",[3,14]).
Ответить с цитированием
  (#2 (permalink)) Старый
leonora leonora вне форума
Новичок
 
Сообщений: 19
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 21.05.2007
По умолчанию 18.12.2007, 19:56

Попыталась упростить систему по поиску животных ,но не работает,не могу найти ошибки.Прога на VIP 7.0.Помогите плиз!
Код:
implement geni1
open core, console, string

constants
   className = "geni1".
   classVersion = "".

clauses
   classInfo(className, classVersion).

domains
  i = integer.
  s = string.
  c = char.
  li = i* .


class facts - dBgeni
  cond : (i,s).
  rule : (s,li).


class facts - tmp
 cond_is: (i,c).
  
class predicates
  start:() nondeterm.
  animals : () nondeterm.
  check : (li) determ.
  test_cond : (i).
  read_true_char:©.
  test : (c,c).


clauses
start:-consult("geni.txt",dBgeni),
      
       write("Загадай животное а я попробую отгадать"),nl,
        
       animals, /* попытка отгадать загаданное животное */
       retractall(_,tmp), /* очищаем текущую 
          информацию */
       retractall(_,dBgeni), 
                  /* очищаем информацию об известных 
          животных и свойствах */
       nl,nl,write("Хотите ещё раз сыграть?1-да,2-нет"),nl,nl,
      
       read_true_char©,
       C='1',!,start. 
start:–
       nl,nl,write("Всего доброго! До новых встреч"),
       readchar(_).
animals:–
        rule(X,L),
        check(L),
        nl,write("Я думаю, это ",X).
 animals:–
        nl,write("Я не знаю, что это за животное"),nl.
check([H|T]):–
             test_cond(H), 
             check(T).
check([]).
test_cond(H):-
              cond_is(H,'1'),!. 
test_cond(H):–
              cond_is(H,'2'),!,
              fail. 
test_cond(H):– 
              cond(H,S),
              nl,write("Оно ",S,"? (1 — да, 2 — нет)"),
              assert(cond_is(H,A)),
              test_cond(H).
read_true_char©:–
        readchar(C1),
        test(C1,C).
test(C,C):–
           '1'<=C,C<='2',!.
test(_,C):–
           write("Нажмите 1 или 2!"),nl,
           readchar(C1),
           test(C1,C). 

%run():- 
%    init(),
% Chose knowledgebase
   %   file::consult("geni.txt",dBgeni).
%   file::consult("vacation.txt",dBgeni),
    
  
end implement geni1
%goal
   %mainExe::run(geni1::run).

и база
cond(1,"кормит детенышей молоком").
cond(2,"имеет перья").
cond(3,"плавает").
cond(4,"ест мясо").
cond(5,"имеет копыта").
cond(6,"летает").
cond(7,"откладывает яйца").
cond(8,"имеет шерсть").
cond(9,"имеет полосы").
cond(10,"имеет пятна").
cond(11,"имеет черно-белую окраску").
cond(12,"имеет длинную шею").
cond(13,"имеет длинные ноги").
cond(14,"имеет щупальца").
rule("гепард",[1,4,8,10]).
rule("тигр",[1,4,8,9]).
rule("жираф",[1,5,8,10,12,13]).
rule("зебра",[1,5,8,9,11]).
rule("страус",[2,14]).
rule("пингвин",[2,3,11]).
rule("орел",[2,6]).
rule("кит",[1,3,11]).
rule("осьминог",[3,14]).
Ответить с цитированием
  (#3 (permalink)) Старый
leonora leonora вне форума
Новичок
 
Сообщений: 19
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 21.05.2007
По умолчанию 18.12.2007, 19:56

Попыталась упростить систему по поиску животных ,но не работает,не могу найти ошибки.Прога на VIP 7.0.Помогите плиз!
Код:
implement geni1
open core, console, string

constants
   className = "geni1".
   classVersion = "".

clauses
   classInfo(className, classVersion).

domains
  i = integer.
  s = string.
  c = char.
  li = i* .


class facts - dBgeni
  cond : (i,s).
  rule : (s,li).


class facts - tmp
 cond_is: (i,c).
  
class predicates
  start:() nondeterm.
  animals : () nondeterm.
  check : (li) determ.
  test_cond : (i).
  read_true_char:©.
  test : (c,c).


clauses
start:-consult("geni.txt",dBgeni),
      
       write("Загадай животное а я попробую отгадать"),nl,
        
       animals, /* попытка отгадать загаданное животное */
       retractall(_,tmp), /* очищаем текущую 
          информацию */
       retractall(_,dBgeni), 
                  /* очищаем информацию об известных 
          животных и свойствах */
       nl,nl,write("Хотите ещё раз сыграть?1-да,2-нет"),nl,nl,
      
       read_true_char©,
       C='1',!,start. 
start:–
       nl,nl,write("Всего доброго! До новых встреч"),
       readchar(_).
animals:–
        rule(X,L),
        check(L),
        nl,write("Я думаю, это ",X).
 animals:–
        nl,write("Я не знаю, что это за животное"),nl.
check([H|T]):–
             test_cond(H), 
             check(T).
check([]).
test_cond(H):-
              cond_is(H,'1'),!. 
test_cond(H):–
              cond_is(H,'2'),!,
              fail. 
test_cond(H):– 
              cond(H,S),
              nl,write("Оно ",S,"? (1 — да, 2 — нет)"),
              assert(cond_is(H,A)),
              test_cond(H).
read_true_char©:–
        readchar(C1),
        test(C1,C).
test(C,C):–
           '1'<=C,C<='2',!.
test(_,C):–
           write("Нажмите 1 или 2!"),nl,
           readchar(C1),
           test(C1,C). 

%run():- 
%    init(),
% Chose knowledgebase
   %   file::consult("geni.txt",dBgeni).
%   file::consult("vacation.txt",dBgeni),
    
  
end implement geni1
%goal
   %mainExe::run(geni1::run).

и база
cond(1,"кормит детенышей молоком").
cond(2,"имеет перья").
cond(3,"плавает").
cond(4,"ест мясо").
cond(5,"имеет копыта").
cond(6,"летает").
cond(7,"откладывает яйца").
cond(8,"имеет шерсть").
cond(9,"имеет полосы").
cond(10,"имеет пятна").
cond(11,"имеет черно-белую окраску").
cond(12,"имеет длинную шею").
cond(13,"имеет длинные ноги").
cond(14,"имеет щупальца").
rule("гепард",[1,4,8,10]).
rule("тигр",[1,4,8,9]).
rule("жираф",[1,5,8,10,12,13]).
rule("зебра",[1,5,8,9,11]).
rule("страус",[2,14]).
rule("пингвин",[2,3,11]).
rule("орел",[2,6]).
rule("кит",[1,3,11]).
rule("осьминог",[3,14]).
Ответить с цитированием
  (#4 (permalink)) Старый
leonora leonora вне форума
Новичок
 
Сообщений: 19
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 21.05.2007
По умолчанию 18.12.2007, 20:06

вот ошибки


C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(56,6) : error c161: Syntax error: '.' is expected
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(56,7) : error c117: Unexpected character with code 0x2013
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(59, : error c161: Syntax error: '.' is expected
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(59,9) : error c117: Unexpected character with code 0x2013
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(63,9) : error c161: Syntax error: '.' is expected
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(63,10) : error c117: Unexpected character with code 0x2013
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(65,13) : error c161: Syntax error: '.' is expected
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(65,14) : error c117: Unexpected character with code 0x2013
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(71,13) : error c161: Syntax error: '.' is expected
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(71,14) : error c117: Unexpected character with code 0x2013
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(74,13) : error c161: Syntax error: '.' is expected
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(74,14) : error c117: Unexpected character with code 0x2013
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(79,18) : error c161: Syntax error: '.' is expected
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(79,19) : error c117: Unexpected character with code 0x2013
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(82,10) : error c161: Syntax error: '.' is expected
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(82,11) : error c117: Unexpected character with code 0x2013
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(84,10) : error c161: Syntax error: '.' is expected
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(84,11) : error c117: Unexpected character with code 0x2013
Ответить с цитированием
  (#5 (permalink)) Старый
leonora leonora вне форума
Новичок
 
Сообщений: 19
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 21.05.2007
По умолчанию 18.12.2007, 20:06

вот ошибки


C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(56,6) : error c161: Syntax error: '.' is expected
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(56,7) : error c117: Unexpected character with code 0x2013
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(59, : error c161: Syntax error: '.' is expected
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(59,9) : error c117: Unexpected character with code 0x2013
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(63,9) : error c161: Syntax error: '.' is expected
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(63,10) : error c117: Unexpected character with code 0x2013
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(65,13) : error c161: Syntax error: '.' is expected
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(65,14) : error c117: Unexpected character with code 0x2013
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(71,13) : error c161: Syntax error: '.' is expected
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(71,14) : error c117: Unexpected character with code 0x2013
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(74,13) : error c161: Syntax error: '.' is expected
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(74,14) : error c117: Unexpected character with code 0x2013
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(79,18) : error c161: Syntax error: '.' is expected
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(79,19) : error c117: Unexpected character with code 0x2013
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(82,10) : error c161: Syntax error: '.' is expected
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(82,11) : error c117: Unexpected character with code 0x2013
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(84,10) : error c161: Syntax error: '.' is expected
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(84,11) : error c117: Unexpected character with code 0x2013
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
leonora leonora вне форума
Новичок
 
Сообщений: 19
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 21.05.2007
По умолчанию 18.12.2007, 20:06

вот ошибки


C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(56,6) : error c161: Syntax error: '.' is expected
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(56,7) : error c117: Unexpected character with code 0x2013
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(59, : error c161: Syntax error: '.' is expected
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(59,9) : error c117: Unexpected character with code 0x2013
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(63,9) : error c161: Syntax error: '.' is expected
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(63,10) : error c117: Unexpected character with code 0x2013
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(65,13) : error c161: Syntax error: '.' is expected
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(65,14) : error c117: Unexpected character with code 0x2013
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(71,13) : error c161: Syntax error: '.' is expected
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(71,14) : error c117: Unexpected character with code 0x2013
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(74,13) : error c161: Syntax error: '.' is expected
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(74,14) : error c117: Unexpected character with code 0x2013
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(79,18) : error c161: Syntax error: '.' is expected
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(79,19) : error c117: Unexpected character with code 0x2013
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(82,10) : error c161: Syntax error: '.' is expected
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(82,11) : error c117: Unexpected character with code 0x2013
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(84,10) : error c161: Syntax error: '.' is expected
C:\Documents and Settings\Владелец\Мои документы\Visual Prolog Projects\geni1\geni1.pro(84,11) : error c117: Unexpected character with code 0x2013
Ответить с цитированием
  (#7 (permalink)) Старый
Alison Alison вне форума
Member
 
Сообщений: 4,781
Сказал(а) спасибо: 0
Поблагодарили 119 раз(а) в 116 сообщениях
Регистрация: 17.11.2004
По умолчанию 19.12.2007, 19:14

Вы, судя по всему, копировали из Турбо Пролога.
Исправьте знаки :- (заново их наберите, т.к. там символы не те у Вас).
Потом, нульарные предикаты пишутся со скобками: не animals, а animals() - и так для всех.
Дальше, не readchar( С), а C=readchar().

Ну и так далее, это первое, что бросается в глаза.
Ответить с цитированием
  (#8 (permalink)) Старый
Alison Alison вне форума
Member
 
Сообщений: 4,781
Сказал(а) спасибо: 0
Поблагодарили 119 раз(а) в 116 сообщениях
Регистрация: 17.11.2004
По умолчанию 19.12.2007, 19:14

Вы, судя по всему, копировали из Турбо Пролога.
Исправьте знаки :- (заново их наберите, т.к. там символы не те у Вас).
Потом, нульарные предикаты пишутся со скобками: не animals, а animals() - и так для всех.
Дальше, не readchar( С), а C=readchar().

Ну и так далее, это первое, что бросается в глаза.
Ответить с цитированием
  (#9 (permalink)) Старый
Alison Alison вне форума
Member
 
Сообщений: 4,781
Сказал(а) спасибо: 0
Поблагодарили 119 раз(а) в 116 сообщениях
Регистрация: 17.11.2004
По умолчанию 19.12.2007, 19:14

Вы, судя по всему, копировали из Турбо Пролога.
Исправьте знаки :- (заново их наберите, т.к. там символы не те у Вас).
Потом, нульарные предикаты пишутся со скобками: не animals, а animals() - и так для всех.
Дальше, не readchar( С), а C=readchar().

Ну и так далее, это первое, что бросается в глаза.
Ответить с цитированием
  (#10 (permalink)) Старый
leonora leonora вне форума
Новичок
 
Сообщений: 19
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 21.05.2007
По умолчанию 19.12.2007, 19:48

Спасибо большое. уже сама разобралась и всё заработало наконец-то))))
Ответить с цитированием
  (#11 (permalink)) Старый
leonora leonora вне форума
Новичок
 
Сообщений: 19
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 21.05.2007
По умолчанию 19.12.2007, 19:48

Спасибо большое. уже сама разобралась и всё заработало наконец-то))))
Ответить с цитированием
  (#12 (permalink)) Старый
leonora leonora вне форума
Новичок
 
Сообщений: 19
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 21.05.2007
По умолчанию 19.12.2007, 19:48

Спасибо большое. уже сама разобралась и всё заработало наконец-то))))
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Экспертная система по НСД tuchin Prolog 61 03.12.2013 20:01
Экспертная система на Lisp suslic Lisp 3 01.02.2012 15:09
экспертная система belochka21 Задания за деньги 3 20.01.2012 00:09
VIP 7.3 Экспертная система Windou Prolog 11 27.05.2011 17:38
Обучающая Экспертная Система zigic Prolog 9 22.04.2011 10:48
экспертная система silver_a Prolog 0 31.05.2010 12:59
оч нужна экспертная система Irini Prolog 3 28.05.2010 12:01
Экспертная система! sakh Prolog 0 28.01.2009 14:45
Экспертная система на 7.1 mail-aleks Prolog 1 22.09.2008 11:43
Экспертная система на Vip 6.3 leonora Prolog 3 16.12.2007 18:18
Экспертная система Samira Prolog 13 22.05.2007 22:56
Экспертная Система HELP!!! СИП Prolog 1 29.03.2005 16:08



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов