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.
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.