no way to compare when less than two revisions

Differences

This shows you the differences between two versions of the page.


jui:cviko8 [2011/08/16 20:33] (current) – created - external edit 127.0.0.1
Line 1: Line 1:
 +====== JUI - 8. cvičení - Prolog ======
  
 +prolog - uvod
 +
 +reprezentant logickeho programovani
 +  * relace
 +    *  unarni - mnozina
 +    *  binarni - mnozina dvojic
 +    *  ternrni - mnozina trojic
 +
 +  * atom - male pocatecni pismeno
 +  * promenna - velke pocatecni pismeno
 +  * klausule  (znamena relaci) - je zakoncena teckou 
 +    * fakta
 +    * pravidlo   
 +  * ; logicke or
 +  * , logicke and                                  
 +      
 +<code prolog>      
 +%unarni relace
 +
 + muz (petr).
 + muz (pavel).
 + zena (Eva).
 + %pozor, musi byt hned za sebou, jinak se prepisou
 + 
 + ?- muz (petr).
 +  yes
 +  
 + ?- muz (eva).
 +   no
 +   
 + ?- muz(X).
 +   X = petr  ;
 +   X = pavel
 +   
 +% //komentar
 +% predek(?Pred, ?Pot)
 +% ? oboji, - vystupni, + vstupni
 +
 ++
 +=:=  rovnost
 +=\= nerovnost
 +>
 +<
 +=<
 +>=
 +prirazeni
 + promenna is vyraz
 + X is 1 + 2
 +</code> 
 +
 +<code>
 +muz(pavel).
 +muz(petr).
 +
 +zena(iva).
 +zena(eva).
 +
 +manzele(petr,eva).
 +manzele(pavel,iva).
 +manzele(karel,marie).
 +
 +rodic(petr,josef).
 +rodic(eva,josef).
 +rodic(pavel,karel).
 +rodic(iva,karel).
 +rodic(karel,petrik).
 +
 +deda(D,V) :- otec(D,X), rodic(X,V).
 +tchyne(B,O) :- zena(B), rodic(B,X), manzele(O,X).
 +tchyne(B,O) :- zena(B), rodic(B,X), manzele(X,O).
 +
 +predek(P,O) :- rodic(P,O).
 +predek(P,O) :- rodic(P,X), predek(X,O).
 + 
 +vzdalenost(P,O,V) :- rodic(P,O), V is 1.
 +%alternativne vzdalenost(P,O,1) := rodic(P,O).
 +vzdalenost(P,O,V) :- rodic(P,X), vzdalenost(X,O,W), V is W + 1.
 +
 +% abs (+C,-Vysl)
 +abs(C,Vysl) :- C >= 0, Vysl is C; Vysl is -C.
 +% fact (+C, -Vysl)
 +fact(0,1).
 +fact(C,V) :- C1 is C - 1, fact(C1,M), V is M *C.
 +</code>
 +
 +<code>
 +rez - zabranuje backtrackingu skrze rez
 +cykly - 
 + repeat, c1, c2, ... , cn , fail. %nekonecne-krat se opakuje
 +
 +vstup:- repeat,
 +        write ('Zadej cislo:'),
 +        read (N),
 +        integer(N),
 +        N < 100,
 +        !.
 +
 +seznamy
 +</code>
jui/cviko8.txt · Last modified: 2011/08/16 20:33 by 127.0.0.1
Back to top
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0