prolo13

principali funzioni matematiche:
somma		X+Y
differenza	X-Y
prodotto	X*Y
quoziente	X/Y
divisione	Numero1 div Numero2
resto		Numero1 mod Numero2
radice quadrata	sqrt(Numero)
quadrato	Numero*Numero
cubo		quadrato*Numero
esponenziale	exp(Numero)
arrotondamento	round(Reale)
assoluto	abs(Numero)
logaritmo dec.le	log(Numero)/log(10)
logaritmo nat.le	ln(Numero)
seno		sin(Radianti).....sin(Gradi*3.14/180)
coseno		cos(Radianti)
tangente	tan(Radianti)
arcotangente	arctan(Numero)
--------------------------------------------------------------
operazioni confronto su stringhe
diverse		"asia" <> "aria"
uguali		"asia" =  "asia"
maggiore	"asia" > "aria"
minore		"aria" < "asia"

/* testo1.pro */
/* funzioni matematiche */
/* GOAL : prova */
predicates
 prova
clauses
 prova:-clearwindow,sound(50,600),
 cursor(2,2),
 X=sqrt(100),write(X),sound(50,600),
 cursor(3,2),
 Y=abs(-6),write(Y),sound(50,800),
 cursor(4,2),
 S=5+7,write(S),sound(100,500),
 cursor(5,2),
 P=6*8,write(P),sound(50,700),
 cursor(6,2),
 Q=100/2,write(Q),sound(50,700),
 cursor(7,2),
 M=100 mod 30,write(M),sound(50,600),
 cursor(8,2),
 D=100 div 20,write(D),sound(50,500),
 cursor(9,2),
 E=exp(3),write(E),sound(50,700),
 cursor(10,2),
 T=round(7.8),write(T),sound(50,900),
 cursor(11,2),
 LG=log(100)/log(10),write(LG),sound(50,700),
 cursor(12,2),
 L1=LN(100),write(L1),sound(50,800),
 cursor(1,2),beep,beep,beep.
 
    

/* testo2.pro */
/* funzioni matematiche */
/* GOAL : prova */
predicates
 prova
clauses
 prova:-clearwindow,sound(50,600),
 cursor(2,2),
 X=sin(30*3.14/180),write(X),sound(50,600),
 cursor(3,2),
 Y=cos(30*3.14/180),write(Y),sound(50,800),
 cursor(4,2),
 S=tan(30*3.14/180),write(S),sound(100,500),
 cursor(5,2),
 P=arctan(1),write(P),sound(50,700),
 cursor(9,2),beep,beep,beep.
 
    

  
 
/* reg1.pro */
/* richiesta dati numerici e uso finestra */
domains
 X,Y = integer
clauses
 goal
 clearwindow,
 makewindow(1,7,3,"",1,1,20,40),
 attribute(3),
 write("scrivi intero:"),readint(X),
 write("scrivi intero:"),readint(Y),
 Prodotto=X*Y,
 write("prodotto=",Prodotto),
 cursor(10,2),
 keypressed.
 
   

/* reg2.pro */
/* richiesta dati numerici e uso finestra */
/* esegue operazioni su numeri inseriti */
domains
 X,Y = integer
clauses
 goal
 clearwindow,
 makewindow(1,7,3,"",1,1,20,70),
 attribute(3),
 write("scrivi intero:"),readint(X),
 write("scrivi intero:"),readint(Y),
 Prodotto=X*Y,
 Somma=X+Y,
 Differenza=X-Y,
 Quoziente=X/Y,
 Divisione=X div Y,
 Resto=X mod Y,
 cursor(4,2),attribute(5),
 write("prodotto.....=",Prodotto),
 cursor(5,2),
 write("somma....... =",Somma),
 cursor(6,2),
 write("Differenza...=",Differenza),
 cursor(7,2),
 write("quoziente....=",Quoziente),
 cursor(8,2),
 write("divisione....=",Divisione),
 cursor(9,2),
 write("resto........=",Resto),
 keypressed.
 

 


/* reg3.pro */
/* richiesta dati numerici e uso finestra */
/* esegue operazioni su numeri inseriti */
domains
 X,Z,E = integer
 Y     = real
clauses
 goal
 clearwindow,
 makewindow(1,7,3,"",1,1,20,70),
 attribute(3),
 write("scrivi angolo intero..30:"),readint(X),
 write("scrivi numero reale 12.7:"),readreal(Y),
 write("scrivi intero 10,20,100.:"),readint(Z),
 write("scrivi intero 2,3,4.....:"),readint(E),
 Seno=sin(X*3.14/180),
 Coseno=cos(X*3.14/180),
 Tangente=tan(X*3.14/180),
 Arcotangente=arctan(E),
 Assoluto=abs(Y),
 Arrotondato=round(Y),
 Logaritmonaturale=ln(Z),
 Logaritmodecinale=LOG(Z)/LOG(10),
 Esponenziale=exp(E),
 cursor(4,2),attribute(5),
 write("seno di..........=",X,".....",Seno),
 cursor(5,2),
 write("coseno di....... =",X,".....",Coseno),
 cursor(6,2),
 write("tangente di......=",X,".....",Tangente),
 cursor(7,2),
 write("arcotangente di..=",E,".....",Arcotangente),
 cursor(8,2),
 write("assoluto di......=",Y,".....",Assoluto),
 cursor(9,2),
 write("arrotondato di...=",Y,".....",Arrotondato),
 cursor(10,2),
 write("esponenziale di..=",E,".....",Esponenziale),
 keypressed.