prova8

 


/* prova13.pro */
/* attiva INCLUDE MENU.PRO */
/* attivazione menu e scelta opzioni */
/* con ritorno a menu chiamante */
nowarnings
include "menu.pro"
domains
Enter = char
predicates
finestra
azione
termine(integer)
elabora(integer)
scelta(integer)
fine
goal finestra,azione.
clauses
 
 finestra:-
 makewindow(1,7,1,"",1,1,20,70).
 
 azione:-
 write("\n"),
 write("premi enter\n"),
 readchar(Enter),
 clearwindow,
 write("scegli opzione con tasti frecce\n"),
 menu(3,20, [".1.scelta1...informa........",
             ".2.scelta2...somma..........",
             ".3.scelta3...sottrazione....",
             ".4.scelta4...prodotto.......",
             ".5.scelta5...quoziente......",
             ".6.scelta6...divisione......",
             ".7.scelta7...resto..........",
             ".8.scelta8...radice.........",
             ".9.scelta9..fine............"],
             SCELTA),
             elabora(SCELTA),
             termine(SCELTA),!.
 elabora(0).
 elabora(1):-scelta(1).
 elabora(2):-scelta(2).            
 elabora(3):-scelta(3).
 elabora(4):-scelta(4).
 elabora(5):-scelta(5).
 elabora(6):-scelta(6).
 elabora(7):-scelta(7).
 elabora(8):-scelta(8).
 elabora(9):-scelta(9).
 termine(9).
 termine(0).
 scelta(1):-write("scelta1"),nl,
 write("seleziona opzioni da menu.."),
 write("per elaborazione aritmetica "),nl,
 write("su numeri interi da inserire\n"),
 Write("premere ENTER dopo ogni numero\n "),
 azione.
 
 
 scelta(2):-write("scelta2..somma\n"),
 sound(100,600),
 write("scrivi due numeri interi "),nl,
 write("separati da ENTER \n"),
 readint(X),readint(Y),Somma=X+Y,
 write(Somma),azione.
 
 
 scelta(3):-write("scelta 3..differenza\n"),
          sound(100,700),
          write("scrivi due numeri interi\n"),
          readint(A),readint(B),
          Differenza=A-B,
          write(Differenza),azione.
 
 scelta(4):-write("scelta4..prodotto\n"),
          sound(50,660),
	  Write("scrivi due numeri interi\n"),
	  readint(C),readint(D),
	  Prodotto=C*D,
	  write(Prodotto),azione.
 
 scelta(5):-write("scelta5...quoziente\n"),
          sound(30,600),
	  Write("scrivi due numeri interi\n"),
	  readint(R),readint(T),
	  Quoziente=R/T,
	  write(Quoziente),azione.
 
 scelta(6):-write("scelta6..divisione\n"),
          sound(100,500),
	  write("scrivi due numeri interi\n"),
	  readint(E),readint(F),
	  Divisione=E div F,
	  write(Divisione),azione.
 
 scelta(7):-write("scelta7...resto "),nl,
          sound(20,600),
	  write("scrivi due numeri interi\n"),
	  readint(U),readint(V),
	  Resto=U mod V,
	  write(Resto),azione.
 
 scelta(8):-write("chiamata 8..radice \n"),
          sound(100,600),
          write("scrivi un numero intero\n"),
          readint(W),
	  Radice=sqrt(W),
          write(Radice),azione.
 
 scelta(9):-write("fine chiamate"),
 sound(100,600),fine.           
 fine:-
 write("......fine prova").