Порылся по "сети" почитал про алгоритм (могли бы и сами это сделать  )
Код:
type
TForm1 = class(TForm)
Label1: TLabel;
SpinEdit1: TSpinEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure Quadratwurzel(Value : Single);
end;
var
Form1: TForm1;
Zahl1 : Single;
implementation
const
eps = 1.0E-100;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Zahl1 := StrToFloat(SpinEdit1.Text);
if Zahl1 > 1 then
Quadratwurzel(Zahl1);
if Zahl1 < 1 then
Quadratwurzel(Abs(Zahl1));
end;
procedure TForm1.Quadratwurzel(Value : Single);
var
X, S : Single;
begin
X := 1;
S := 0;
while Abs(S - X) >= eps do
begin
S := X;
X := (X + Value / X) / 2;
end;
Label1.Caption := FloatToStr(X);
end;
end.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
|