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).