Equazione 2° grado

Risolvere un’equazione di secondo grado ax2+bx+c=0, dati i coefficienti a, b e c.

secondo_gradoAnalisi

Un po’ di matematica…

 eq2_1

Esempi

Istanza Elaborazione Risposta
1 x2-5x+6=0 a=1
b=-5
c=6
D=b2-4ac=…
D=1>0
x1=…
x2=…
2
3
2 x2+2x+1=0 a=1
b=2
c=1
D=b2-4ac=…
D=0
x1,2=-2/2 -1
3 x2+x+1=0 a=1
b=1
c=1
D=b2-4ac=…
D=-3<0
Impossibile
Program SecondoGrado;
Var
   a, b, c: Real;
   D, x: Real;
Begin
   Write('a? '); Readln(a);
   Write('b? '); Readln(b);
   Write('c? '); Readln(c);

   D:=b*b-4*a*c;
   If(D > 0) Then
      Begin
         D:=Sqrt(D);
         x:=(-b-D)/(2*a);
         Writeln('x1 = ', x:1:2);
         x:=(-b+D)/(2*a);
         Writeln('x2 = ', x:1:2);        
      End     
   Else
      Begin
         If(D = 0) Then
            Begin
               x:=-b/(2*a);
               Writeln('x = ', x:1:2);
            End
         Else
            Begin
               Writeln("Impossibile");
            End;
      End;
   ReadLn;
End.

Più compatto…

...
   If(D > 0) Then
      Begin
         D:=Sqrt(D);
         x:=(-b-D)/(2*a);
         Writeln('x1 = ', x:1:2);
         x:=(-b+D)/(2*a);
         Writeln('x2 = ', x:1:2);        
      End     
   Else If(D = 0) Then
      Begin
         x:=-b/(2*a);
         Writeln('x = ', x:1:2);
      End
   Else
      Writeln("Impossibile");
...

secondo_grado_2Se a=0 si discute l’equazione di primo grado bx+c=0, altrimenti si discute l’equazione di secondo grado ax2+bx+c=0

eq2_2


Se il discriminante è minore di zero si calcolano le 2 soluzioni complesse coniugate

eq2_3