что здесь неправильно ?

программирование Delphi делфи

ри нажатии накнопку вычислить ..она начинает глючить ( но дело не в делфи)
Вот задание:
построить таблицу значений функции y=f(x) заданной на отрезке[a,b] с шагом h=0.1, где y=ln(abs(x-sqrt(1+sqr(x))))+(1/3)*exp(x)+(14.28+sqr(x))/(1+(sqr(x)/5+sqr(x*x))); Значение a и b подобрать таким образом, чтобы значения y и все промежуточные значения легко проверялись. Вычисления у проводить не менее чем из трех операторов с получением промежуточных значений
А вот сам код:
unit Unit10;
interface

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

function fff(x: real): real;

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

var
Form1: TForm1;

implementation

{$R *.dfm}
// ϳäïðîãðàìíà ôóíêö³ÿ//
function fff(x: real): real;
begin
fff:=ln(abs(x-sqrt(1+sqr(x))))+(1/3)*exp(x)+(14.28+sqr(x))/(1+(sqr(x)/5+sqr(x*x)));
end;
//Îáðîáíèê êíîïêè îá÷èñëèòè//
procedure TForm1.Button1Click(Sender: TObject);
var a,b,h: real;
x,y: real;
st: string;
begin
a:=strtofloat(edit1.text);
b:=strtofloat(edit2.text);
h:=strtofloat(edit3.text);
x:=a;
repeat
st:='';
y:=fff(x);
st:='x='+floattostr(x)+' y='+floattostr(y)+chr(13);
//Âèâ³ä ðåçóëüòàòó//
memo1.lines.add(st);
until x=3.46;

end;
//Îáðîáíèê êíîïêè âèõ³ä//

procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;
Ответы:
until x=3.46; - что это за херня??? там скорее всего b должно было бы быть, но с другой стороны сразу видно где ошибка - ведь никогда нельзя сравнивать с дробными числами!!!
НИКОГДА!!! можно лишь с некоей точностью или со знаком больше или меньше


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.