mac8
listati per programmi interattivi su richiesta numeri e verifica comdizioni
/* verifica1 */ /* inserimento numeri interi e verifica se interi */
ese:- dialog('numeri interi',200,60,120,270, [button(90,20,20,60,'OK'), button(90,90,20,60,'cancella'), text(10,10,32,250,'scrivi due interi:usa TAB e OK'), edit(45,15,16,50,'',read(A)), edit(45,105,16,50,'',read(B))], Btn,sonointeri(A,B)),calcola(A,B).
sonointeri(C,D,A,B):- integer(C),integer(D),!.
sonointeri(C,D,A,B):- message('non sono numeri interi,riprova'),fail.
calcola(A,B):- Somma is A+B,write(Somma),nl, Prodotto is A*B,write(Prodotto),nl.
/* verifica2 */ /* inserimento numeri interi e verifica se minori o maggiori di N */
ese:- dialog('numeri interi',200,60,120,420, [button(90,20,20,60,'OK'), button(90,90,20,60,'cancella'), text(10,10,32,250,'scrivi due interi:usa TAB e OK'), edit(45,15,16,100,'A> di 10:',read(A)), edit(45,150,16,100,'B< 10:',read(B))], Btn,verifica(A,B)),calcola(A,B).
verifica(C,D,A,B):- A>10,B<10,!.
verifica(C,D,A,B):- message('non rispettano condizione,riprova'),fail.
calcola(A,B):- Somma is A+B,write(Somma),nl, Prodotto is A*B,write(Prodotto),nl.
/* verifica3 */ /* numeri interi e verifica se interi e se minori o maggiori di N */
ese:- dialog('numeri interi',200,60,120,420, [button(90,20,20,60,'OK'), button(90,90,20,60,'cancella'), text(10,10,32,250,'scrivi due interi:usa TAB e OK'), edit(45,15,16,100,'A> di 10:',read(A)), edit(45,150,16,100,'B< 10:',read(B))], Btn,verifica(A,B)),calcola(A,B).
verifica(C,D,A,B):- A>10,B<10, interi(A,B),!.
verifica(C,D,A,B):- message('non rispettano condizione,riprova'),fail.
interi(A,B):- integer(A),integer(B),!.
interi(A,B):- message('non sono entrambi interi:riprova'),fail.
calcola(A,B):- Somma is A+B,write(Somma),nl, Prodotto is A*B,write(Prodotto),nl.
/* verifica4 */ /* numeri e verifica se minori o maggiori di N */
ese:- dialog('numeri qualsiasi',200,60,120,420, [button(90,20,20,60,'OK'), button(90,90,20,60,'cancella'), text(10,10,32,250,'scrivi due numeri:usa TAB e OK'), edit(45,15,16,100,'A> di 10:',read(A)), edit(45,150,16,100,'B< 10:',read(B))], Btn,verifica(A,B)),calcola(A,B).
verifica(C,D,A,B):- A>10,B<10,!.
verifica(C,D,A,B):- message('non rispettano condizione,riprova'),fail.
calcola(A,B):- Somma is A+B,write(Somma),nl, Prodotto is A*B,write(Prodotto),nl.