Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

if....then.....   Найти похожие ветки 

 
AlexDn ©   (2012-02-29 12:45) [0]

Вот есть такой простой код-
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..? или можно что то ещё придумать?..


 
Ega23 ©   (2012-02-29 12:53) [1]

if abs(c)<Epsilon then


 
RWolf ©   (2012-02-29 13:02) [2]

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


 
alexdn ©   (2012-02-29 13:03) [3]

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


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


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


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


 
Anatoly Podgoretsky ©   (2012-02-29 13:21) [5]


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

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


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


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


 
Anatoly Podgoretsky ©   (2012-02-29 17:37) [7]

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

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



Страницы: 1 вся ветка

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.055 c
15-1346322658
Артём
2012-08-30 14:30
2013.03.22
Как программно нажать на кнопку на сайте?


15-1344028545
Германн
2012-08-04 01:15
2013.03.22
Комедии.


15-1341407466
DevilDevil
2012-07-04 17:11
2013.03.22
Запустить *.bat в своей консоли


2-1331617183
TSubject
2012-03-13 09:39
2013.03.22
Null значение в поле Number (DBF )


15-1345753802
Юрий
2012-08-24 00:30
2013.03.22
С днем рождения ! 24 августа 2012 пятница