 |
|
|
Informatik |
|
Autor: be
21.09.2005 10:49 465
|
|
|
Heron - Lösung
Der manuell geschriebene Quelltext ist blau hervorgehoben.
unit mHeron;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
edZahl: TEdit;
btOK: TButton;
memWurzel: TMemo;
procedure btOKClick(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.btOKClick(Sender: TObject);
var a,b,z: Real;
begin
memWurzel.Lines.Clear;
z:=StrToFloat(edZahl.Text);
a:=1;
b:=z/a;
while a<>b do
// oder besser: while abs(a-b) > 0.00000000001 do
// (abs berechnet den absoluten Betrag)
begin
a:=(a+b)/2;
b:=z/a;
memWurzel.Lines.Add(FloatToStr(a));
end;
end;
end.