2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Помогите разобраться [Delphi]
Сообщение22.03.2013, 16:50 
задали заочникам контрольную работу по информатике и оп вычислить.. короче написал задачу что была в примере всё работает.. начал делать свой вариант выскочила ошибка Invalid floating point operation. единственное что менялось это добавилась переменная e . может я не так её записал.. ошибка как раз на строчке с ней
unit Unit1;

interface

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

type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Label1: TLabel;
Label2: TLabel;
Memo1: TMemo;
Label3: TLabel;
Label4: TLabel;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var y,z,f,e:extended;
x:real;
begin
x:=StrToFloat(Edit1.Text);
y:=StrToFloat(Edit2.Text);
z:=StrToFloat(Edit3.Text);
if x*z>9 then f:=exp(z*ln(e))+exp(x*ln(e))+exp(x*ln(z)); ЗДЕСЬ ОШИБКА
if x*z<9 then f:=exp(ln(x)*z)+ln(z)-x*x*x*z*z*y;
if x*z=9 then f:=sqrt(x)+sqrt(z)+z*z-x*x*z*z*z;
Memo1.Lines.Add(FloatToStrf(f,ffFixed,8,2));


end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Text:='0';
Edit2.Text:='0';
Edit3.Text:='0';
Memo1.Clear;
end;

end.

 
 
 
 Re: Помогите разобраться
Сообщение22.03.2013, 17:00 
Аватара пользователя
У Вас переменной е не присваивается значение при работе программы.
Изначально она равна нулю, а от неё вычисляется логарифм.

 
 
 [ Сообщений: 2 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group