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

Home
Research
Projects
Publications
Books
SCM
Teaching
Links
Last updated:
Mária Bieliková bielik [zavináč] fiit-dot-stuba-dot-sk
Design © 2oo1 KoXo