unit Euklid;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Buttons, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Label3: TLabel;
Edit2: TEdit;
Button1: TButton;
Label4: TLabel;
Edit3: TEdit;
Edit4: TEdit;
Label5: TLabel;
Button2: TButton;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
var a, b, r, i : Integer;
procedure TForm1.Button1Click(Sender: TObject);
begin
(* Zahlen einlesen *)
a := StrToInt(Edit1.Text);
b := StrToInt(Edit2.Text);
r := b;
i := 0;
(* Euklidischer Algorithmus *)
while r <> 0 do
begin
i := i + 1;
r := a mod b;
a := b;
b := r;
end;
(* Schleifendurchläufe ausgeben *)
Edit4.Text := IntToStr(i);
(* ggT ausgeben *)
Edit3.Text := IntToStr(a);
if a = 1 then ShowMessage('Die beiden Zahlen sind teilerfremd.');
end.
procedure TForm1.Button2Click(Sender: TObject);
begin
Edit1.Text := '1';
Edit2.Text := '1';
Edit3.Text := '1';
Edit4.Text := '0';
end.
procedure TForm1.Button3Click(Sender: TObject);
begin
close;
end.