/* 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).
+------------------------------------ ¦+----------------------------------- +¦soluzione equazione 2 grado +¦ax^2+bx+c ¦¦scrivi valori ,seguiti da enter ¦¦a=2 ¦¦b=4 ¦¦c=2 ¦¦discriminante=0 ¦¦soluzione equazione: ¦¦x1=x2=-1 ¦¦ ¦¦ +----------------------------------- ¦+---------------------------------- +¦soluzione equazione 2 grado +¦ax^2+bx+c ¦¦scrivi valori ,seguiti da enter ¦¦a=2 ¦¦b=4 ¦¦c=-3 ¦¦discriminante=40 ¦¦soluzione equazione: ¦¦x1=0.58113883008 ¦¦x2=-2.5811388301 ¦¦ ¦¦ +----------------------------------- ¦+---------------------------------- +¦soluzione equazione 2 grado +¦ax^2+bx+c ¦¦scrivi valori ,seguiti da enter ¦¦a=2 ¦¦b=3 ¦¦c=8 ¦¦discriminante=-55 ¦¦soluzione con radici complesse ¦¦ ¦¦
ritorna