Показать сообщение отдельно
  #7  
Старый 10.11.2010, 18:35
elluminate elluminate вне форума
Прохожий
 
Регистрация: 09.11.2010
Сообщения: 7
Репутация: 10
Восклицание

написал код
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  i,n,t,result,result1:real;

implementation
function f(i:real):real;
begin
result:=3*sqr(ln(i))-6*ln(i)+5;
end;
function d(i:real):real;
begin
result1:=(6*(ln(i)-1)/i);
end;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var eps:real;
begin
eps:=0.0001;
i:=strtofloat(edit1.text);
n:=0;
repeat
t:=f(i)/d(i);
i:=i-t;
memo1.lines.add('x'+floattostr(n)+floattostr(i));
n:=n+1;
until abs(f(i))<eps;
end;
end.
Admin: 5-ти дневыный бан, за неоднократное игнорирование оформления кода.

компилируется.но при выполнении возвращает ошибку деление на ноль.это только при нахождении t может быть.но почему и как исправить.подскажите
Ответить с цитированием