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

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

Реал и матем. функции. [D7, XP]


Страницы:   1 2 3 4

AlexDan ©   (2009-03-10 19:39:00) 

Вот такое выражение равно 1-це.
chb:real; chb:=1.2;
abs(frac(chb/0.6))
Вроде должен быть 0?, насколько я понимаю..?.


Германн   (2009-03-14 01:47:00) [21]


> ПУсть автор книги и интернет читает.
>

"ПУсть".
Я только не пойму о какой "книге" ты говоришь!
О, сколько Вас, я  читал!


Тын-Дын   (2009-03-14 01:32:00) [22]


> Германн ©   (14.03.09 01:30) [46]


Ну не знаю, искусственный пример или нет. Ты ж код хотел.
Да и ладно. О чём тут спорить. ПУсть автор книги и интернет читает.


Германн   (2009-03-14 01:30:00) [23]


> Тын-Дын ©   (14.03.09 01:19) [45]
>
>
> > Германн ©   (14.03.09 01:06) [42]
> > > Тын-Дын ©   (14.03.09 00:27) [39]Да. Кстати.В порядке
> > ответной "дружественной" акции.Не представишь ли мне "реальный"
> > пример программы, где можно использовать сравнение вещественного
> > числа  на "строгое" равенство с константой? Про "физику"
> > я не спрашиваю. Ибо не знаю тебя лично. И не имею никаких
> > сведений о тебе, кроме анкеты.
>
>
> Так я ж написал, что математические вычисления "на бумаге"
> отличаются от компьютерных методов.
>
> Хотя даже такой вариант пройдёт:
>
> var
>  a,b: Double;
> begin
>  a := 1.1;
>  b := 0.55;
>  if a/2=b then ShowMessage('=');
>
>  a := 2/3;
>  b := a*3;
>  if b=2 then ShowMessage('=');
>

Ну опять я про Фому, а ты про Ерёму.

Я ведь пост [8] адресовал не к тебе, а к автору сабжа.
И про "искусственные" варианты тоже написал. :(
А ты в ответ подсовываешь другие "искусственные" варианты.
Спор ради спора?
Я -пас!


Тын-Дын   (2009-03-14 01:19:00) [24]


> Германн ©   (14.03.09 01:06) [42]
> > Тын-Дын ©   (14.03.09 00:27) [39]Да. Кстати.В порядке
> ответной "дружественной" акции.Не представишь ли мне "реальный"
> пример программы, где можно использовать сравнение вещественного
> числа  на "строгое" равенство с константой? Про "физику"
> я не спрашиваю. Ибо не знаю тебя лично. И не имею никаких
> сведений о тебе, кроме анкеты.


Так я ж написал, что математические вычисления "на бумаге" отличаются от компьютерных методов.

Хотя даже такой вариант пройдёт:

var
 a,b: Double;
begin
 a := 1.1;
 b := 0.55;
 if a/2=b then ShowMessage('=');

 a := 2/3;
 b := a*3;
 if b=2 then ShowMessage('=');


Германн   (2009-03-14 01:07:00) [25]


> AlexDan ©   (14.03.09 01:02) [41]

А ты сейчас не смейся.
Потом будешь плакать :)


Тын-Дын   (2009-03-14 01:06:00) [26]


> Германн ©   (14.03.09 00:50) [40]


> P.S. В-пятых меня смутил АП. Чтоб ему пусто было :)


Ну... Анатолия можно понимать по-разному.
В данном случае я поддержал его потому, что как раз высказывание его было "буквально". Т.е. хто ж может запретить сравнить-то?-)


Германн   (2009-03-14 01:06:00) [27]


> Тын-Дын ©   (14.03.09 00:27) [39]

Да. Кстати.
В порядке ответной "дружественной" акции.
Не представишь ли мне "реальный" пример программы, где можно использовать сравнение вещественного числа  на "строгое" равенство с константой?
Про "физику" я не спрашиваю. Ибо не знаю тебя лично. И не имею никаких сведений о тебе, кроме анкеты.


AlexDan   (2009-03-14 01:02:00) [28]

> Германн ©   (14.03.09 00:50) [40]
> Поэтому и попробовал наставить автора на путь истинный таким
> "громогласным" образом. (Типа "шоковой терапии" :).
Ну всё)), автор в шоке:)). Только сейчас об этом узнал..).


Германн   (2009-03-14 00:50:00) [29]


> Тын-Дын ©   (14.03.09 00:27) [39]
>
>
> > Германн ©   (13.03.09 01:08) [35]
> >Попробую.Искусственные ситуации, в которых
> > мы можем сравнивать результат математических функций,
> в
> > которых параметрами являются вещественные числа, или результат
> > этих функций является вещественным числом (это уже относится
> > не к математике, а к программированию) легко создать.
>
>
> В основном результыты математических вычислений совершенно
> спокойно можно сравнивать между собой, так как, в отличие
> от методов вычислений, используемых в вычислительной технике,
>  в математике результат вычислений (при получении точных
> промежуточных результатов - где это возможно), является
> во множестве случаев конечным числом.
>
> Всё зависит от цели сравнения.
> Поэтому говорить, что нельзя сравнивать вещественные числа
> на равенство - неверно. И неверно даже в общем случае.
>

Во-первых, я говорил именно о "строгом" равенстве. Причём при сравнении некоего результата с некоей константой. (Как и было в сабже).
Во-вторых, я всё таки имел в виду скорее физику, чем математику. (У меня диплом именно физика).
В-третьих, Моё " БЕЗАПЕЛЛЯЦИОННОЕ" (постарался указать почти все "выделения", которые я в нём использовал :) высказывание в [8] было вызвано теми причинами, за которые я уже принёс свои извинения в [35].
И, наконец. В-четвёртых. Уже много на сём форуме видел вопросов, в которых авторы удивлялись "почему не срабатывает" подобное сравнение. Поэтому и попробовал наставить автора на путь истинный таким "громогласным" образом. (Типа "шоковой терапии" :).
Надеюсь, что "пронял" автора :)

P.S. В-пятых меня смутил АП.
Чтоб ему пусто было :)


Тын-Дын   (2009-03-14 00:27:00) [30]


> Германн ©   (13.03.09 01:08) [35]
>Попробую.Искусственные ситуации, в которых
> мы можем сравнивать результат математических функций, в
> которых параметрами являются вещественные числа, или результат
> этих функций является вещественным числом (это уже относится
> не к математике, а к программированию) легко создать.


В основном результыты математических вычислений совершенно спокойно можно сравнивать между собой, так как, в отличие от методов вычислений, используемых в вычислительной технике, в математике результат вычислений (при получении точных промежуточных результатов - где это возможно), является во множестве случаев конечным числом.

Всё зависит от цели сравнения.
Поэтому говорить, что нельзя сравнивать вещественные числа на равенство - неверно. И неверно даже в общем случае.


AlexDan   (2009-03-14 00:10:00) [31]

> Amoeba ©   (13.03.09 22:33) [37]
А у меня гуппи редкие вывелись случайно, зелёные кобры. Это я Вам как гидробиологу говорю). Красивые заразы, говорят дорого стоят, не знаю куда их девать..(. Множаться потихоньку..


Amoeba   (2009-03-13 22:33:00) [32]

Верится с трудом


AlexDan   (2009-03-13 21:03:00) [33]

> Германн ©   (13.03.09 01:08) [35]
> P.S. Надеюсь автор сабжа наконец начнёт читать и думать.
Будем надеяться..:)). AlexDan/


Германн   (2009-03-13 01:08:00) [34]


> Игорь Шевченко ©   (12.03.09 11:30) [30]

Принято.
Больше такого не будет.
Прошу извинения у всех, кого я "нечаянно обидел". Честное слово, нечаянно!
Был вчера "несколько не в себе" под влиянием медицинских препаратов. Простудился, блин. А жена моя, врач мой, начала меня лечить! :(


> Тын-Дын ©   (12.03.09 01:41) [13]
>
>
> > Германн ©   (12.03.09 01:38) [12]
> > > Тын-Дын ©   (12.03.09 01:36) [11]> > > > Anatoly Podgoretsky
> > ©   (12.03.09 00:54) [9]> > > Германн  (12.03.2009 0:09:
>
> > 08)  [8]Можно и там и там.> > > > Абсолютно точно-)> Ну
> > попробуй, оспорь.
>
>
> Это ты попробуй.

Попробую.
Искусственные ситуации, в которых мы можем сравнивать результат математических функций, в которых параметрами являются вещественные числа, или результат этих функций является вещественным числом (это уже относится не к математике, а к программированию) легко создать.

> Григорьев Антон ©   (12.03.09 09:54) [25]


Но это искусственные примеры, которые были созданы "наоборот".  В таком примере, нет никакого смысла проверять его результат!.
А в реальной задаче (программе) проверять "строгое" равенство - по крайней мере неумно.
Это в "общем случае". Каким и является сабж.

P.S. Надеюсь автор сабжа наконец начнёт читать и думать.


Palladin   (2009-03-12 11:36:00) [35]

Удалено модератором
Примечание: дубль


Ega23   (2009-03-12 11:34:00) [36]


> то боюсь тебя разочаровать :)


Не знаю, я (тьфу-тьфу-тьфу) из всех округлений только

CREATE PROCEDURE S_GetDayTime
@DateTime datetime=0,
@Date    datetime=0 output,
@Time datetime=0 output,
@DateTimeStr varchar(32)='' output,
@Debug int=-1
AS
set nocount on
  Set @Date=cast( Floor(cast(@DateTime as numeric(18,12))) as datetime)
  Set @Time=@DateTime-@Date
  set @DateTimeStr=convert(char(10),@DateTime,104)+' '+convert(char(5),@DateTime,108)
GO

использовал...  :)


Ega23   (2009-03-12 11:31:00) [37]


> Правда, SetRoundMode(), тоже никто не отменял :)))


Во, я помню что что-то такое было!


Palladin   (2009-03-12 11:31:00) [38]


> Ega23 ©   (12.03.09 11:18) [28]

Если ты имеешь в виду это:
SetRoundMode(rmNearest);
Memo1.Lines.Add('rmNearest:'+BoolToStr(round(1.5) = round(2.5),True));
SetRoundMode(rmDown);
Memo1.Lines.Add('rmDown:'+BoolToStr(round(1.5) = round(2.5),True));
SetRoundMode(rmUp);
Memo1.Lines.Add('rmUp:'+BoolToStr(round(1.5) = round(2.5),True));
SetRoundMode(rmTruncate);
Memo1.Lines.Add('rmTruncate:'+BoolToStr(round(1.5) = round(2.5),True));

то боюсь тебя разочаровать :)


Игорь Шевченко   (2009-03-12 11:30:00) [39]

Германн ©   (12.03.09 01:44) [14]


> Ты пьян, или ...
> Это я сказал.
>
> Хм.
> Ты вообще с кем разговариваешь?


Есть предложение не писать таких постов. Во-первых, оффтопик, во-вторых троллизм, в-третьих, элементарная невежливость.


korneley   (2009-03-12 11:27:00) [40]


> Ega23 ©   (12.03.09 11:18) [28]
> Там же можно как-то алгоритм округления выбирать?

"This method of rounding is often called "Banker’s Rounding". А стало быть, при равноудалённости, до ближайшего чётного ;) Правда, SetRoundMode(), тоже никто не отменял :)))


Страницы:   1 2 3 4

Наверх

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