Résolveur d'équations du second degré

Contenu du snippet

Simple résolveur d'équations du second degré (ax²+bx+c)

Source / Exemple :


unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Button1: TButton;
    Button2: TButton;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);
var a : Integer;
    b : Integer;
    c : Integer;
    delta : Integer;
    x1 : Extended;
    x2 : Extended;

begin

a := StrToInt(Edit1.Text);
b := StrToInt(Edit2.Text);
c := StrToInt(Edit3.Text);

delta := (b*b)-(4*a*c);

Edit4.Text := IntToStr(delta);

if(delta<0)     then
begin
Edit5.Text := 'irréel';
Edit6.Text := 'irréel';
end;

if(delta>=0)     then
begin
x1 := (-b-sqrt(delta))/(2*a);
x2 := (-b+sqrt(delta))/(2*a);
Edit5.Text := FloatToStr(x1);
Edit6.Text := FloatToStr(x2);
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
close
end;

end.

Conclusion :


Le code est simple, trois variable a,b,c, une variable delta, deux variable x1 et x2. Deux boucles conditionelles pour le test de delta inférieur à zéro ou non.
Un problème? Posez moi une question ou alors mettez un commentaire.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.