Accueil > > > TRINOME DU SECOND DEGRES
TRINOME DU SECOND DEGRES
Information sur la source
Description
Ce petit programme resoud les trinomes du second degré. Le code est peu commenté car je pense que les noms des composants sont assez éloquents et que les procédures sont assez courtes.
Source
- //projet
-
- program Trinome;
-
- uses
- Forms,
- trinomprinc in 'trinomprinc.pas' {fmTrinome};
-
- {$R *.res}
-
- begin
- Application.Initialize;
- Application.CreateForm(TfmTrinome, fmTrinome);
- Application.Run;
- end.
-
- //unité
-
- unit trinomprinc;
-
- interface
-
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, StdCtrls, Clipbrd, Menus;
-
- type
- TfmTrinome = class(TForm)
- lbresult: TListBox;
- donnee1: TEdit;
- donnee2: TEdit;
- donnee3: TEdit;
- txIntro: TLabel;
- txOp1: TLabel;
- txOp2: TLabel;
- txOp3: TLabel;
- btresoud: TButton;
- btefface: TButton;
- bteftout: TButton;
- MainMenu1: TMainMenu;
- Fichier1: TMenuItem;
- Fermer1: TMenuItem;
- Edition1: TMenuItem;
- Copierdonnees1: TMenuItem;
- Copierresultats1: TMenuItem;
- PopupMenu1: TPopupMenu;
- Copier1: TMenuItem;
- Coller1: TMenuItem;
- Couper1: TMenuItem;
- txResult: TLabel;
- PopupMenu2: TPopupMenu;
- PopupMenu3: TPopupMenu;
- Copier2: TMenuItem;
- Coller2: TMenuItem;
- Couper2: TMenuItem;
- N1: TMenuItem;
- Couperdonnes1: TMenuItem;
- Couperrsultats1: TMenuItem;
- Copier3: TMenuItem;
- Coller3: TMenuItem;
- Couper3: TMenuItem;
- Aide1: TMenuItem;
- Lenombrei1: TMenuItem;
- Aproposde1: TMenuItem;
- procedure Fermer1Click(Sender: TObject);
- procedure Copierdonnees1Click(Sender: TObject);
- procedure Aproposde1Click(Sender: TObject);
- procedure Copierresultats1Click(Sender: TObject);
- procedure bteffaceClick(Sender: TObject);
- procedure Copier1Click(Sender: TObject);
- procedure Coller1Click(Sender: TObject);
- procedure Couper1Click(Sender: TObject);
- procedure bteftoutClick(Sender: TObject);
- procedure btresoudClick(Sender: TObject);
- procedure Couperdonnes1Click(Sender: TObject);
- procedure Couperrsultats1Click(Sender: TObject);
- procedure Copier2Click(Sender: TObject);
- procedure Copier3Click(Sender: TObject);
- procedure Couper2Click(Sender: TObject);
- procedure Couper3Click(Sender: TObject);
- procedure Coller2Click(Sender: TObject);
- procedure Coller3Click(Sender: TObject);
- procedure Lenombrei1Click(Sender: TObject);
- private
- { Déclarations privées }
- public
- { Déclarations publiques }
- end;
-
- var
- fmTrinome: TfmTrinome;
-
- implementation
-
- {$R *.dfm}
-
- procedure TfmTrinome.Fermer1Click(Sender: TObject);
- begin
- Close;
- end;
-
- procedure TfmTrinome.Copierdonnees1Click(Sender: TObject);
- begin
- Clipboard.AsText :=
- txOp1.Caption + FloatToStr(StrToFloat(Donnee1.Text)) + txOp2.Caption + FloatToStr(StrToFloat(Donnee2.Text)) + txOp3.Caption + FloatToStr(StrToFloat(Donnee3.Text)) + TxResult.Caption;
- end;
-
- procedure TfmTrinome.Aproposde1Click(Sender: TObject);
- begin
- ShowMessage('par Aurelien Martin le 20/08/05');
- end;
-
- procedure TfmTrinome.Copierresultats1Click(Sender: TObject);
- begin
- Clipboard.AsText := lbResult.Items.Text;
- end;
-
- procedure TfmTrinome.bteffaceClick(Sender: TObject);
- begin
- Donnee1.Clear;
- Donnee2.Clear;
- Donnee3.Clear;
- end;
-
- procedure TfmTrinome.Copier1Click(Sender: TObject);
- begin
- Clipboard.AsText := Donnee1.SelText;
- end;
-
- procedure TfmTrinome.Coller1Click(Sender: TObject);
- begin
- Donnee1.Text := Donnee1.Text + Clipboard.Astext;
- end;
-
- procedure TfmTrinome.Couper1Click(Sender: TObject);
- begin
- Clipboard.AsText := Donnee1.SelText;
- Donnee1.ClearSelection
- end;
-
- procedure TfmTrinome.bteftoutClick(Sender: TObject);
- begin
- Donnee1.Clear;
- Donnee2.Clear;
- Donnee3.Clear;
- lbresult.Items.Clear;
- end;
-
- procedure TfmTrinome.btresoudClick(Sender: TObject); //Cette procédure fait tout
- var
- Delta: Currency;
- begin
- if StrToFloat(Donnee1.Text) = 0 then
- begin
- lbResult.Items.Add('Premiere donnée nulle');
- lbResult.Items.Add('Ce trinome n''est pas du second degé.');
- lbResult.Items.Add('****************************************************************************');
- end
- else
- begin
- Delta := StrToFloat(Donnee2.Text) * StrToFloat(Donnee2.Text) - 4 * StrToFloat(Donnee1.Text) * StrToFloat(Donnee3.Text);
- lbResult.Items.Add('Delta = (' + FloatToStr(StrToFloat(Donnee2.Text)) + ')² - 4 * ' + FloatToStr(StrToFloat(Donnee1.Text)) + ' * ' + FloatToStr(StrToFloat(Donnee3.Text)));
- lbResult.Items.Add('Delta = ' + FloatToStr(Delta));
- if Delta < 0 then
- begin
- lbResult.Items.Add('Delta négatif');
- lbResult.Items.Add('Aucun nombre réel solution du trinome');
- lbResult.Items.Add('X =(' + FloatToStr(-1 * StrToFloat(Donnee2.Text))+ '-V' + FloatToStr(Delta) + ')/(2*' + FloatToStr(StrToFloat(Donnee1.Text)) + ')');
- lbResult.Items.Add('X =' + FloatToStr(-1 * StrToFloat(Donnee2.Text)/(2 * StrToFloat(Donnee1.Text))) + ' - ' + FloatToStr(sqrt(-1 * Delta) / 2 * StrToFloat(Donnee1.Text)) + 'i');
- lbResult.Items.Add('ou');
- lbResult.Items.Add('X =(' + FloatToStr(-1 * StrToFloat(Donnee2.Text))+ '+V' + FloatToStr(Delta) + ')/(2*' + FloatToStr(StrToFloat(Donnee1.Text)) + ')');
- lbResult.Items.Add('X =' + FloatToStr(-1 * StrToFloat(Donnee2.Text)/(2 * StrToFloat(Donnee1.Text))) + ' + ' + FloatToStr(sqrt(-1 * Delta) / (2 * StrToFloat(Donnee1.Text))) + 'i');
- lbResult.Items.Add('****************************************************************************');
- end
- else if Delta = 0 then
- begin
- lbResult.Items.Add('Delta nul');
- lbResult.Items.Add('Une Solution');
- lbResult.Items.Add('X=(' + FloatToStr(-1 * StrToFloat(Donnee2.Text)) + ')/ (2*' + Donnee1.Text + ')');
- lbResult.Items.Add('X=' + FloatToStr(-1 * StrToFloat(Donnee2.Text) / (2 * StrToFloat(Donnee1.Text))));
- lbResult.Items.Add('****************************************************************************');
- end
- else
- begin
- lbResult.Items.Add('Delta positif');
- lbResult.Items.Add('Deux solutions');
- lbResult.Items.Add('X=(' + FloatToStr(-1 * StrToFloat(Donnee2.Text))+ '-V' + FloatToStr(Delta) + ')/ (2*' + FloatToStr(StrToFloat(Donnee1.Text)) + ')');
- lbResult.Items.Add('X=' + FloatToStr((-1 * StrToFloat(Donnee2.Text) - sqrt(Delta)) / (2 * StrToFloat(Donnee1.Text))));
- lbResult.Items.Add('ou');
- lbResult.Items.Add('X=(' + FloatToStr(-1 * StrToFloat(Donnee2.Text))+ '+V' + FloatToStr(Delta) + ')/ (2*' + FloatToStr(StrToFloat(Donnee1.Text)) + ')');
- lbResult.Items.Add('X=' + FloatToStr((-1 * StrToFloat(Donnee2.Text) + sqrt(Delta)) / (2 * StrToFloat(Donnee1.Text))));
- lbResult.Items.Add('****************************************************************************');
- end;
- end;
-
- end;
-
- procedure TfmTrinome.Couperdonnes1Click(Sender: TObject);
- begin
- Clipboard.AsText :=
- txOp1.Caption + FloatToStr(StrToFloat(Donnee1.Text)) + txOp2.Caption + FloatToStr(StrToFloat(Donnee2.Text)) + txOp3.Caption + FloatToStr(StrToFloat(Donnee3.Text)) + TxResult.Caption;
- Donnee1.Clear;
- Donnee2.Clear;
- Donnee3.Clear;
- end;
-
- procedure TfmTrinome.Couperrsultats1Click(Sender: TObject);
- begin
- Clipboard.AsText := lbResult.Items.Text;
- lbResult.Items.Clear;
- end;
-
- procedure TfmTrinome.Copier2Click(Sender: TObject);
- begin
- Clipboard.AsText := Donnee2.SelText;
- end;
-
- procedure TfmTrinome.Copier3Click(Sender: TObject);
- begin
- Clipboard.AsText := Donnee3.SelText;
- end;
-
- procedure TfmTrinome.Couper2Click(Sender: TObject);
- begin
- Clipboard.AsText := Donnee2.SelText;
- Donnee2.ClearSelection
- end;
-
- procedure TfmTrinome.Couper3Click(Sender: TObject);
- begin
- Clipboard.AsText := Donnee3.SelText;
- Donnee3.ClearSelection
- end;
-
- procedure TfmTrinome.Coller2Click(Sender: TObject);
- begin
- Donnee2.Text := Donnee2.Text + Clipboard.Astext;
- end;
-
- procedure TfmTrinome.Coller3Click(Sender: TObject);
- begin
- Donnee3.Text := Donnee3.Text + Clipboard.Astext;
- end;
-
- procedure TfmTrinome.Lenombrei1Click(Sender: TObject);
- var
- Nbri: TStringList;
- begin
- Nbri := TStringList.Create;
- Nbri.Add('**********************************************************');
- Nbri.Add('Le nombre i est un nombre de substitution');
- Nbri.Add('Il n''est pas réel et remplace la racine carrée de -1');
- Nbri.Add('C''est à dire que la racine carrée d''un nombre négatif');
- Nbri.Add('est égale à la racine carrée de la distance à 0 de ce');
- Nbri.Add('nombre multipliée par i.');
- Nbri.Add('Ce n''est pas un nombre réel -> c''est un nombre complexe');
- Nbri.Add('**********************************************************');
- ShowMessage(Nbri.Text);
- Nbri.Destroy;
- end;
-
- end.
- //fiche
-
- object fmTrinome: TfmTrinome
- Left = 237
- Top = 218
- Width = 486
- Height = 360
- HorzScrollBar.ParentColor = False
- Caption = 'Trinomes du second degré'
- Color = clWindowText
- Font.Charset = DEFAULT_CHARSET
- Font.Color = clWindowText
- Font.Height = -11
- Font.Name = 'MS Sans Serif'
- Font.Style = []
- Menu = MainMenu1
- OldCreateOrder = False
- PixelsPerInch = 96
- TextHeight = 13
- object txIntro: TLabel
- Left = 8
- Top = 16
- Width = 447
- Height = 29
- Align = alCustom
- Caption = 'Dans un trinôme du second degré tel que '
- Font.Charset = DEFAULT_CHARSET
- Font.Color = cl3DLight
- Font.Height = -24
- Font.Name = 'MS Sans Serif'
- Font.Style = []
- ParentFont = False
- end
- object txOp1: TLabel
- Left = 0
- Top = 64
- Width = 57
- Height = 29
- Caption = 'P(x)='
- Font.Charset = DEFAULT_CHARSET
- Font.Color = cl3DLight
- Font.Height = -24
- Font.Name = 'MS Sans Serif'
- Font.Style = []
- ParentFont = False
- end
- object txOp2: TLabel
- Left = 168
- Top = 64
- Width = 38
- Height = 29
- Caption = 'X²+'
- Font.Charset = DEFAULT_CHARSET
- Font.Color = cl3DLight
- Font.Height = -24
- Font.Name = 'MS Sans Serif'
- Font.Style = []
- ParentFont = False
- end
- object txOp3: TLabel
- Left = 312
- Top = 64
- Width = 31
- Height = 29
- Caption = 'X+'
- Font.Charset = DEFAULT_CHARSET
- Font.Color = cl3DLight
- Font.Height = -24
- Font.Name = 'MS Sans Serif'
- Font.Style = []
- ParentFont = False
- end
- object txResult: TLabel
- Left = 448
- Top = 64
- Width = 27
- Height = 29
- Caption = '=0'
- Font.Charset = DEFAULT_CHARSET
- Font.Color = cl3DLight
- Font.Height = -24
- Font.Name = 'MS Sans Serif'
- Font.Style = []
- ParentFont = False
- end
- object lbresult: TListBox
- Left = 0
- Top = 162
- Width = 478
- Height = 143
- Align = alBottom
- Color = clBlack
- Font.Charset = DEFAULT_CHARSET
- Font.Color = cl3DLight
- Font.Height = -11
- Font.Name = 'MS Sans Serif'
- Font.Style = []
- ItemHeight = 13
- MultiSelect = True
- ParentFont = False
- TabOrder = 0
- end
- object donnee1: TEdit
- Left = 64
- Top = 72
- Width = 97
- Height = 21
- Color = clInfoText
- Font.Charset = DEFAULT_CHARSET
- Font.Color = clRed
- Font.Height = -11
- Font.Name = 'MS Sans Serif'
- Font.Style = []
- ParentFont = False
- PopupMenu = PopupMenu1
- TabOrder = 1
- end
- object donnee2: TEdit
- Left = 208
- Top = 72
- Width = 97
- Height = 21
- Color = clWindowText
- Font.Charset = DEFAULT_CHARSET
- Font.Color = clRed
- Font.Height = -11
- Font.Name = 'MS Sans Serif'
- Font.Style = []
- ParentFont = False
- PopupMenu = PopupMenu2
- TabOrder = 2
- end
- object donnee3: TEdit
- Left = 344
- Top = 72
- Width = 97
- Height = 21
- Color = clWindowText
- Font.Charset = DEFAULT_CHARSET
- Font.Color = clRed
- Font.Height = -11
- Font.Name = 'MS Sans Serif'
- Font.Style = []
- ParentFont = False
- PopupMenu = PopupMenu3
- TabOrder = 3
- end
- object btresoud: TButton
- Left = 16
- Top = 112
- Width = 121
- Height = 25
- Caption = 'Resoudre'
- Default = True
- TabOrder = 4
- OnClick = btresoudClick
- end
- object btefface: TButton
- Left = 160
- Top = 112
- Width = 129
- Height = 25
- Caption = 'Effacer données'
- TabOrder = 5
- OnClick = bteffaceClick
- end
- object bteftout: TButton
- Left = 312
- Top = 112
- Width = 129
- Height = 25
- Caption = 'Effacer Tout'
- TabOrder = 6
- OnClick = bteftoutClick
- end
- object MainMenu1: TMainMenu
- object Fichier1: TMenuItem
- Caption = 'Fichier'
- object Fermer1: TMenuItem
- Caption = 'Fermer'
- OnClick = Fermer1Click
- end
- end
- object Edition1: TMenuItem
- Caption = 'Edition'
- object Copierdonnees1: TMenuItem
- Caption = 'Copier données'
- OnClick = Copierdonnees1Click
- end
- object Copierresultats1: TMenuItem
- Caption = 'Copier résultats'
- OnClick = Copierresultats1Click
- end
- object N1: TMenuItem
- Caption = '-'
- end
- object Couperdonnes1: TMenuItem
- Caption = 'Couper données'
- OnClick = Couperdonnes1Click
- end
- object Couperrsultats1: TMenuItem
- Caption = 'Couper résultats'
- OnClick = Couperrsultats1Click
- end
- end
- object Aide1: TMenuItem
- Caption = 'Aide'
- object Lenombrei1: TMenuItem
- Caption = 'Le nombre i'
- OnClick = Lenombrei1Click
- end
- object Aproposde1: TMenuItem
- Caption = 'A propos de'
- OnClick = Aproposde1Click
- end
- end
- end
- object PopupMenu1: TPopupMenu
- object Copier1: TMenuItem
- Caption = 'Copier'
- OnClick = Copier1Click
- end
- object Coller1: TMenuItem
- Caption = 'Coller'
- OnClick = Coller1Click
- end
- object Couper1: TMenuItem
- Caption = 'Couper'
- OnClick = Couper1Click
- end
- end
- object PopupMenu2: TPopupMenu
- object Copier2: TMenuItem
- Caption = 'Copier'
- OnClick = Copier2Click
- end
- object Coller2: TMenuItem
- Caption = 'Coller'
- OnClick = Coller2Click
- end
- object Couper2: TMenuItem
- Caption = 'Couper'
- OnClick = Couper2Click
- end
- end
- object PopupMenu3: TPopupMenu
- object Copier3: TMenuItem
- Caption = 'Copier'
- OnClick = Copier3Click
- end
- object Coller3: TMenuItem
- Caption = 'Coller'
- OnClick = Coller3Click
- end
- object Couper3: TMenuItem
- Caption = 'Couper'
- OnClick = Couper3Click
- end
- end
- end
//projet
program Trinome;
uses
Forms,
trinomprinc in 'trinomprinc.pas' {fmTrinome};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TfmTrinome, fmTrinome);
Application.Run;
end.
//unité
unit trinomprinc;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Clipbrd, Menus;
type
TfmTrinome = class(TForm)
lbresult: TListBox;
donnee1: TEdit;
donnee2: TEdit;
donnee3: TEdit;
txIntro: TLabel;
txOp1: TLabel;
txOp2: TLabel;
txOp3: TLabel;
btresoud: TButton;
btefface: TButton;
bteftout: TButton;
MainMenu1: TMainMenu;
Fichier1: TMenuItem;
Fermer1: TMenuItem;
Edition1: TMenuItem;
Copierdonnees1: TMenuItem;
Copierresultats1: TMenuItem;
PopupMenu1: TPopupMenu;
Copier1: TMenuItem;
Coller1: TMenuItem;
Couper1: TMenuItem;
txResult: TLabel;
PopupMenu2: TPopupMenu;
PopupMenu3: TPopupMenu;
Copier2: TMenuItem;
Coller2: TMenuItem;
Couper2: TMenuItem;
N1: TMenuItem;
Couperdonnes1: TMenuItem;
Couperrsultats1: TMenuItem;
Copier3: TMenuItem;
Coller3: TMenuItem;
Couper3: TMenuItem;
Aide1: TMenuItem;
Lenombrei1: TMenuItem;
Aproposde1: TMenuItem;
procedure Fermer1Click(Sender: TObject);
procedure Copierdonnees1Click(Sender: TObject);
procedure Aproposde1Click(Sender: TObject);
procedure Copierresultats1Click(Sender: TObject);
procedure bteffaceClick(Sender: TObject);
procedure Copier1Click(Sender: TObject);
procedure Coller1Click(Sender: TObject);
procedure Couper1Click(Sender: TObject);
procedure bteftoutClick(Sender: TObject);
procedure btresoudClick(Sender: TObject);
procedure Couperdonnes1Click(Sender: TObject);
procedure Couperrsultats1Click(Sender: TObject);
procedure Copier2Click(Sender: TObject);
procedure Copier3Click(Sender: TObject);
procedure Couper2Click(Sender: TObject);
procedure Couper3Click(Sender: TObject);
procedure Coller2Click(Sender: TObject);
procedure Coller3Click(Sender: TObject);
procedure Lenombrei1Click(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
var
fmTrinome: TfmTrinome;
implementation
{$R *.dfm}
procedure TfmTrinome.Fermer1Click(Sender: TObject);
begin
Close;
end;
procedure TfmTrinome.Copierdonnees1Click(Sender: TObject);
begin
Clipboard.AsText :=
txOp1.Caption + FloatToStr(StrToFloat(Donnee1.Text)) + txOp2.Caption + FloatToStr(StrToFloat(Donnee2.Text)) + txOp3.Caption + FloatToStr(StrToFloat(Donnee3.Text)) + TxResult.Caption;
end;
procedure TfmTrinome.Aproposde1Click(Sender: TObject);
begin
ShowMessage('par Aurelien Martin le 20/08/05');
end;
procedure TfmTrinome.Copierresultats1Click(Sender: TObject);
begin
Clipboard.AsText := lbResult.Items.Text;
end;
procedure TfmTrinome.bteffaceClick(Sender: TObject);
begin
Donnee1.Clear;
Donnee2.Clear;
Donnee3.Clear;
end;
procedure TfmTrinome.Copier1Click(Sender: TObject);
begin
Clipboard.AsText := Donnee1.SelText;
end;
procedure TfmTrinome.Coller1Click(Sender: TObject);
begin
Donnee1.Text := Donnee1.Text + Clipboard.Astext;
end;
procedure TfmTrinome.Couper1Click(Sender: TObject);
begin
Clipboard.AsText := Donnee1.SelText;
Donnee1.ClearSelection
end;
procedure TfmTrinome.bteftoutClick(Sender: TObject);
begin
Donnee1.Clear;
Donnee2.Clear;
Donnee3.Clear;
lbresult.Items.Clear;
end;
procedure TfmTrinome.btresoudClick(Sender: TObject); //Cette procédure fait tout
var
Delta: Currency;
begin
if StrToFloat(Donnee1.Text) = 0 then
begin
lbResult.Items.Add('Premiere donnée nulle');
lbResult.Items.Add('Ce trinome n''est pas du second degé.');
lbResult.Items.Add('****************************************************************************');
end
else
begin
Delta := StrToFloat(Donnee2.Text) * StrToFloat(Donnee2.Text) - 4 * StrToFloat(Donnee1.Text) * StrToFloat(Donnee3.Text);
lbResult.Items.Add('Delta = (' + FloatToStr(StrToFloat(Donnee2.Text)) + ')² - 4 * ' + FloatToStr(StrToFloat(Donnee1.Text)) + ' * ' + FloatToStr(StrToFloat(Donnee3.Text)));
lbResult.Items.Add('Delta = ' + FloatToStr(Delta));
if Delta < 0 then
begin
lbResult.Items.Add('Delta négatif');
lbResult.Items.Add('Aucun nombre réel solution du trinome');
lbResult.Items.Add('X =(' + FloatToStr(-1 * StrToFloat(Donnee2.Text))+ '-V' + FloatToStr(Delta) + ')/(2*' + FloatToStr(StrToFloat(Donnee1.Text)) + ')');
lbResult.Items.Add('X =' + FloatToStr(-1 * StrToFloat(Donnee2.Text)/(2 * StrToFloat(Donnee1.Text))) + ' - ' + FloatToStr(sqrt(-1 * Delta) / 2 * StrToFloat(Donnee1.Text)) + 'i');
lbResult.Items.Add('ou');
lbResult.Items.Add('X =(' + FloatToStr(-1 * StrToFloat(Donnee2.Text))+ '+V' + FloatToStr(Delta) + ')/(2*' + FloatToStr(StrToFloat(Donnee1.Text)) + ')');
lbResult.Items.Add('X =' + FloatToStr(-1 * StrToFloat(Donnee2.Text)/(2 * StrToFloat(Donnee1.Text))) + ' + ' + FloatToStr(sqrt(-1 * Delta) / (2 * StrToFloat(Donnee1.Text))) + 'i');
lbResult.Items.Add('****************************************************************************');
end
else if Delta = 0 then
begin
lbResult.Items.Add('Delta nul');
lbResult.Items.Add('Une Solution');
lbResult.Items.Add('X=(' + FloatToStr(-1 * StrToFloat(Donnee2.Text)) + ')/ (2*' + Donnee1.Text + ')');
lbResult.Items.Add('X=' + FloatToStr(-1 * StrToFloat(Donnee2.Text) / (2 * StrToFloat(Donnee1.Text))));
lbResult.Items.Add('****************************************************************************');
end
else
begin
lbResult.Items.Add('Delta positif');
lbResult.Items.Add('Deux solutions');
lbResult.Items.Add('X=(' + FloatToStr(-1 * StrToFloat(Donnee2.Text))+ '-V' + FloatToStr(Delta) + ')/ (2*' + FloatToStr(StrToFloat(Donnee1.Text)) + ')');
lbResult.Items.Add('X=' + FloatToStr((-1 * StrToFloat(Donnee2.Text) - sqrt(Delta)) / (2 * StrToFloat(Donnee1.Text))));
lbResult.Items.Add('ou');
lbResult.Items.Add('X=(' + FloatToStr(-1 * StrToFloat(Donnee2.Text))+ '+V' + FloatToStr(Delta) + ')/ (2*' + FloatToStr(StrToFloat(Donnee1.Text)) + ')');
lbResult.Items.Add('X=' + FloatToStr((-1 * StrToFloat(Donnee2.Text) + sqrt(Delta)) / (2 * StrToFloat(Donnee1.Text))));
lbResult.Items.Add('****************************************************************************');
end;
end;
end;
procedure TfmTrinome.Couperdonnes1Click(Sender: TObject);
begin
Clipboard.AsText :=
txOp1.Caption + FloatToStr(StrToFloat(Donnee1.Text)) + txOp2.Caption + FloatToStr(StrToFloat(Donnee2.Text)) + txOp3.Caption + FloatToStr(StrToFloat(Donnee3.Text)) + TxResult.Caption;
Donnee1.Clear;
Donnee2.Clear;
Donnee3.Clear;
end;
procedure TfmTrinome.Couperrsultats1Click(Sender: TObject);
begin
Clipboard.AsText := lbResult.Items.Text;
lbResult.Items.Clear;
end;
procedure TfmTrinome.Copier2Click(Sender: TObject);
begin
Clipboard.AsText := Donnee2.SelText;
end;
procedure TfmTrinome.Copier3Click(Sender: TObject);
begin
Clipboard.AsText := Donnee3.SelText;
end;
procedure TfmTrinome.Couper2Click(Sender: TObject);
begin
Clipboard.AsText := Donnee2.SelText;
Donnee2.ClearSelection
end;
procedure TfmTrinome.Couper3Click(Sender: TObject);
begin
Clipboard.AsText := Donnee3.SelText;
Donnee3.ClearSelection
end;
procedure TfmTrinome.Coller2Click(Sender: TObject);
begin
Donnee2.Text := Donnee2.Text + Clipboard.Astext;
end;
procedure TfmTrinome.Coller3Click(Sender: TObject);
begin
Donnee3.Text := Donnee3.Text + Clipboard.Astext;
end;
procedure TfmTrinome.Lenombrei1Click(Sender: TObject);
var
Nbri: TStringList;
begin
Nbri := TStringList.Create;
Nbri.Add('**********************************************************');
Nbri.Add('Le nombre i est un nombre de substitution');
Nbri.Add('Il n''est pas réel et remplace la racine carrée de -1');
Nbri.Add('C''est à dire que la racine carrée d''un nombre négatif');
Nbri.Add('est égale à la racine carrée de la distance à 0 de ce');
Nbri.Add('nombre multipliée par i.');
Nbri.Add('Ce n''est pas un nombre réel -> c''est un nombre complexe');
Nbri.Add('**********************************************************');
ShowMessage(Nbri.Text);
Nbri.Destroy;
end;
end.
//fiche
object fmTrinome: TfmTrinome
Left = 237
Top = 218
Width = 486
Height = 360
HorzScrollBar.ParentColor = False
Caption = 'Trinomes du second degré'
Color = clWindowText
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
Menu = MainMenu1
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object txIntro: TLabel
Left = 8
Top = 16
Width = 447
Height = 29
Align = alCustom
Caption = 'Dans un trinôme du second degré tel que '
Font.Charset = DEFAULT_CHARSET
Font.Color = cl3DLight
Font.Height = -24
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
end
object txOp1: TLabel
Left = 0
Top = 64
Width = 57
Height = 29
Caption = 'P(x)='
Font.Charset = DEFAULT_CHARSET
Font.Color = cl3DLight
Font.Height = -24
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
end
object txOp2: TLabel
Left = 168
Top = 64
Width = 38
Height = 29
Caption = 'X²+'
Font.Charset = DEFAULT_CHARSET
Font.Color = cl3DLight
Font.Height = -24
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
end
object txOp3: TLabel
Left = 312
Top = 64
Width = 31
Height = 29
Caption = 'X+'
Font.Charset = DEFAULT_CHARSET
Font.Color = cl3DLight
Font.Height = -24
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
end
object txResult: TLabel
Left = 448
Top = 64
Width = 27
Height = 29
Caption = '=0'
Font.Charset = DEFAULT_CHARSET
Font.Color = cl3DLight
Font.Height = -24
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
end
object lbresult: TListBox
Left = 0
Top = 162
Width = 478
Height = 143
Align = alBottom
Color = clBlack
Font.Charset = DEFAULT_CHARSET
Font.Color = cl3DLight
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
ItemHeight = 13
MultiSelect = True
ParentFont = False
TabOrder = 0
end
object donnee1: TEdit
Left = 64
Top = 72
Width = 97
Height = 21
Color = clInfoText
Font.Charset = DEFAULT_CHARSET
Font.Color = clRed
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
PopupMenu = PopupMenu1
TabOrder = 1
end
object donnee2: TEdit
Left = 208
Top = 72
Width = 97
Height = 21
Color = clWindowText
Font.Charset = DEFAULT_CHARSET
Font.Color = clRed
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
PopupMenu = PopupMenu2
TabOrder = 2
end
object donnee3: TEdit
Left = 344
Top = 72
Width = 97
Height = 21
Color = clWindowText
Font.Charset = DEFAULT_CHARSET
Font.Color = clRed
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
PopupMenu = PopupMenu3
TabOrder = 3
end
object btresoud: TButton
Left = 16
Top = 112
Width = 121
Height = 25
Caption = 'Resoudre'
Default = True
TabOrder = 4
OnClick = btresoudClick
end
object btefface: TButton
Left = 160
Top = 112
Width = 129
Height = 25
Caption = 'Effacer données'
TabOrder = 5
OnClick = bteffaceClick
end
object bteftout: TButton
Left = 312
Top = 112
Width = 129
Height = 25
Caption = 'Effacer Tout'
TabOrder = 6
OnClick = bteftoutClick
end
object MainMenu1: TMainMenu
object Fichier1: TMenuItem
Caption = 'Fichier'
object Fermer1: TMenuItem
Caption = 'Fermer'
OnClick = Fermer1Click
end
end
object Edition1: TMenuItem
Caption = 'Edition'
object Copierdonnees1: TMenuItem
Caption = 'Copier données'
OnClick = Copierdonnees1Click
end
object Copierresultats1: TMenuItem
Caption = 'Copier résultats'
OnClick = Copierresultats1Click
end
object N1: TMenuItem
Caption = '-'
end
object Couperdonnes1: TMenuItem
Caption = 'Couper données'
OnClick = Couperdonnes1Click
end
object Couperrsultats1: TMenuItem
Caption = 'Couper résultats'
OnClick = Couperrsultats1Click
end
end
object Aide1: TMenuItem
Caption = 'Aide'
object Lenombrei1: TMenuItem
Caption = 'Le nombre i'
OnClick = Lenombrei1Click
end
object Aproposde1: TMenuItem
Caption = 'A propos de'
OnClick = Aproposde1Click
end
end
end
object PopupMenu1: TPopupMenu
object Copier1: TMenuItem
Caption = 'Copier'
OnClick = Copier1Click
end
object Coller1: TMenuItem
Caption = 'Coller'
OnClick = Coller1Click
end
object Couper1: TMenuItem
Caption = 'Couper'
OnClick = Couper1Click
end
end
object PopupMenu2: TPopupMenu
object Copier2: TMenuItem
Caption = 'Copier'
OnClick = Copier2Click
end
object Coller2: TMenuItem
Caption = 'Coller'
OnClick = Coller2Click
end
object Couper2: TMenuItem
Caption = 'Couper'
OnClick = Couper2Click
end
end
object PopupMenu3: TPopupMenu
object Copier3: TMenuItem
Caption = 'Copier'
OnClick = Copier3Click
end
object Coller3: TMenuItem
Caption = 'Coller'
OnClick = Coller3Click
end
object Couper3: TMenuItem
Caption = 'Couper'
OnClick = Couper3Click
end
end
end
Historique
- 21 août 2005 19:09:11 :
- Ajout du message de mise en garde par rapport au changement d'extention de l'exe
- 22 août 2005 22:37:47 :
- Le programme peut maintenant résoudre le trinome meme si Delta est négatif, j'ai modifié le menu principal, ajouté des menis contectuels aux zones d'edition des données et ai ajouté un memo sur le nombre complexe i.
- 24 mai 2006 16:01:53 :
- réglage du texte final de la resolution du trinome pour delta<0, qui affichait auparavant (x-yi)/2c et maintenant x/2c - y/2c*i, x/2c et y/2c étant résolus.
correction d'une erreur qui pour delta négatif résolvait -b+VDelta/2*a au lieu de -b+VDelta/(2*a)
- 24 mai 2006 16:35:28 :
- réglage du texte final de la resolution du trinome pour delta<0, qui affichait auparavant (x-yi)/2c et maintenant x/2c - y/2c*i, x/2c et y/2c étant résolus.
correction d'une erreur qui pour delta négatif résolvait -b+VDelta/2*a au lieu de -b+VDelta/(2*a)
- 24 mai 2006 17:51:08 :
- réglage du texte final de la resolution du trinome pour delta<0, qui affichait auparavant (x-yi)/2c et maintenant x/2c - y/2c*i, x/2c et y/2c étant résolus.
correction d'une erreur qui pour delta négatif résolvait -b+VDelta/2*a au lieu de -b+VDelta/(2*a)
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
les maths [ par sheorogath ]
alors voila ma question:j'ai un Form2.Edit1 je veut en faire un integer pour y effectuer des operation mathematique comment je dois faire pour arriver
Maths [ par jlmcom ]
J'ai besoin de réaliser un programme de vérification qui me génère toutes les combinaisons (arrangement sans répétition) de p valeurs d'un tableau de
Unité Maths dans delphi? [ par jlmcom ]
Il me semble qu'il existait à une époque une unité pascal de fonctions mathématiques.Je viens de faire un tour dans des sources qu'il me restait de de
Question en Maths [ par blanc76 ]
Salut les amis. Soit N, X, Y des entiers données. je vais décomposé N en produit des facteurs premiers. puis je cherche toutes les prob
Formule Maths en Delphi [ par blanc76 ]
Salut mes amis...je suis entrein de créer une application en delphi6, cette application contienne des calculs mathematique (log, ln, puissance de
Question pour un champion de maths [ par cantador ]
Bonjour à tous,J'ai une liste de données de cette manière :ex : 7 enregistrements : S1 S21 10 3482 45 2303
cherche disquette d'exemples d'un livre [ par mezou59 ]
bonjour tout le mondeje cherche la disquette du livre mathematiques en turbo pascal d'alain reverchon et marc ducampsi quelqu' un l'a s'il vous plais
Programme de maths Aider moi SVP..... [ par Nina0770 ]
Salut,Donc je suis nouvelle programmeuse et je veut réaliser le programme suivant:soit un tableau de 8 cases de type entier, je veut afficher toutes l
Quick Report [ par bigjohn02tw ]
Salut, J'ai un problème avec l'affichage avec Quick Report. Au fait je ne sais pas faire ce que je veux. Alors aider-moi SVP J'ai des matières classé
Maths et "régression linéaire" "moindre carrés" je ne sais ! [ par YB91380 ]
BONJOUR, Mon niveau math est assez faible mais je me lance dans un calcul sur les incertitudes de mesure soit :U = a + b.IU1 = 20 pour I = 0U2 = 40
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
SAVEDIALOGSAVEDIALOG par zeydounnounou
Cliquez pour lire la suite par zeydounnounou
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|