Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

if....then.....


AlexDn ©   (2012-02-29 12:45:00) 

Вот есть такой простой код-
pr1:=0.4;
c:=frac(cha/pr1);
if с=0 then
begin
pr1:=int(cha/pr1)-1;
end
else
begin
pr1:=int(cha/pr1);
end;

в чём загвоздка, если a(cha)=0,4 то с=0,
a=0.8 c=0
a=1.2 c=1
a=1.6 c=0
a=2   c=1
т.е. нет чёткого параметра, сравнивается a c 0.9999 или с epsilon (стремление к 0), как лучше всего выйти из этой ситуации?
перейти с real (cha,pr1:real) на двойную точность double..? или можно что то ещё придумать?..


Anatoly Podgoretsky   (2012-02-29 17:37:00) [1]

> CRLF  (29.02.2012 17:05:06)  [6]

real это generic тип, поэтому говорить, что это double надо с оговорками


CRLF   (2012-02-29 17:05:00) [2]


> перейти с real (cha,pr1:real) на двойную точность double.
> .?
real и есть double


Anatoly Podgoretsky   (2012-02-29 13:21:00) [3]


> в чём загвоздка, если a(cha)=0,4 то с=0,

В коде нет а(...)


Ega23   (2012-02-29 13:15:00) [4]


> epsilon к какому модулю относится? math? что то он undeclared
> identifier


const Epsilon = 0.0(столько нулей, сколько надо)01;
Можешь объявить в любом модуле.


alexdn   (2012-02-29 13:03:00) [5]

> Ega23 ©   (29.02.12 12:53) [1]
epsilon к какому модулю относится? math? что то он undeclared identifier


RWolf   (2012-02-29 13:02:00) [6]

сдаётся мне, топикстартер изобретает функцию Floor.


Ega23   (2012-02-29 12:53:00) [7]

if abs(c)<Epsilon then


Наверх

Титульная страница Поиск, карта сайта Написать письмо