/* prodotto.pro */
/* esempio vari tipi argomenti e stampa */
/* scrivere GOAL:valori(intero,intero) */
domains
numero = integer
predicates
calcola(numero)
valori(numero,numero)
clauses
calcola(0).
calcola(X) if
X>0,
Y=X-1,
calcola(Y).
valori(X,Y) if
S=X*Y, /* operazione */
write("valori......",X,"..",Y,".."),
write("risultato...",S,"..."),
calcola(S).
¦Goal: valori(4,5) ¦
¦valori......4..5..risultato.¦
¦..20...True ¦
¦Goal: valori(10,20) ¦
¦valori......10..20..risultat¦
¦o...200...True ¦
¦Goal: valori(2,4) ¦
¦valori......2..4..risultato.¦
¦..8...True ¦
¦Goal: ¦
ritorna