Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[52.14.224.197] |
|
Страницы: (7) « Первая ... 4 5 [6] 7 все ( Перейти к последнему сообщению ) |
Сообщ.
#76
,
|
|
|
помогите пожалуйста с турбопрологом
Для произвольных чисел a,b,c, определить количество действительных корней уравнения. |
Сообщ.
#77
,
|
|
|
Помогите переделать код, чтобы было 2 игрока, а не игрок и компьютер. турбо пролог 2.0
Мною это непостижимо... [HIGHLIGHT="prolog"]database db(integer,integer,symbol) Predicates predicates pole go(integer,symbol,symbol) protect(symbol,symbol) type(integer,symbol) etc(symbol,symbol) goal write("who starts?"),nl, write("1 - I, 0 - Computer."), readint(Who),write("type?"),nl,write("1 - X, 0 - O."), readint(What),type(What,I1),etc(I1,I2),go(Who,I1,I2),!, nl,nl; write("Error."),nl. clauses db(1,1,"-"). db(1,2,"-"). db(1,3,"-"). db(2,1,"-").db(2,2,"-"). db(2,3,"-"). db(3,1,"-"). db(3,2,"-"). db(3,3,"-"). type(1,x). type(0,o). etc(x,o). etc(o,x). go(0,Comp,_):- protect(Comp,Comp),!,pole,nl,write("You are a loser."). go(0,Comp,You):- protect(Comp,You),!,pole,go(1,You,Comp). go(0,Comp,You):- retract(db(2,2,"-")),!,assert(db(2,2,Comp)), pole,go(1,You,Comp). go(0,Comp,You):- db(R,St,"-"), (R+St) mod 2=0,retract(db(R,St,"-")),!, assert(db(R,St,Comp)),pole,go(1,You,Comp). go(0,Comp,You):- retract(db(R,St,"-")),!,assert(db(R,St,Comp)), pole,go(1,You,Comp). go(1,You,Comp):- db(_,_,"-"),write("next:","line (ot 1 do 3): "), readint®,R>0,R<4,write("column (ot 1 do 3): "), readint(St),St>0,St<4,retract(db(R,St,"-")),!, assert(db(R,St,You)),go(0,Comp,You). go(_,_,_):- not(db(_,_,"-")),nl,write("Draw."). protect(Comp,You):- db(N1,St,You),db(N2,St,You),N1<>N2, retract(db(N3,St,"-")),!,assert(db(N3,St,Comp)); db(R,N1,You),db(R,N2,You),N1<>N2,retract(db(R,N3,"-")),!, assert(db(R,N3,Comp)); db(I,I1,You),I=I1,db(J,J1,You),J=J1,I<>J,db(K,K1,"-"),K=K1, retract(db(K,K1,"-")),!,assert(db(K,K1,Comp)); db(I,J,You),I+J=4,db(N,K,You),N<>I,N+K=4,db(M,L,"-"),M+L=4, retract(db(M,L,"-")),!,assert(db(M,L,Comp)). pole:- db(1,1,S1),db(1,2,S2),db(1,3,S3),db(2,1,S4),db(2,2,S5), db(2,3,S6),db(3,1,S7),db(3,2,S8),db(3,3,S9),!,nl,nl, write(S1,S2,S3),nl,write(S4,S5,S6),nl,write(S7,S8,S9),nl,nl. [/HIGHLIGHT] Добавлено Это код игры крестики нолики.Помогите переделать код, чтобы было 2 игрока, а не игрок и компьютер. турбо пролог 2.0 Мною это непостижимо... database db(integer,integer,symbol) Predicates predicates pole go(integer,symbol,symbol) protect(symbol,symbol) type(integer,symbol) etc(symbol,symbol) goal write("who starts?"),nl, write("1 - I, 0 - Computer."), readint(Who),write("type?"),nl,write("1 - X, 0 - O."), readint(What),type(What,I1),etc(I1,I2),go(Who,I1,I2),!, nl,nl; write("Error."),nl. clauses db(1,1,"-"). db(1,2,"-"). db(1,3,"-"). db(2,1,"-").db(2,2,"-"). db(2,3,"-"). db(3,1,"-"). db(3,2,"-"). db(3,3,"-"). type(1,x). type(0,o). etc(x,o). etc(o,x). go(0,Comp,_):- protect(Comp,Comp),!,pole,nl,write("You are a loser."). go(0,Comp,You):- protect(Comp,You),!,pole,go(1,You,Comp). go(0,Comp,You):- retract(db(2,2,"-")),!,assert(db(2,2,Comp)), pole,go(1,You,Comp). go(0,Comp,You):- db(R,St,"-"), (R+St) mod 2=0,retract(db(R,St,"-")),!, assert(db(R,St,Comp)),pole,go(1,You,Comp). go(0,Comp,You):- retract(db(R,St,"-")),!,assert(db(R,St,Comp)), pole,go(1,You,Comp). go(1,You,Comp):- db(_,_,"-"),write("next:","line (ot 1 do 3): "), readint(R),R>0,R<4,write("column (ot 1 do 3): "), readint(St),St>0,St<4,retract(db(R,St,"-")),!, assert(db(R,St,You)),go(0,Comp,You). go(_,_,_):- not(db(_,_,"-")),nl,write("Draw."). protect(Comp,You):- db(N1,St,You),db(N2,St,You),N1<>N2, retract(db(N3,St,"-")),!,assert(db(N3,St,Comp)); db(R,N1,You),db(R,N2,You),N1<>N2,retract(db(R,N3,"-")),!, assert(db(R,N3,Comp)); db(I,I1,You),I=I1,db(J,J1,You),J=J1,I<>J,db(K,K1,"-"),K=K1, retract(db(K,K1,"-")),!,assert(db(K,K1,Comp)); db(I,J,You),I+J=4,db(N,K,You),N<>I,N+K=4,db(M,L,"-"),M+L=4, retract(db(M,L,"-")),!,assert(db(M,L,Comp)). pole:- db(1,1,S1),db(1,2,S2),db(1,3,S3),db(2,1,S4),db(2,2,S5), db(2,3,S6),db(3,1,S7),db(3,2,S8),db(3,3,S9),!,nl,nl, write(S1,S2,S3),nl,write(S4,S5,S6),nl,write(S7,S8,S9),nl,nl. |
Сообщ.
#78
,
|
|
|
Помогите решить задачу в пролог:
Проверить встречается ли в списке четный элемент.Заранее спасибо.. |
Сообщ.
#79
,
|
|
|
Цитата NIKAAA @ Помогите решить задачу в пролог: Проверить встречается ли в списке четный элемент.Заранее спасибо.. domains list = integer* predicates find(list,integer) goal find([5,5,20,5],X), write(X). clauses find([H|T],H):- H mod 2 =0,!. find([_|T],Y):- find(T,Y). |
Сообщ.
#80
,
|
|
|
Помогите с задачей на Турбо Пролог:
За квадратным столом сидят 4 студента. Филолог сидит напротив Козыря, рядом с историком. Биолог сидит рядом с Волдайским. Соседи Шадрова - Егоркин и химик. Напротив кого сидит историк? Буду премного благодарна! |
Сообщ.
#81
,
|
|
|
огромнейшее человеческое спасибо)))
|
Сообщ.
#82
,
|
|
|
Здравствуйте, никак не получается объединить 2 списка и найти и удалить максимальный элемент из него.
Помогите пожалуйста. Domains type=integer list=type* Predicates append(list,list,list) nondeterm max(list,integer) Clauses append([],L,L):-!. append([H|T],P,[H|Y]):-append(T,P,Y). max([X],X). max([H|Tail],H):-max(Tail,M),H>M,!. max([_|Tail],M):-max(Tail,M). совсем неправильно делаю? поправьте пожалуйста. |
Сообщ.
#83
,
|
|
|
Crazy_meat, всё правильно, только предикат max детерминированный.
max([X],X):-!. max([H|Tail],H):-max(Tail,M),H>M,!. max([_|Tail],M):-max(Tail,M). И удаление не сделано. Щас свою программку напишу. Добавлено domains list = integer* predicates conc(list,list,list) max(list,integer) del_max(list,list) goal L1=[1,2,30], L2=[4,5,6], conc(L1,L2,L), del_max(L,P),write(P),nl. clauses conc([],L,L):-!. conc([H|T],L,[H|T1]):- conc(T,L,T1). max([X],X):-!. max([H|T],H):- max(T,X), H>=X,!. max([H|T],X):- max(T,X). del_max([_],[]):-!. del_max([H|T],T):- max([H|T],H),!. del_max([H|T],[H|T1]):- del_max(T,T1). |
Сообщ.
#84
,
|
|
|
Swetlana,
Огромное Спасибо) |
Сообщ.
#85
,
|
|
|
Цитата Ryslanka @ огромнейшее человеческое спасибо))) Неправильно решила, сори. Только половину условий перечислила, т.к. тут симметрия. То есть пишу, что напротив Козыря сидит филолог sosed_naprotiv("kozir",Y2,X2,"filolog") и тут же надо симметрично записать, что напротив филолога сидит Козырь sosed_naprotiv(X1,"filolog",'kozir",Y2) Можно, конечно, и пооптимальней написать, но уже правильно работает, выдаёт единственное решение Волдайский химик domains list = symbol* predicates member(symbol,list) check(symbol,symbol,symbol,symbol) sosed_naprotiv1(symbol,symbol,symbol,symbol) sosed_naprotiv11(symbol,symbol,symbol,symbol) sosed_naprotiv2(symbol,symbol,symbol,symbol) sosed_naprotiv22(symbol,symbol,symbol,symbol) sosed_naprotiv3(symbol,symbol,symbol,symbol) sosed_naprotiv33(symbol,symbol,symbol,symbol) sosed_naprotiv4(symbol,symbol,symbol,symbol) sosed_naprotiv44(symbol,symbol,symbol,symbol) sosed_naprotiv5(symbol,symbol,symbol,symbol) clauses sosed_naprotiv1("kozir",Y1,X2,"filolog"):- Y1<>"filolog", Y1<>"istorik". sosed_naprotiv1(X1,Y1,X2,Y2):- X1<>"kozir". sosed_naprotiv11(X1,"filolog","kozir",Y2):- Y2<>"filolog", Y2<>"istorik". sosed_naprotiv11(X1,Y1,X2,Y2):- X2<>"kozir". sosed_naprotiv5(X1,"filolog",X2,Y2):- Y2<>"istorik". sosed_naprotiv5(X1,Y1,X2,Y2):- Y1<>"filolog". sosed_naprotiv2("voldajsky",Y1,X2,Y2):- Y2<>"biolog", Y1<>"biolog". sosed_naprotiv2(X1,Y1,X2,Y2):- X1<>"voldajsky". sosed_naprotiv22(X1,Y1,"voldajsky",Y2):- Y2<>"biolog", Y1<>"biolog". sosed_naprotiv22(X1,Y1,X2,Y2):- X2<>"voldajsky". sosed_naprotiv3("shadrov",Y1,X2,Y2):- Y2<>"himik", Y1<>"himik", X2<>"egorkin". sosed_naprotiv3(X1,Y1,X2,Y2):- X1<>"shadrov". sosed_naprotiv33(X1,Y1,"shadrov",Y2):- Y2<>"himik", Y1<>"himik", X1<>"egorkin". sosed_naprotiv33(X1,Y1,X2,Y2):- X2<>"shadrov". sosed_naprotiv4("egorkin",Y1,X2,"himik"):- Y1<>"himik", X2<>"shadrov". sosed_naprotiv4(X1,Y1,X2,Y2):- X1<>"egorkin". sosed_naprotiv44(X1,"himik","egorkin",Y2):- Y2<>"himik", X1<>"shadrov". sosed_naprotiv44(X1,Y1,X2,Y2):- X2<>"egorkin". check(X1,Y1,X2,Y2):- sosed_naprotiv1(X1,Y1,X2,Y2), sosed_naprotiv11(X1,Y1,X2,Y2), sosed_naprotiv5(X1,Y1,X2,Y2), sosed_naprotiv2(X1,Y1,X2,Y2), sosed_naprotiv22(X1,Y1,X2,Y2), sosed_naprotiv3(X1,Y1,X2,Y2), sosed_naprotiv33(X1,Y1,X2,Y2), sosed_naprotiv4(X1,Y1,X2,Y2), sosed_naprotiv44(X1,Y1,X2,Y2). member(H,[H|T]). member(X,[_|T]):- member(X,T). goal clearwindow, member(X1,["kozir","voldajsky","shadrov","egorkin"]), member(X2,["kozir","voldajsky","shadrov","egorkin"]), X1<>X2, member(Y1,["filolog","biolog","himik"]), check(X1,Y1,X2,"istorik"), write(X1,'-',Y1," ",X2,"-","istorik"),nl. |
Сообщ.
#86
,
|
|
|
Друзья, прошу помощи в решении задач:
Задание 1 Вычислить сумму кодов символов, вводимых с клавиатуры, до ввода символа "К". Результат показать в другом окне. Лабораторная работа 2 Определение породы собак. Экспертная система. Используются следующие характеристики: 1. Короткая шерсть 2. Длинная шерсть 3. Рост меньше 65 см. 4. Рост меньше 80 см. 5. Низко посаженный хвост 6. Длинные уши 7. Хороший характер 8. Вес больше 5 кг. Для каждой породы свойственны различные характеристики 1. Английский бульдог 1,3,5,7 2. Гончая 1,3,6,7 3. Дог 1,4,6,7,8 4. Американский фокстерьер 1,5,6,7 5. Коккер-спаниель 2,3,5,6,7 6. Ирландский сеттер 2,4,6 7. Колли 2,4,5,7 8. Сенбернар 2,5,7,8 |
Сообщ.
#87
,
|
|
|
Приветствую всех участников форума! Очень надеюсь на вашу помощь:
Написал программу а она выводит много решений при подстановке fail Помогите разобраться. Мне сказали что надо списки поправить в задаче. Вот она собственно: domains person=p(string,string,string) persons=person* predicates member(person,persons) flower(string) dom(string) name(string) solve clauses member(H,[H|_]):-!. member(X,[_|T]):- member(X,T). flower("Rosy"). flower("Romash"). flower("Tulp"). name("Nif"). name("Nuf"). name("Naf"). dom("Solom"). dom("Derev"). dom("Kirp"). solve:- dom(NifD), flower(NifF), NifD<>"Solom", dom(NafD), flower(NafF), NafF<>NifF, NafF<>"Tulp", NafF<>"Romash", NafD<>"Derev", NafD<>NifD, dom(NufD), flower(NufF), NufF<>NafF,NufF<>NifF, NufD<>NafD, NufD<>NifD, Prs=[p(NifD,NifF,"Nif"), p(NafD,NafF,"Naf"), p(NufD,NufF,"Nuf")], member(p("Derev","Romash",_),Prs), member(p("Solom",_,_),Prs), member(p(_,"Rosy",_),Prs), write(NifD,NifF,"Nif"),nl, write(NafD,NafF,"Naf"),nl, write(NufD,NufF,"Nuf"),nl,fail. goal solve. Условия: Имеем три поросенка одноименных, три их домика из соломы, дерева и кирпича, и цветы около домиков: розы, ромашки, тюльпаны! Знаем: Ниф не в соломенном, Наф не в деревянном, Возле соломеннго дома не розы, Возле деревянного растут ромашки, У Нафа не тюльпаны около дома. Ну и соответственно надо вывести кто где живет и какие цветы выращивает. В общем в приведенной задаче выводится много ответов, думаю список или предикат member не так задал... |
Сообщ.
#88
,
|
|
|
Цитата night_amir @ Лабораторная работа 2 Определение породы собак. Экспертная система. Используются следующие характеристики: 1. Короткая шерсть 2. Длинная шерсть 3. Рост меньше 65 см. 4. Рост меньше 80 см. 5. Низко посаженный хвост 6. Длинные уши 7. Хороший характер 8. Вес больше 5 кг. Для каждой породы свойственны различные характеристики 1. Английский бульдог 1,3,5,7 2. Гончая 1,3,6,7 3. Дог 1,4,6,7,8 4. Американский фокстерьер 1,5,6,7 5. Коккер-спаниель 2,3,5,6,7 6. Ирландский сеттер 2,4,6 7. Колли 2,4,5,7 8. Сенбернар 2,5,7,8 /* Џа®Ја ¬¬ : ќЄбЇҐав Ї® Ї®а®¤ ¬ б®Ў Є ” ©«:dog.pro */ /* Ќ § 票Ґ. „Ґ¬®бва жЁп а Ў®вл нЄбЇҐав®© бЁб⥬л, */ /* Ў §Ёаго饩бп «®ЈЁЄҐ */ /* ‡ ¬Ґз ЁҐ: нв® бЁб⥬ ¤«п Ё¤ҐвЁдЁЄ жЁЁ Ї®а®¤л. Ћ */ /* б®бв®Ёв Ё§ Ў §л § Ё© (Ѓ‡), ¬Ґе Ё§¬ ўлў®¤ (Њ‚) */ /* Ё бЁбвҐ¬л Ї®«м§®ў ⥫мбЄ®Ј® ЁвҐа䥩б (‘Џ€). */ /* Ѓ § § Ё© а бЇ®« Ј Ґвбп ў ®ЇҐа вЁў®© Ї ¬пвЁ */ domains CONDITIONS = BNO * HISTORY = RNO * RNO, BNO = INTEGER CATEGORY = SYMBOL database /* ЏаҐ¤ЁЄ вл Ў §л ¤ ле */ rule(RNO, CATEGORY, CATEGORY, CONDITIONS) cond(BNO, STRING) yes(BNO) no(BNO) topic(string) predicates /* ЏаҐ¤ЁЄ вл бЁбвҐ¬л Ї®«м§®ў ⥫мбЄ®Ј® ЁвҐа䥩б */ do_expert_job show_menu do_consulting process(integer) info(CATEGORY) goes(CATEGORY) listopt clear eval_reply(HISTORY,char) printr(HISTORY) printc(CONDITIONS) /* ЏаҐ¤ЁЄ вл ¬Ґе Ё§¬ ўлў®¤ */ go(HISTORY, CATEGORY) check(RNO, HISTORY, CONDITIONS) inpq(HISTORY, RNO, BNO, STRING) do_answer(HISTORY, RNO, STRING, BNO, INTEGER) goal clear, do_expert_job. clauses /* Ѓ § § Ё© (Ѓ‡) */ topic("dog"). topic("Є®а®вЄ®иҐабв п б®Ў Є "). topic("¤«Ё®иҐабв п б®Ў Є "). rule(1, "dog", "Є®а®вЄ®иҐабв п б®Ў Є ", [1] ). rule(2, "dog", "¤«Ё®иҐабв п б®Ў Є ", [2] ). rule(3, "Є®а®вЄ®иҐабв п б®Ў Є "," Ј«Ё©бЄЁ© Ўг«м¤®Ј",[3,5,7]). rule(4, "Є®а®вЄ®иҐабв п б®Ў Є ","Ј®з п",[3,6,7]). rule(5, "Є®а®вЄ®иҐабв п б®Ў Є ","¤ вбЄЁ© ¤®Ј", [5,6,7,8] ). rule(6, "Є®а®вЄ®иҐабв п б®Ў Є "," ¬ҐаЁЄ бЄЁ© д®ЄбвҐамҐа",[4,6,7] ). rule(7, "¤«Ё®иҐабв п б®Ў Є ", "Є®ЄЄҐа-бЇ Ён«м", [3,5,6,7] ). rule(8, "¤«Ё®иҐабв п б®Ў Є ", "Ёа« ¤бЄЁ© бҐввҐа", [4,6] ). rule(9, "¤«Ё®иҐабв п б®Ў Є ", "Є®««Ё", [4,5,7] ). rule(10, "¤«Ё®иҐабв п б®Ў Є ", "ᥡҐа а", [5,7,8] ). cond(1, "Є®а®вЄ®иҐабв п б®Ў Є " ). cond(2, "¤«Ё®иҐабв п б®Ў Є " ). cond(3, "а®бв ¬ҐҐҐ 22 ¤о©¬®ў" ). cond(4, "а®бв ¬ҐҐҐ 30 ¤о©¬®ў" ). cond(5, "Ё§Є®Ї®б ¦Ґл© ўЁбпзЁ© еў®бв"). cond(6, "¤«ЁлҐ гиЁ" ). cond(7, "¤®Ўа®¤гил© е а ЄвҐа" ). cond(8, "ўҐб Ў®«ҐҐ 100 дгв®ў" ). /* ‘Ёб⥬ Ї®«м§®ў ⥫мбЄ®Ј® ЁвҐа䥩б */ do_expert_job :- makewindow(1,63,7," DOG EXPERT SYSTEM ",0,0,25,80), show_menu, nl,write(" Ќ ¦¬ЁвҐ Їа®ЎҐ«. "), readchar(_), save("dog.dat"), exit. show_menu :- write(" "),nl, write(" * * * * * * * * * * * * * * * * * * "),nl, write(" * DOG EXPERT * "),nl, write(" * * "),nl, write(" * 1. Љ®бг«мв жЁп * "),nl, write(" * * "),nl, write(" * * "),nl, write(" * 2. ‚л室 Ё§ бЁб⥬л * "),nl, write(" * * "),nl, write(" * * * * * * * * * * * * * * * * * * "),nl, write(" "),nl, write("‚ и ўлЎ®а - 1 or 2 : "),nl, readint(Choice), process (Choice). process(1) :- do_consulting,clear. process(2) :- removewindow, clear, exit. do_consulting :- goes(Mygoal), go([],Mygoal), !. do_consulting :- nl, write(" ‘®¦ «Ґо, Ґ ¬®Јг ‚ ¬ Ї®¬®зм."). goes(Mygoal) :- clear, clearwindow, nl,nl, write(" "),nl, write(" WELCOME TO THE DOG EXPERT SYSTEM "),nl, write(" "),nl, write(" ќв® - Є« ббЁдЁЄ жЁ® п ќ‘. "),nl, write(" „«п § ЇгбЄ Їа®жҐбб ўлЎ®а б®Ў ЄЁ "),nl, write(" ЎҐаЁвҐ б«®ў® dog. …б«Ё ‚л ¦Ґ« ҐвҐ "),nl, write(" гўЁ¤Ґвм ¤®ЇгбвЁ¬лҐ Ї®а®¤л б®Ў Є, "),nl, write(" ЎҐаЁвҐ § Є ў®Їа®б ?. "),nl, write(" "),nl, readln(Mygoal), info(Mygoal),!. info("?") :-!, clearwindow, listopt, nl,write("Ќ ¦¬ЁвҐ Їа®ЎҐ«. "), readchar(_), clearwindow, exit. info("dog") :-!. info(_) :- write("‘®¦ «Ґо, ® в Є®© вҐ¬л Ґв. "), nl,write("Ќ ¦¬ЁвҐ Їа®ЎҐ«. "), readchar(_), clearwindow, exit. listopt :- write("Џ®а®¤л б®Ў Є : "),nl,nl, rule(N,_,Dog,_), N>=3, write(" ",Dog),nl, fail. listopt. inpq(HISTORY,RNO,BNO,TEXT) :- write("‚®Їа®б :- ",TEXT," ? "), makewindow(2,7,7,"Response",10,54,9,24), write("‚ўҐ¤ЁвҐ 1, Ґб«Ё '¤ ' ,"),nl, write("‚ўҐ¤ЁвҐ 2, Ґб«Ё 'Ґв' : "),nl, readint(RESPONSE), clearwindow, shiftwindow(1), do_answer(HISTORY,RNO,TEXT,BNO,RESPONSE). eval_reply(HISTORY,'1') :- printr(HISTORY),!. eval_reply(_,_). printr([]):-!. printr([RNO|REST]):- rule(RNO,_,_,LIST), printc(LIST), printr(REST). printc([]):-!. printc([BNO|REST]):- cond(BNO,X), write(X),nl, printc(REST). /* ЊҐе Ё§¬ ўлў®¤ */ go(HISTORY,Mygoal) :- not(rule(_,Mygoal,_,_)),!, nl,write(" ќвЁ¬ Є зҐбвў ¬ ᮮ⢥вбвўгҐв Ї®а®¤ ", Mygoal,"."),nl, write("‚ ¬ е®вҐ«®бм Ўл г§ вм, Є Є Ўл« Ї®«гзҐ §в®в ўлў®¤ ?(1/2)"), nl,readchar(R), eval_reply(HISTORY,R). go(HISTORY, Mygoal) :- rule(RNO,Mygoal,NY,COND), check(RNO,HISTORY,COND), go([RNO|HISTORY],NY). check(RNO,HISTORY,[BNO|REST]) :- yes(BNO),!, check(RNO,HISTORY,REST). check(_,_,[BNO|_]) :- no(BNO),!,fail. check(RNO,HISTORY,[BNO|REST]) :- cond(BNO,TEXT), inpq(HISTORY,RNO,BNO,TEXT),!, check(RNO,HISTORY,REST). check(_,_,[]). do_answer(_,_,_,BNO,1) :- assert(yes(BNO)), shiftwindow(1), write(yes),nl. do_answer(_,_,_,BNO,2) :- assert(no(BNO)), write(no),nl, fail. clear :- retract(yes(_)),fail. clear :- retract(no(_)),fail. clear. /* Љ®Ґж Їа®Ја ¬¬л */ |
Сообщ.
#89
,
|
|
|
Помогите пжл с эт ой задачкой.
Построить семантическую модель (сеть) представления знаний в предметной области "Туристическое агенство" (работа с клиентами) |
Сообщ.
#90
,
|
|
|
Здравствуйте. Помогите с задачей на Турбо Прологе: Создать предикат, через рекурсию, вычисляющий по натуральному числу N, сумму его нечетных чисел которая не превышает само N т.е. задаем N=10, ответ 9. Причем необходима проверка на нечетность (N-1). Паскаль почему то мне легче дался, чем Пролог. Заранее благодарен.
|