[Ответить в тред] Ответить в тред

02/12/16 - Конкурс визуальных новелл доски /ruvn/
15/11/16 - **НОВЫЙ ФУНКЦИОНАЛ** - Стикеры
09/10/16 - Открыта доска /int/ - International, давайте расскажем о ней!

Check this out!

Новые доски: /2d/ - Аниме/Беседка • /wwe/ - WorldWide Wrestling Universe • /ch/ - Чатики и конфочки • /int/ - International • /ruvn/ - Российские визуальные новеллы • /math/ - Математика • Создай свою

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 3 | 1 | 2
Назад Вниз Каталог Обновить

Кто знает пролог? расскажите, пожалуйста, что Аноним (Microsoft Windows 10: Chromium based) 14/04/17 Птн 10:05:54  2016828  
blob (106Кб, 677x405)
Кто знает пролог? расскажите, пожалуйста, что делает эта программа!

/ Ђ. ЏЁзг¦ЄЁ­, ¬Ґе¬ в, 3 ЈагЇЇ , 1 Єгаб, 1999-2000 Ј®¤/
/ ЏҐаҐў®¤Ёв  «ЈҐЎа ЁзҐбЄ®Ґ ўла ¦Ґ­ЁҐ ў ЇаҐдЁЄб­го § ЇЁбм /

domains int=string.

predicates
nextsymbol(string/
s/,int,int). /ў®§ўа й Ґв бЁ¬ў®«/
digit(string/
s/,char). /ЇаЁ­Ё¬ Ґ¬, if ЎгЄў  Ё«Ё жЁда /
start(string,string/
s/,int,int). /б®Ўб⢥­­® Їа®жҐ¤гаЄ /
mnozh(string/
s/,string/s/,string,int,int). /i,o,o бЁ¬ў®«, ўл室пйЁ© бЁ¬ў®«, res/
factor(string/
s/,string/s/,string,int,int). /в® ¦Ґ б ¬®Ґ/
start1(string,string,string,string).
alprg(int). /
Ћб­®ў­ п Їа®Ја ¬¬ /


clauses
/
===== ‘зЁвлў Ґв бЁ¬ў®« ======/

nextsymbol(C,[Z|Z2],Z1):-C=Z,Z1=Z2.

/
===== ЋЇҐа жЁп Ё«Ё ­Ґв ========/

digit("(",Ans):-Ans='N',!.
digit(")",Ans):-Ans='N',!.
digit("
",Ans):-Ans='N',!.
digit("/",Ans):-Ans='N',!.
digit("+",Ans):-Ans='N',!.
digit("-",Ans):-Ans='N',!.
digit("=",Ans):-Ans='N',!.
digit("?",Ans):-Ans='N',!.
digit(_,Ans):-Ans='Y'.


/==== ”®а¬Ёа㥬 ўл室­го бва®Єг =======/
start1(_, Res2,"=",Res):-Res=Res2.

start1(RR, Res2,Res5,Res):- /RR=" (+ "/
concat(RR,Res2,Res3),
concat(Res3," ",Res4),
concat(Res4,Res5,Res6),
concat(Res6,")",Res).



/====== ЋЎа Ў®вЄ  б« Ј Ґ¬ле ========/
start(Res,"=",Z,Z1):-Res="",Z1=Z,!.
start(Res,")",Z,Z1):-Res="",Z1=Z,!.

start(Res,"-",Z,Z1):-
nextsymbol(C,Z,Z2),
mnozh(C,C1,Res2,Z2,Z3),
concat("(- ",Res2,Res3),
concat(Res3,")",Res4),
start(Res5,C1,Z3,Z1),
start1(" (+ ",Res4,Res5,Res),!.

start(Res,"+",Z,Z1):-
nextsymbol(C,Z,Z2),
mnozh(C,C1,Res2,Z2,Z3),
start(Res5,C1,Z3,Z1),
start1(" (+ ",Res2,Res5,Res),!.

start(Res,C,Z,Z1):-
C<>"+",
C<>"-",
mnozh(C,C1,Res2,Z,Z3),
start(Res5,C1,Z3,Z1),
start1(" (+ ",Res2,Res5,Res).


/======= ЋЎа Ў®вЄ  ¬­®¦ЁвҐ«Ґ© =======/

mnozh("=",C1,Res,Z,Z1):-Res="",C1="=",Z1=Z,!.
mnozh("+",C1,Res,Z,Z1):-Res="",C1="+",Z1=Z,!.
mnozh("-",C1,Res,Z,Z1):-Res="",C1="-",Z1=Z,!.
mnozh(")",C1,Res,Z,Z1):-Res="",C1=")",Z1=Z,!.

mnozh("/",C1,Res,Z,Z1):-
nextsymbol(C,Z,Z2),
factor(C,C2,Res2,Z2,Z3),
concat("(/ ",Res2,Res3),
concat(Res3,")",Res4),
mnozh(C2,C1,Res5,Z3,Z1),
start1(" ( ",Res4,Res5,Res),!.

mnozh("
",C1,Res,Z,Z1):-
nextsymbol(C,Z,Z2),
factor(C,C2,Res2,Z2,Z3),
mnozh(C2,C1,Res5,Z3,Z1),
start1(" ( ",Res2,Res5,Res),!.

mnozh(C,C1,Res,Z,Z1):-
C<>"
",
C<>"/",
factor(C,C2,Res2,Z,Z3),
mnozh(C2,C1,Res5,Z3,Z1),
start1(" ( ",Res2,Res5,Res).


/
======= ЋЎа Ў®вЄ   в®¬®ў ®ЇҐа жЁ© =========/

factor("(",C1,Res,Z,Z1):-nextsymbol(C2,Z,Z2), start(Res,C2,Z2,Z3), nextsymbol(C1,Z3,Z1),!.

factor(C,C1,Res,Z,Z1):-
digit(C,F),
Z1=Z,
F='N',
Res="",
C1=C,!.

factor(C,C1,Res,Z,Z1):-
digit(C,F),
F='Y',
nextsymbol(C2,Z,Z2),
factor(C2,C1,Res2,Z2,Z1),
/
str_char(Sta,C),/
concat(C,Res2,Res).


/
========= Ћб­®ў­ п Їа®Ја ¬¬  =======/


alprg(Z):-
/
write("‚ўҐ¤ЁвҐ ўла ¦Ґ­ЁҐ: "),/
nextsymbol(F,Z,Z1),
start(X,F,Z1,_),
write("ЋвўҐв: "),
write(X).





/
goal
alprg.*/
Аноним (Microsoft Windows 7: Firefox based) 14/04/17 Птн 10:12:56  2016832
>>2016828 (OP)
>/ А. Пичужки­, мехм т, 3 групп , 1 курс, 1999-2000 год/
>/ Переводит лгебр ическое выр же­ие в префикс­ую з пись /
Аноним (Microsoft Windows 10: Chromium based) 14/04/17 Птн 10:22:10  2016841
>>2016832
Спасибо!
Это, я так понимаю, работа студента? Если да, не мог бы дать ссылку?
Аноним (Microsoft Windows 10: Chromium based) 14/04/17 Птн 10:30:00  2016849
>>2016832
Ой, это первые комментарии

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 3 | 1 | 2
Назад Вверх Каталог Обновить

Топ тредов
Избранное