liste1
gestione dati da archivio inserito
/* classi2.mar */ /* stampa elementi entro limiti assegnati */ /* valori interi */ /* GOAL:run */
nowarnings domains predicates azione opera tasto dati(symbol,integer) elabora(integer) calcola run clauses run:-azione. azione:-makewindow(1,5,1,"",1,1,20,78),opera. opera:- clearwindow, write("scrivi 1 per ricerca dati"),nl, write("scrivi 0 per finire"),nl, readint(N),clearwindow, elabora(N). elabora(1):-calcola. elabora(0):-exit. calcola:- write("inferiore o uguale a 10"),nl, dati(X,N), N<=10, write(X,"\t",N),nl,fail;tasto, nl, write("superiore a 10 e inferiore a 20"),nl, dati(X,N), N>10,N<=20, write(X,"\t",N),nl,fail;tasto, write("superiore a 20 e inferiore a 30"),nl, dati(X,N), N>20,N<=30, write(X,"\t",N),nl,fail;tasto, write("superiore a 30 e inferiore a 50"),nl, dati(X,N), N>30,N<=50, write(X,"\t",N),nl,fail;tasto,opera.
tasto:- makewindow(3,3,2,"",20,60,3,15), write("premi enter"), readchar(_),removewindow, gotowindow(1),clearwindow.
dati(mario,5). dati(luigi,7). dati(anna,12). dati(aldo,23). dati(alvise,43). dati(alcide,34). dati(basso,31). dati(neri,13). dati(verdi,49). dati(maria,5). dati(luisa,7). dati(grassi,12). dati(bassi,23). dati(vera,43). dati(pasio,34). dati(grandi,31). dati(rossi,13). dati(alti,49).