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.