CftClub.ru
Клуб специалистов ЦФТ-Банк

когда 10*0,1 не равно 1....

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Справочник PL/PLUS: Функции, примеры, приёмы
Предыдущая тема :: Следующая тема  
Автор Сообщение
.СергейПанин
Участник - экстремал


Вступление в Клуб: 24.06.2008
СообщениеСр Янв 26, 2011 14:29   когда 10*0,1 не равно 1.... Ответить с цитатой
Полезность: Нет оценки
Была у меня когда то книжка, в ней была задачка - когда 10*0,1 не равно 1. ( за цифры не ручаюсь - давно было ) и вот навеяло :
v.10.5
Код:

begin
      for pp in this.[PARAM_FOR_PLAN]
      order by pp.[CALC_BEGIN_DATE] desc
      loop
            pp.[START_SUMMA] := 0;
            exit;
      end loop;
     
      rollback;
end;

угадайте какой будет результат.

з.ы. savepoint конечно же решает проблему, но сам факт.
Alexsey
Эксперт


Вступление в Клуб: 06.09.2007
СообщениеЧт Янв 27, 2011 11:00   Re: когда 10*0,1 не равно 1.... Ответить с цитатой
Полезность: Нет оценки
.СергейПанин пишет:
Была у меня когда то книжка, в ней была задачка - когда 10*0,1 не равно 1. ( за цифры не ручаюсь - давно было ) и вот навеяло :
v.10.5
Код:

begin
      for pp in this.[PARAM_FOR_PLAN]
      order by pp.[CALC_BEGIN_DATE] desc
      loop
            pp.[START_SUMMA] := 0;
            exit;
      end loop;
     
      rollback;
end;

угадайте какой будет результат.

з.ы. savepoint конечно же решает проблему, но сам факт.


rollback по сути должен откатить все изменения с начала транзакции или с момента установки точки отката (savepoint).. все зависит от того в каком контексте данный код применяется...

хотя очень интересно, для чего необходим тут rollback.
_________________
всегда есть как минимум 2 выхода
.СергейПанин
Участник - экстремал


Вступление в Клуб: 24.06.2008
СообщениеЧт Янв 27, 2011 11:31   Re: когда 10*0,1 не равно 1.... Ответить с цитатой
Полезность: Нет оценки
Alexsey пишет:

rollback по сути должен откатить все изменения с начала транзакции или с момента установки точки отката (savepoint).. все зависит от того в каком контексте данный код применяется...


Согласен, должен Wink но...

Alexsey пишет:

хотя очень интересно, для чего необходим тут rollback.


Смысловая нагрузка - 0.00 Very Happy это всего лишь пример.
Суть в том, что rollback не отработал Sad нахимичили с "cache_mgr"
Alexsey
Эксперт


Вступление в Клуб: 06.09.2007
СообщениеПт Янв 28, 2011 11:45   Re: когда 10*0,1 не равно 1.... Ответить с цитатой
Полезность: Нет оценки
.СергейПанин пишет:


Alexsey пишет:

хотя очень интересно, для чего необходим тут rollback.


Смысловая нагрузка - 0.00 Very Happy это всего лишь пример.
Суть в том, что rollback не отработал Sad нахимичили с "cache_mgr"


этого как раз и не видно из примера... а прибор для чтения мыслей увы пока не изобрели Very Happy
_________________
всегда есть как минимум 2 выхода
Admin
Site Admin


Вступление в Клуб: 09.06.2007
СообщениеПт Янв 28, 2011 20:41    Ответить с цитатой
Полезность: Нет оценки
А я вообще не понял смысл примера. Чему он учит?
Andrew_B
Участник


Вступление в Клуб: 29.12.2011
СообщениеВт Янв 10, 2012 13:57   Re: когда 10*0,1 не равно 1.... Ответить с цитатой
Полезность: Нет оценки
.СергейПанин пишет:
...в ней была задачка - когда 10*0,1 не равно 1...


Задача скорее всего была про:
1/3 = 0,33...
0,33... * 3 = 0,99...
0,99... стремиться к 1, но не равно ей.

По теме. Анализировать лучше код из скомпиленного пакета (где видно все commit и rollback), а не из PL/plus.
Пример не к теме и не показателен вообщем.
.СергейПанин
Участник - экстремал


Вступление в Клуб: 24.06.2008
СообщениеВт Янв 10, 2012 15:08   Re: когда 10*0,1 не равно 1.... Ответить с цитатой
Полезность: Нет оценки
Andrew_B пишет:
.СергейПанин пишет:
...в ней была задачка - когда 10*0,1 не равно 1...


Задача скорее всего была про:
1/3 = 0,33...
0,33... * 3 = 0,99...
0,99... стремиться к 1, но не равно ей.



Приветствую, неее.. задачка была из ряда "физики шутят".. что то про сопротивление и сечение проводников
Kozyrev
Участник - экстремал


Вступление в Клуб: 03.09.2007
СообщениеСр Янв 11, 2012 07:13   Re: когда 10*0,1 не равно 1.... Ответить с цитатой
Полезность: Нет оценки
Andrew_B пишет:

1/3 = 0,33...
0,33... * 3 = 0,99...
0,99... стремиться к 1, но не равно ей.


Есть все-таки какой-нибудь вариант решения?
dbmaslov
Профи


Вступление в Клуб: 11.07.2007
СообщениеСр Янв 11, 2012 16:54    Ответить с цитатой
Полезность: Нет оценки
ЦФТ, наверное, реально неплохая система, если в период закрытия года и формирования кучи отчетов - умы ИТ специалистов будоражат такие вот темы. Very Happy
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Справочник PL/PLUS: Функции, примеры, приёмы Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru