Soyez le premier à donner votre avis sur cette source.
Vue 26 217 fois - Téléchargée 932 fois
unit Main; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, XPMan, StdCtrls; type TForm1 = class(TForm) Label1: TLabel; XPManifest1: TXPManifest; E_A: TEdit; E_B: TEdit; E_C: TEdit; Memo1: TMemo; Button1: TButton; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; procedure Button1Click(Sender: TObject); function Sogne(Input : Extended) : Boolean ; 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,X ,Y ,resultat : extended ; Signe, Signe2, Signe3, Signe4, ValeurA, ValeurB, ValeurC : String ; begin A := StrToFloat(E_A.Text) ; B := StrToFloat(E_B.Text) ; C := StrToFloat(E_C.Text) ; ValeurA := E_A.Text ; ValeurB := E_B.Text ; ValeurC := E_C.Text ; if A = 1 then begin X := b / 2 ; If B > 0 Then Signe := '+' else Signe := '-' ; If C > 0 Then Signe2 := '+' else Signe2 := '-' ; If C - X * X > 0 Then Signe3 := '+' else Signe3 := '-' ; If X > 0 Then Signe4 := '+' else Signe4 := '-' ; Memo1.Lines.Clear ; Memo1.Lines.Add('Soit le polynome :') ; Memo1.Lines.Add(ValeurA+'x² '+Signe+' '+FloatToStr(abs(B))+'x '+Signe2+' '+FloatToStr(abs(C))) ; Memo1.Lines.Add('') ; Memo1.Lines.Add('Et soit l'' égualité suivante :') ; Memo1.Lines.Add('a² + 2ab + b² = Ax² + Bx + C') ; Memo1.Lines.Add('') ; Memo1.Lines.Add('Calcule de b :') ; Memo1.Lines.Add('B = 2ab') ; Memo1.Lines.Add('b = B / 2a') ; Memo1.Lines.Add('a = 1 donc') ; Memo1.Lines.Add('b = B / 2') ; Memo1.Lines.Add('b = '+FloatToStr(b)+' / 2') ; Memo1.Lines.Add('b = '+FloatToStr(X)) ; Memo1.Lines.Add('') ; Memo1.Lines.Add('Calcule de C :') ; Memo1.Lines.Add('C = b² + (C - b²)') ; Memo1.Lines.Add(ValeurC+' = '+FloatToStr(X*X)+' + ('+ValeurC+' - '+FloatToStr(X*X)+')') ; Memo1.Lines.Add(ValeurC+' = '+FloatToStr(X*X)+' '+Signe3+' '+FloatToStr(abs(C - X * X))) ; Memo1.Lines.Add('') ; Memo1.Lines.Add('On remplace le C transformé :') ; Memo1.Lines.Add(ValeurA+'x² '+Signe+' '+FloatToStr(abs(B))+'x + '+FloatToStr(X*X)+' '+Signe3+' '+FloatToStr(abs(C - X * X))) ; Memo1.Lines.Add('') ; Memo1.Lines.Add('On factorise avec A² + 2ab + B² = ( a + b )² :') ; Memo1.Lines.Add('(x '+Signe4+' '+FloatToStr(Abs(X))+')² '+Signe3+' '+FloatToStr(abs(C - X * X))) ; end else begin X := B / A / 2 ; If B/A > 0 Then Signe := '+' else Signe := '-' ; If C/A > 0 Then Signe2 := '+' else Signe2 := '-' ; If C/A - X * X > 0 Then Signe3 := '+' else Signe3 := '-' ; If X > 0 Then Signe4 := '+' else Signe4 := '-' ; Memo1.Lines.Clear; Memo1.Lines.Add('Soit le polynome :') ; Memo1.Lines.Add(ValeurA+'x² '+Signe+' '+ValeurB+'x '+Signe2+' '+ValeurC) ; Memo1.Lines.Add('') ; Memo1.Lines.Add('On Factorise en divisant tout les membres par A :') ; Memo1.Lines.Add(ValeurA+' ( '+ValeurA+'x²/'+ValeurA+' '+Signe+' '+ValeurB+'x/2 '+Signe2+' '+ValeurC+'/2 )') ; Memo1.Lines.Add(ValeurA+' ( x² '+Signe+' '+FloatToStr(B/A)+'x '+Signe2+' '+FloatToStr(C/A)+' )') ; Memo1.Lines.Add('') ; Memo1.Lines.Add('Et soit l'' égualité suivante :') ; Memo1.Lines.Add('a² + 2ab + b² = Ax² + Bx + C') ; Memo1.Lines.Add('') ; Memo1.Lines.Add('Calcule de b :') ; Memo1.Lines.Add('B = 2ab') ; Memo1.Lines.Add('b = B / 2a') ; Memo1.Lines.Add('a = 1 donc') ; Memo1.Lines.Add('b = B / 2') ; Memo1.Lines.Add('b = '+FloatToStr(B/A)+' / 2') ; Memo1.Lines.Add('b = '+FloatToStr(X)) ; Memo1.Lines.Add('') ; Memo1.Lines.Add('Calcule de C :') ; Memo1.Lines.Add('C = b² + (C - b²)') ; Memo1.Lines.Add(FloatToStr(C/A)+' = '+FloatToStr(X*X)+' + ('+FloatToStr(C/A)+' - '+FloatToStr(X*X)+')') ; Memo1.Lines.Add(FloatToStr(C/A)+' = '+FloatToStr(X*X)+' '+Signe3+' '+FloatToStr(abs(C/A - X * X))) ; Memo1.Lines.Add('') ; Memo1.Lines.Add('On remplace le C transformé :') ; Memo1.Lines.Add(ValeurA+' ( x² '+Signe+' '+FloatToStr(B/A)+'x + '+FloatToStr(X*X)+' '+Signe3+' '+FloatToStr(abs(C/A - X * X))+' )') ; Memo1.Lines.Add('') ; Memo1.Lines.Add('On factorise avec A² + 2ab + B² = ( a + b )² :') ; Memo1.Lines.Add(ValeurA+' [( x '+Signe4+' '+FloatToStr(Abs(X))+' )²'+Signe3+' '+FloatToStr(abs(C/A - X * X))+' ]'); Memo1.Lines.Add('') ; Memo1.Lines.Add('On effectue la multiplication') ; Memo1.Lines.Add(ValeurA+' ( x '+Signe4+' '+FloatToStr(Abs(X))+' )²'+Signe3+' '+FloatToStr(abs(C/A - X * X)*A)); end; end; function TForm1.Sogne(Input : Extended) : Boolean ; begin if Input >= 0 then result := true else result := false ; end; end.
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.