copiare listati

è possibile selezionare,
copiare listato programma visualzzato:
incollarlo su notes :
salvare come
file.pro (selezionare tutti i file,altrimenti diventa file.txt non utilizzabile da prolog)


richiamare con prolog (installato nel proprio PC) e lanciare con run


programma visualizzato da selezionare,copiare, incollare, salvare come file.pro

/* equa2.mar */
/* soluzione e discussione equazione 2 grado */
/* valori interi o reali */

nowarnings
domains
predicates
azione
opera
tasto
verifica(real,real,real,real)
elabora(integer)
calcola
goal azione.
clauses
azione:-makewindow(1,5,1,"",1,1,20,78),opera.
opera:-
 clearwindow,
 write("scrivi 1 per calcolo equazione"),nl,
 write("scrivi 0 per finire"),nl,
 readint(N),clearwindow,
 elabora(N).
  elabora(1):-calcola.
  elabora(0):-exit.
 calcola:- 
 write("soluzione equazione 2 grado "),nl,
 write("ax^2+bx+c "),nl,
 write("scrivi valori ,seguiti da enter"),nl,
 write("a="),readreal(A),
 write("b="),readreal(B),
 write("c="),readreal(C),
 D=B*B-4*A*C,
 write("discriminante=",D),nl,
 verifica(D,A,B,C).
 
 verifica(D,A,B,C):-
 D>0,
 R=sqrt(D),
 X1=(-B+R)/(2*A),
 X2=(-B-R)/(2*A),
 write("soluzione equazione:"),nl,
 write("x1=",X1),nl,
 write("x2=",X2),nl,tasto,opera;
 
 D=0,
 X1=-B/(2*A),
 X2=X1,
 write("soluzione equazione:"),nl,
 write("x1=x2=",X1),nl,tasto,opera;
 
 D<0,
 write("soluzione con radici complesse "),nl,
 tasto,opera. 
 
 tasto:-
 makewindow(3,3,2,"",20,60,3,15),
 write("premi enter"),
 readchar(_),removewindow,gotowindow(1).

copiato su notes come equa2.pro

domains
predicates
azione
opera
tasto
verifica(real,real,real,real)
elabora(integer)
calcola
goal azione.
clauses
azione:-makewindow(1,5,1,"",1,1,20,78),opera.
opera:-
clearwindow,
write("scrivi 1 per calcolo equazione"),nl,
write("scrivi 0 per finire"),nl,
readint(N),clearwindow,
elabora(N).
elabora(1):-calcola.
elabora(0):-exit.
calcola:-
write("soluzione equazione 2 grado "),nl,
write("ax^2+bx+c "),nl,
write("scrivi valori ,seguiti da enter"),nl,
write("a="),readreal(A),
write("b="),readreal(B),
write("c="),readreal(C),
D=B*B-4*A*C,
write("discriminante=",D),nl,
verifica(D,A,B,C).

verifica(D,A,B,C):-
D>0,
R=sqrt(D),
X1=(-B+R)/(2*A),
X2=(-B-R)/(2*A),
write("soluzione equazione:"),nl,
write("x1=",X1),nl,
write("x2=",X2),nl,tasto,opera;

D=0,
X1=-B/(2*A),
X2=X1,
write("soluzione equazione:"),nl,
write("x1=x2=",X1),nl,tasto,opera;

D<0,
write("soluzione con radici complesse "),nl,
tasto,opera.

tasto:-
makewindow(3,3,2,"",20,60,3,15),
write("premi enter"),
readchar(_),removewindow,gotowindow(1).