Informatik Material Portal Portfolio Präsentation Grafik Tabellenkalkulation Informatik56 9 10 11 12 13 Messen, Steuern, Regeln Linux Theorie Didaktik Open Source Spiele Wettbewerbe Netzbetreuung intern Literatur Links Energie corewar UNIX/Linux
Pfad: Startseite / Fächer / 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.