listati da Prolog2
listati da copiare e incollare su notes e salvare come file.PRO
richiamabili in ambiente Prolog

esci listaprolog.htm

/* dana2.pro */
nowarnings
include "ana2.pro"

domains
predicates
clienti(nome)
creditori(nome)
debitori(nome)
veneti(nome)

clauses
/* stampa archivio completo */
clienti(N) if
dati(N,R,C,D),
write(R),nl,write(C),nl,write(D),nl.

/* stampa creditori */
creditori(N) if
dati(N,R,C,D) and
C-D>=0.

/* stampa debitori */
debitori(N) if
dati(N,R,C,D) and
C-D<0.

/* stampa veneti */
veneti(N) if
dati(N,R,C,D) and
R=veneto.

 

/* ana2.pro */

domains
nome,regione = symbol
credito,debito = integer
predicates
dati(nome,regione,credito,debito)
clauses
dati(verdi,veneto,100,40).
dati(rossi,veneto,500,400).
dati(bassi,lazio,300,120).
dati(grassi,lazio,300,500).
dati(zanella,toscana,200,120).
dati(pascoli,toscana,120,100).