lista1

elementi di sintassi per prolog v.3 su Mac

funzioni numeriche logiche ..verifica e confronto..ordinamento..relazioni..file e disco



/* schema1  sommario sintassi */
funzioni numeriche 
 
Radice is sqrt(numero)
sqrt(numero,Radice)
Assoluto is abs(numero)
abs(numero,Assoluto)
Intero is int(numero)
int(numero,Intero)
Segno is sign(numero)
sign(numero,Segno)
Lognaturale is ln(numero)
ln(numero,Lognaturale)
Logdecimale is ln(numero)/ln(10)
Potenza is pwr(base,esponente)
pwr(base,esponente,Potenza)
pwr(Base,esponente,potenza)
Seno is sin(radianti)
sin(radianti,Seno)
Coseno is cos(radianti)
cos(radianti,Coseno)
Tangente is tan(radianti)
tan(radianti,Tangente)
Arcoseno is sin(numero)
sin(numero,Arcoseno)
Arcocoseno is cos(numero)
cos(numero,Arcocoseno)
Arcotangente is tan(numero)
tan(numero,Arcotangente)
Gradi is deg_rad(gradi)
deg_rad(gradi,Radianti)
Radianti is deg_grad(radianti)
deg_grad(Gradi,radianti)
Pigreco is pi
Casuale is irand(numero)
irand(numero,Casuale)
Casuale is irand(numero)++1
Somma is A+B+C
(+)(A,B,Somma)
Differenza is A-B
(-)(A,B,Differenza)
Prodotto is A*B
*(A,B,Prodotto)
Quoziente is A/B
/(A,B,Quoziente)
++(A,B,Somma)
--(A,B,Differenza)
**(A,B,Prodotto)
//(A,B,Quoziente)
Resto is A mod B
mod(A,B,Resto)
A+B=:=X
A+B=\=X
not(A+B=:=X)
not(A+B=\=X)
A<B
A>B
A=B
A³B
A²B


 


/* schema3   relazioni logiche AND OR */
/*
/\(A,B,N)
\/(A,B,N)
(\)(A,N)*/
È(A,B,N)
//(A,B,N)
Ç(A,B,N)
**(A,B,N)
/* test di verifica e confronto */
testo=testo
A=A
numero=numero
X\=Y
X ­ Y
not(X=Y)
X==Y
X\==Y
not(X==Y)
unify(X,Y)
compare(=,X,Y)
compare(==,X,Y)
compare(<,X,Y)
compare(>,X,Y)
compare(V,X,Y)
X @> Y
X @< Y
X @= Y
X @>=Y
X @<=Y
ordinamento e gestione stringhe
mem(a(b,c,d,e),[posizione],Trova)
mem(a(b,c(x,y,z),d,e),[3,2],Trova)
sort([f,s,e,d,g],Ordina)
sort([f,e,g,r,d],Ordina,1)
sort([f,g,r,f,d],Ordina,-1)
keysort([4-a,2-b,7-h],Ordina)
keysort([4-a,2-b,7-h],Ordina,1)
keysort([4-a,2-b,7-h],Ordina,-1)
append(lista1,lista2,Listaunione)
on(a,[a,b,c,d])
on(X,[a,b,c,d])
length([a,b,c],Lunghezza)
length([a,b,c],numero)
length(Y,numero)
length([a,b|Y],Lista)
length(functore(X,Y,Z),Lista)
length(functore([a,b,c]),Lista)
remove(a,[a,b,c,d],Resto)
remove(h,Lista,[a,b,c,d])
remove(E,[2,3,4],Resto)
remove_all([a,b,c],[a,b,c,a,a,c,b,d],Resto)
reverse([a,g,d,e],Inversa)

/* schema4 */
stringof(lista,Parola)
stringof(Parola,lista)
stringof([f,r,a,X,e],frase)
charof('A',65)
charof(carattere,Codice)
name(parola,Lista)
concat(maria,rosa,Risultato)
gensym(termine,Simbolo)
init_gensym(termine,numero)
genint(numero,numero)
pname(termine,Nome)
version(Versione)
date(Anno,Mese,Giorno)
date(1995,2,2,Data)
time(Ora,Minuti,Secondi)
time(11,34,43,Tempo)

relazioni
/* schema5 */
assert(relazione)
assert(grelazione,listavariabili)
asserta(relazione)
asserta(grelazione,listavariabili)
assertx(relazione,posizione)
assertx(grelazione,listavariabili,posizione)
relazione(X,Y)
retract(relazione)
retractx(relazione,posizione)
retractall(relazione)
abolish(nomerelazione,numero)
kill(relazione)
clause(relazione,variabile)
clausex(relazione,variabili)

 

xrefs(nomerelazione,V)
crefs(nomerelazione,V)
def(relazione)
idef(relazione)
cdef(relazione)
sdef(relazione)
dict(lista)
idict(lista)
cdict(lista)
sdict(lista)
listing
listing(relazione)
gestione file e disco
save(nomeprogramma)
save(nome,disco)
save(nome,disco,lista)
csave(nome)
csave(nome,disco)
consult(nome)
consult(nome,disco)
cload(nome)
cload(nome,disco)