Types incompatibles 'Integer' et 'Extended'

Résolu
JordanP31 Messages postés 26 Date d'inscription   Statut Membre Dernière intervention   -  
JordanP31 Messages postés 26 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai 2 erreurs qui s'affiche comme quoi les types integer et extended sont incompatibles. Je n'arrive pas à résoudre ce problème.
Pouvez vous m'aider ?

Merci !

PS: Les lignes en questions sont en gras !


var
valeurA, valeurB, valeurC: string;
valeurA2, valeurB2, valeurC2: integer;
delta, solution1, solution2: integer;

begin
delta := 0;
valeurA := edValeurA.Text;
valeurB := edValeurB.Text;
valeurC := edValeurC.Text;
valeurA2 := StrToInt(valeurA);
valeurB2 := StrToInt(valeurB);
valeurC2 := StrToInt(valeurC);
delta := ((valeurB2 * valeurB2) - (4 * valeurA2 * valeurC2));
if delta > 0 then
begin
mmResultats.Lines.Add('Delta vaut: ' + IntToStr(delta));
solution1 := (-valeurB2 - sqrt(delta) / 2*valeurA2);
solution2 := (-valeurB2 + sqrt(delta) / 2*valeurA2);

end
else
begin
mmResultats.Lines.Add('Delta vaut: ' + IntToStr(delta));
mmResultats.Lines.Add('Il n''y a pas de solutions réélle à cette équation')
end;

end;


1 réponse

  1. Profil bloqué
     
    Pour résoudre une équation de second degré, essayez cette solution adaptée et n'oubliez pas de passer RESOLU si la solution vous conviennes .

    type
    TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Memo1: TMemo;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    private
    { Déclarations privées }
    public
    { Déclarations publiques }
    end;

    var
    Form1: TForm1;

    implementation

    {$R *.dfm}

    procedure TForm1.Button1Click(Sender: TObject);
    var A,B,C, Delta, X1, X2 : Double;

    begin

    A := StrToFloat(Edit1.Text);
    B := StrToFloat(Edit2.Text);
    C := StrToFloat(Edit3.Text);
    Delta:= Sqr(B) -(4*A*C);
    if Delta > 0 then begin
    X1 := (-B - Sqrt(Delta))/ (2*A);
    X2:=(-B + Sqrt(Delta))/ (2*A);
    Memo1.Lines.Add('L''équation a deux racines distinctes :');
    Memo1.Lines.Add('X1 = ' + FloatToStr(X1));
    Memo1.Lines.Add('X2 = ' + FloatToStr(X2));
    end else if Delta = 0 then begin
    X1 := -B /(2*A);
    Memo1.Lines.Add('L''equation a une solution unique :');
    Memo1.Lines.Add('X1 = ' + FloatToStr(X1)) end else // Le cas Delta < 0
    Memo1.Lines.Add('L''equation n''a pas de solution dans R');

    end;
    end
    0
    1. JordanP31 Messages postés 26 Date d'inscription   Statut Membre Dernière intervention   14
       
      Merci beaucoup pour cette solution !
      0