Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Вниз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
> identifierconst 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.07 c