Résolveur d'équations du second degré

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 168 fois - Téléchargée 30 fois

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

Ajouter un commentaire Commentaire
Messages postés
455
Date d'inscription
mardi 24 juillet 2001
Statut
Modérateur
Dernière intervention
10 mars 2009

tu aurrais pu mettre un zip
ou alors le dfm :(

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.