/* ori4.mar */
nowarnings
domains
nome=symbol
voti,N=integer
predicates
studente(nome,voti,voti,voti,voti,voti)
azione
elabora(integer)
bocciato
promosso
respinto
archivio
somma
opera
aiutato
goal azione.
clauses
azione:-
makewindow(1,5,1,"",1,1,20,78),opera.
opera:-
write("-----------------------"),nl,
write("scrivi 1:archivio"),nl,
write("scrivi 2:promossi in ogni materia"),nl,
write("scrivi 3:bocciati in qualche materia"),nl,
write("scrivi 4:somma e media voti"),nl,
write("scrivi 5:promosso con aiuto"),nl,
write("scrivi 6:respinto"),nl,
write("scrivi 0:fine"),nl,
readint(N),
clearwindow,
elabora(N).
elabora(1):-archivio.
elabora(2):-promosso.
elabora(3):-bocciato.
elabora(4):-somma.
elabora(5):-aiutato.
elabora(6):-respinto.
elabora(0):-exit.
archivio:-
write("stampa archivio dati completo"),nl,
studente(X,A,B,C,D,E),
write(X,"\t",A,"\t",B,"\t",C,"\t",D,"\t",E),
nl,fail;opera.
promosso:-
write("stampa nomi studenti promossi"),nl,
studente(X,A,B,C,D,E),
A>5,B>5,C>5,D>5,E>5,
write("promosso:",X),nl,fail;opera.
bocciato if
studente(X,A,B,C,D,E),A<6,write(X,"\t",A),nl,fail;
studente(X,A,B,C,D,E),B<6,write(X,"\t",B),nl,fail;
studente(X,A,B,C,D,E),C<6,write(X,"\t",C),nl,fail;
studente(X,A,B,C,D,E),D<6,write(X,"\t",D),nl,fail;
studente(X,A,B,C,D,E),E<6,write(X,"\t",E),nl,fail;
opera.
somma:-
write("stampa somma voti e media arrotondata"),nl,
studente(X,A,B,C,D,E),
S=A+B+C+D+E,
M=(S/5),
Q=round(M),
write(X,"\t",S,"\t",M,"\t",Q),nl,fail;opera.
aiutato:-
write("alunni promossi con aiuto"),nl,
studente(X,A,B,C,D,E),
S=A+B+C+D+E,
M=S/5,
M<6,
Q=round(M),
Q>5,
write(X,"\t",M,"\t",Q,"\tpromosso"),nl,
fail;opera.
respinto:-
write("alunni respinti"),nl,
studente(X,A,B,C,D,E),
S=A+B+C+D+E,
M=S/5,
M<6,
Q=round(M),
Q<=5,
write(X,"\t",M,"\t",Q,"\trespinto"),nl,
fail;opera.
studente(mario,5,6,7,6,6).
studente(carlo,8,9,8,7,6).
studente(anna,8,7,6,8,8).
studente(luigi,4,5,6,7,7).
studente(aldo,6,7,4,6,3).
+------------------------------------------
¦+-----------------------------------------
+¦-----------------------
+¦scrivi 1:archivio
¦¦scrivi 2:promossi in ogni materia
¦¦scrivi 3:bocciati in qualche materia
¦¦scrivi 4:somma e media voti
¦¦scrivi 5:promosso con aiuto
¦¦scrivi 6:respinto
¦¦scrivi 0:fine
¦¦
¦¦
¦¦
+-----------------------------------------------
¦+----------------------------------------------
+¦stampa archivio dati completo
+¦mario 5 6 7 6 6
¦¦carlo 8 9 8 7 6
¦¦anna 8 7 6 8 8
¦¦luigi 4 5 6 7 7
¦¦aldo 6 7 4 6 3
¦¦-----------------------
¦¦scrivi 1:archivio
¦¦scrivi 2:promossi in ogni materia
¦¦scrivi 3:bocciati in qualche materia
¦¦scrivi 4:somma e media voti
¦¦scrivi 5:promosso con aiuto
¦¦scrivi 6:respinto
¦¦scrivi 0:fine
¦¦
+¦
+------------------------------------------
¦+-----------------------------------------
+¦stampa nomi studenti promossi
+¦promosso:carlo
¦¦promosso:anna
¦¦-----------------------
¦¦scrivi 1:archivio
¦¦scrivi 2:promossi in ogni materia
¦¦scrivi 3:bocciati in qualche materia
¦¦scrivi 4:somma e media voti
¦¦scrivi 5:promosso con aiuto
¦¦scrivi 6:respinto
¦¦scrivi 0:fine
¦¦
¦¦
+-----------------------------------------
¦+----------------------------------------
+¦mario 5
+¦luigi 4
¦¦luigi 5
¦¦aldo 4
¦¦aldo 3
¦¦-----------------------
¦¦scrivi 1:archivio
¦¦scrivi 2:promossi in ogni materia
¦¦scrivi 3:bocciati in qualche materia
¦¦scrivi 4:somma e media voti
¦¦scrivi 5:promosso con aiuto
¦¦scrivi 6:respinto
¦¦scrivi 0:fine
¦¦
¦¦
+¦
+-------------------------------------------
¦+------------------------------------------
+¦stampa somma voti e media arrotondata
+¦mario 30 6 6
¦¦carlo 38 7.6 8
¦¦anna 37 7.4 7
¦¦luigi 29 5.8 6
¦¦aldo 26 5.2 5
¦¦-----------------------
¦¦scrivi 1:archivio
¦¦scrivi 2:promossi in ogni materia
¦¦scrivi 3:bocciati in qualche materia
¦¦scrivi 4:somma e media voti
¦¦scrivi 5:promosso con aiuto
¦¦scrivi 6:respinto
¦¦scrivi 0:fine
¦¦
+¦
+--------------------------------------------
¦+-------------------------------------------
+¦alunni promossi con aiuto
+¦luigi 5.8 6 promosso
¦¦-----------------------
¦¦scrivi 1:archivio
¦¦scrivi 2:promossi in ogni materia
¦¦scrivi 3:bocciati in qualche materia
¦¦scrivi 4:somma e media voti
¦¦scrivi 5:promosso con aiuto
¦¦scrivi 6:respinto
¦¦scrivi 0:fine
¦¦
¦¦
¦¦
+-------------------------------------------
¦+------------------------------------------
+¦alunni respinti
+¦aldo 5.2 5 respinto
¦¦-----------------------
¦¦scrivi 1:archivio
¦¦scrivi 2:promossi in ogni materia
¦¦scrivi 3:bocciati in qualche materia
¦¦scrivi 4:somma e media voti
¦¦scrivi 5:promosso con aiuto
¦¦scrivi 6:respinto
¦¦scrivi 0:fine
¦¦
¦¦
¦¦
¦¦
ritorna