![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Глюк? [D7, XP]
Lamer6666 © (2008-11-19 00:13:00)Не пойму в чем проблема?
procedure TForm1.Button1Click(Sender: TObject);
var X1,Step1,a:Double;Sy:String;
begin
a:=2.3;
X1:=0.2;
step1:=0.2;
while X1<=8do begin
Memo1.Lines.Add('x='+FloatToStr(X1));
X1:=X1+step1;
end;
end;
Результат:
...............
x=7; y=
x=7,2; y=
x=7,4; y=
x=7,6; y=
x=7,8; y=
Куда x=8 девается??
han_malign (2008-11-19 09:47:00) [1]есть еще встроенный тип Currency
han_malign (2008-11-19 09:44:00) [2]
> Что делать тогда? :(
- выбирать адекватную единицу измерения
var X1,Step1,a: integer;Sy:String;
begin
a:=2300;
X1:=200;
step1:=200;
while X1<=8000 do begin
Memo1.Lines.Add('x='+FloatToStr(X1 /1000));
X1:=X1+step1;
end;
end;
Григорьев Антон (2008-11-19 09:43:00) [3]В вашем случае правильнее всего перейти к циклу с целым числом:
procedure TForm1.Button1Click(Sender: TObject);
var
X1, Step1, a: Double;
Sy: String;
I: Integer;
begin
a:=2.3;
step1:=0.2;
for I := 1 to 40 do
begin
X1 := step1 * I;
Memo1.Lines.Add('x='+FloatToStr(X1));
end;
end;
Anatoly Podgoretsky (2008-11-19 07:43:00) [4]> Германн (19.11.2008 0:43:06) [6]
Может - это проверку знаний в университете.
Не стоит забывать, что сейчас большинство вопросов, это не помощь в прямом виде, а решение этих задач как халява.
Германн (2008-11-19 00:43:00) [5]
> Что делать тогда? :(
Читать:
1. http://www.delphikingdom.com/asp/viewitem.asp?catalogid=374
2. По ссылке, которую дал {RASkov} © (19.11.08 00:32) [4]
Переделать цикл с учётом прочитанного и понятого. И с учётом самой задачи. Ибо не может быть такой реальной т.е. физическойзадачи, где точноуказывалось бы вещественное число, которое нужно получить в результате!
Lamer6666 (2008-11-19 00:39:00) [6]
> {RASkov} © (19.11.08 00:32) [4]
Спасиб, читаю!
{RASkov} (2008-11-19 00:32:00) [7]т.е. в прочих:
http://www.delphimaster.ru/cgi-bin/forum.pl?n=3&id=1226891927
тоже не долеко :)
{RASkov} (2008-11-19 00:27:00) [8]> [2] DOjD (19.11.08 00:19)
Рядом где-то ветка про сравнение вещественных чисел...
DOjD (2008-11-19 00:19:00) [9]
> Потому что 0,2 невозможно точно представить в машинном виде.
Что делать тогда? :(
Anatoly Podgoretsky (2008-11-19 00:18:00) [10]> Lamer6666 (19.11.2008 0:13:00) [0]
Потому что 0,2 невозможно точно представить в машинном виде.