|
|
mezhik |
Помогите разобраться [Delphi] 22.03.2013, 16:50 |
|
22/03/13 1
|
Последний раз редактировалось GAA 21.07.2020, 18:17, всего редактировалось 1 раз.
задали заочникам контрольную работу по информатике и оп вычислить.. короче написал задачу что была в примере всё работает.. начал делать свой вариант выскочила ошибка 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.
|
|
|
|
|
miflin |
Re: Помогите разобраться 22.03.2013, 17:00 |
|
27/02/12 3895
|
У Вас переменной е не присваивается значение при работе программы. Изначально она равна нулю, а от неё вычисляется логарифм.
|
|
|
|
|
|
Страница 1 из 1
|
[ Сообщений: 2 ] |
|
Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы