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).