Vybrané vstavané predikáty prologu
Riadenie programu
P1, P2 |
konjunkcia cieľov |
P1; P2 |
disjunkcia cieľov |
! |
rez |
[! P !] |
vykrojenie; skupina cieľov, ktorá sa pri spätnom chode preskočí |
call(+P) |
pokus o splnenie P |
fail |
vždy neúspech |
not(?P) |
úspech, ak P zlyhá |
repeat |
vždy opätovne splniteľný |
true |
vždy úspech; nie je opätovne splniteľný |
|
to Homepage |
|
to Teaching |
|
to FLP |
|
to the Top |
Aritmetické funkcie
X + Y |
sčítanie |
X - Y |
odčítanie |
X * Y |
násobenie |
X / Y |
delenie |
X // Y |
celočíselné delenie |
X ^ Y |
umocnenie |
-X |
unárne mínus |
X mod Y |
zvyšok po celočíselnom delení |
abs(X) |
absolútna hodnota |
cos(X) |
kosínus |
sin(X) |
sínus |
tan(X) |
tangens |
exp(X) |
exponenciálna funkcia so základom e |
ln(X) |
prirodzený logaritmus |
log(X) |
dekadický logaritmus |
sqrt(X) |
druhá odmocnina |
round(X,N) |
zaokrúhlenie X na N desatinných miest |
|
to Homepage |
|
to Teaching |
|
to FLP |
|
to the Top |
Aritmetické predikáty
E1 > E2 |
úspech, ak hodnota E1 je väčšia ako hodnota E2 |
E1 < E2 |
úspech, ak hodnota E1 je menšia ako hodnota E2 |
E1 >= E2 |
úspech, ak hodnota E1 je väčšia alebo sa rovná hodnote E2 |
E1 =< E2 |
úspech, ak hodnota E1 je menšia alebo sa rovná hodnote E2 |
E1 =\= E2 |
úspech, ak je hodnota E1 rôzna od hodnoty E2 |
X is E |
úspech, ak sa X podobá na hodnotu výrazu E |
|
to Homepage |
|
to Teaching |
|
to FLP |
|
to the Top |
Porovnávanie termov
T1 = T2 |
úspech, ak T1 a T2 sa podobajú |
T1 \= T2 |
neúspech, ak T1 a T2 sa podobajú |
T1 == T2 |
úspech, ak T1 a T2 sú totožné termy |
T1 \== T2 |
úspech, ak T1 a T2 nie sú totožné termy |
T1 @< T2 |
úspech, ak T1 je pred T2 |
T1 @> T2 |
úspech, ak T1 je za T2 |
T1 @=< T2 |
úspech, ak T1 sa rovná T2 alebo T1 je pred T2 |
T1 @>= T2 |
úspech, ak T1 sa rovná T2 alebo T1 je za T2 |
|
to Homepage |
|
to Teaching |
|
to FLP |
|
to the Top |
Konvertovanie termov
S =.. L |
konvertuje štruktúru na zoznam a obrátene |
arg(+N,+T,-X) |
unifikuje X s hodnotou N -tého argumentu termu T (argumenty sa číslujú od 1) |
functor(?S,?N,?A) |
vráti meno a aritu štruktúry alebo vytvorí novú štruktúru s daným menom a aritou |
name(?A,?L) |
konvertuje atóm na zoznam znakov a obrátene |
|
to Homepage |
|
to Teaching |
|
to FLP |
|
to the Top |
Klasifikácia termov
atom(?X) |
úspech, ak X je atóm |
atomic(?X) |
úspech, ak X je atóm alebo číslo |
float(?X) |
úspech, ak X je reálne číslo |
integer(?X) |
úspech, ak X je celé číslo |
nonvar(?X) |
úspech, ak X je naviazaná premenná |
number(?X) |
úspech, ak X je integer alebo float |
var(?X) |
úspech, ak X je nenaviazaná premenná |
|
to Homepage |
|
to Teaching |
|
to FLP |
|
to the Top |
Riadenie databázy
abolish(+M/A) |
odstráni z databázy všetky klauzuly so špecifikovaným menom a aritou. Úspech aj keď nenájde žiadnu klauzulu na odstránenie |
asserta(+C) |
pridá klauzulu na začiatok definície predikátu |
assertz(+C) |
pridá klauzulu na koniec definície predikátu |
clause(+H,-T) |
vráti ciele spojené s danou hlavou |
listing |
výpis všetkých predikátov v databáze na aktuálny výstup |
listing(+M) |
výpis všetkých predikátov s daným menom na aktuálny výstup |
listing(+M/A) |
výpis všetkých predikátov s daným menom a aritou na aktuálny výstup |
retract(+C) |
odstráni z databázy prvú klauzulu, ktorá sa podobá na argument C |
|
to Homepage |
|
to Teaching |
|
to FLP |
|
to the Top |
Operátory
current_op(?P,?A,?M) |
vráti pomocou spätného chodu definície operátorov v aktuálnej databáze |
display(+T) |
zobrazí term v prefixovej notácii |
op(+P,+A,+M) |
definuje číslo priority, pozíciu, asociatívnosť a meno operátora |
|
to Homepage |
|
to Teaching |
|
to FLP |
|
to the Top |
Vstup a výstup
get(?Z) |
načítanie znaku z aktuálneho vstupného prúdu, unifikuje Z s obrazom prvého načítaného tlačitelného znaku v kóde ASCII |
get0(?Z) |
načítanie znaku z aktuálneho vstupného prúdu, unifikuje Z s obrazom prvého načítaného znaku v kóde ASCII |
put(+Z) |
zápis znaku s určeným obrazom v kóde ASCII |
read(?T) |
načítanie termu |
write(+T) |
zápis termu |
see(+Subor) |
otvorí špecifikovaný súbor na čítanie a presmeruje štandardné vstupné zariadenie na tento súbor |
seen |
uzatvorí naposledy otvorený súbor na čítanie (see/1 ) a presmeruje štandardné vstupné zariadenie na vstupné zariadenie aktívne pred posledným použitím see/1 |
tell(+Subor) |
otvorí špecifikovaný súbor na zápis a presmeruje štandardné výstupné zariadenie na tento súbor |
told |
uzatvorí naposledy otvorený súbor na zápis (tell/1 ) a presmeruje štandardné výstupné zariadenie na výstupné zariadenie aktívne pred posledným použitím tell/1 |
|
to Homepage |
|
to Teaching |
|
to FLP |
|
to the Top |
Systémové funkcie
consult(+Subor) |
otvorí špecifikovaný súbor pre vstup a načítava z neho program. Všetky fakty a pravidlá sa pridávajú do prologovskej databázy a všetky ciele v tvare :- Goal sa vykonávajú (bez spätného chodu) |
reconsult(+Subor) |
ako consult , ale pred zaradením novej klauzuly do databázy sa z nej vyradia všetky klauzuly s rovnakým funktorom (menom a aritou) |
halt |
ukončenie práce s prologom |
|
to Homepage |
|
to Teaching |
|
to FLP |
|
to the Top |
Ladenie
nospy(+M/A) |
odstráni bod prerušenia z predikátu |
notrace |
vypne ladiaci prostriedok |
spy(+M/A) |
špecifikuje predikát ako bod prerušenia pre ladiaci prostriedok |
trace |
zapne ladiaci prostriedok |
|
to Homepage |
|
to Teaching |
|
to FLP |
|
to the Top |
|
|
|
|