Екатерина Трубицына
Екатерина Трубицына

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

при нажатии накнопку вычислить ..она начинает глючить ( но дело не в делфи)
Вот задание:
построить таблицу значений функции 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;

ВП
Валентина Пыко

Попробуйте заменить floattostr на floattostrf.
http://www.delphibasics.ru/FloatToStrF.php

Уточните что глючит.

OE
Oltin Ergashev

У тебя же "х" в цикле не меняется. Вот он одно и то же шлепает. Пока не захлебнется тупыми, одинаковыми строками.
И вместо until x=3.46; надежней написать until x >= 3.46;

Похожие вопросы
Неправильно работает код.
подскажите что неправильно в коде на паскаль
c++ массив что неправильно?
C++ подсказать что неправильно
Решите задачу, а то говорит всё неправильно.
Что тут неправильно? (ПАСКАЛЬ)
на торренте неправильное время
Что тут неправильно?
Неправильно работает robots.txt
телефон неправильно прошит керпич