|
Program Eq_resolution;
Uses
Crt;
var
ripeti:char;
A,B,C : integer;
X,X1,delta:real;
Begin
Repeat
ClrScr;
GoToXY(3,WhereY+1);Write('Inserire A : ');ReadLn(A);
GoToXY(3,WhereY+1);Write('Inserire B : ');ReadLn(B);
GoToXY(3,WhereY+1);Write('Inserire C : ');ReadLn(C);
IF A=0 then
Begin
X:=-(c/b);
GotoXY(3,WhereY+1);WriteLn('L''equazione inserita Š di primo grado.');
GoToXY(3,WhereY+1);Write('X=',X:0:2);
End
Else IF (B=0) and (C=0) then
Begin
GoToXY(3,WhereY+1);Write('L''equazione inserita Š monomia');Delay(10);
End
Else IF B=0 Then
Begin
GoToXY(3,WhereY+1);Write('L''equazione inserita Š pura.');
X:=(-c/a);
if X<0 Then
Begin
GoToXY(3,WhereY+1);Write('Attenzione : X^2=',X:0:4);
Delay(50);
End
Else
Begin
GoToXY(3,WhereY+1);Write('X= +/- ',sqrt(X):0:4);
End;
End
Else IF C=0 Then
Begin
{Error}
GoToXY(3,WhereY+1);Write('L''equazione inserita Š spuria.');
X:=-c/a;
GoToXY(3,WhereY+1);Write('X=0.0000 o X=',X:0:4);
End
Else
Begin
Delta:=(b*b)-4*(a*c);
GoToXY(3,WhereY+1);Write('delta = ',delta:0:2);
If delta<0 then
Begin
GoToXY(3,WhereY+1);Write('Attenzione : il delta Š minore di O');
End
Else
Begin
X:=-b+sqrt(delta)/2*a ;
X1:=-b-sqrt(delta)/2*a ;
GoToXY(3,WhereY+1);Write('X1 = ',X:0:2,'X2 = ',X1:0:2);
End;
End;
GoToXY(3,WhereY+1);Write('Vuoi ripetere l''operazione ? : ');ReadLn(ripeti);
Until (ripeti<>'s') and (ripeti<>'S')
End.
|
|