Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unit Unit1;
- {$mode objfpc}{$H+}
- interface
- uses
- Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ComCtrls,
- StdCtrls, ExtCtrls, Buttons, Math;
- type
- { TForm1 }
- TForm1 = class(TForm)
- Edit1: TEdit;
- Edit2: TEdit;
- Edit3: TEdit;
- Edit4: TEdit;
- Edit5: TEdit;
- Edit6: TEdit;
- Edit7: TEdit;
- Edit8: TEdit;
- Image1: TImage;
- Label1: TLabel;
- Label2: TLabel;
- Label3: TLabel;
- Label4: TLabel;
- Label5: TLabel;
- PageControl1: TPageControl;
- SpeedButton1: TSpeedButton;
- StatusBar1: TStatusBar;
- TabSheet1: TTabSheet;
- TabSheet2: TTabSheet;
- procedure SpeedButton1Click(Sender: TObject);
- private
- { private declarations }
- public
- { public declarations }
- end;
- var
- Form1: TForm1;
- x,y,detx,dety,det: double;
- implementation
- {$R *.lfm}
- { TForm1 }
- function getFrazione(x: double):string;
- var h1, h2, k1, k2, y, a, aux: double;
- begin
- //Assegnazione di valori
- h1 := 1;
- h2 := 0;
- k1 := 0;
- k2 := 1;
- y := x;
- repeat
- begin
- a := floor(y);
- aux := h1;
- h1 := a*h1+h2;
- h2 := aux;
- aux := k1;
- k1 := a*k1+k2;
- k2 := aux;
- y := 1/(y-a) ;
- end;
- until ( abs(x-h1/k1) > x*0.000001);
- Result := FloatToStr(h1) + '/' + FloatToStr(k1);
- end;
- procedure TForm1.SpeedButton1Click(Sender: TObject);
- var a,b,c,d,e,f: double;
- begin
- a := StrToFloat(Edit1.text);
- b := StrToFloat(Edit2.text);
- c := StrToFloat(Edit3.text);
- d := StrToFloat(Edit4.text);
- e := StrToFloat(Edit5.text);
- f := StrToFloat(Edit6.text);
- {calcolo nella matrice}
- detx := (c*e)-(b*f);
- dety := (a*f)-(c*d);
- det := (a*e)-(d*b);
- {esportazione dati}
- if ( det <> 0 ) then
- begin
- x := detx/det;
- y := dety/det;
- Edit7.Text := getFrazione(x);
- Edit8.Text := getFrazione(y);
- end
- else
- if ((detx=0) and (dety=0)) then
- begin
- Edit7.Clear;
- Edit8.Clear;
- end
- else
- begin
- Edit7.Clear;
- Edit8.Clear;
- end;
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement