/* ese1.mar  */
/*trace */
   
domains
 nome     = symbol
 numero   =real
 civico   =integer
 via      =string
predicates
 telefono(nome,numero)
 indirizzo(nome,via,civico)
 opera
 azione
 goal azione.
clauses
azione:-makewindow(1,4,1,"",1,1,20,78),opera.
opera:-write("premi enter"),nl,readchar(_),
clearwindow,
telefono(Nome,Telefono),
write("nome.........",Nome),nl,
write("telefono.....",Telefono),nl,
write("-------------------------"),nl,fail;
readchar(_),clearwindow,
indirizzo(Nome,Via,Civico),
write("nome...........",Nome),nl,
write("indirizzo......",Via),nl,
write("numero civico..",Civico),nl,
write("------------------------"),nl,
fail;
readchar(_),clearwindow,
Telefono=234456,
telefono(Nome,Telefono),
indirizzo(Nome,Via,Civico),
write(Nome,"\t",Via,"\t",Civico,"\t",Telefono),nl,
fail.
 telefono(giorgio,234456).
 telefono(anna,123456).
 telefono(carlo,223344).
 telefono(angela,234456).
 telefono(luigi,332211).
 indirizzo(lucio,via_padova,5).
 indirizzo(angela,via_verona,4).
 indirizzo(carlo,via_treviso,7).
 indirizzo(aldo,via_padova,3).
  
 ritorna