![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#41 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Пока не знаю еще, буду разбираться, но к гадалке не ходи, что раз работает не так как заявлено, значит в коде косяки
![]()
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
#42 |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]()
Ну да, пиши в ту свою тему. Я подписался. Тут я чёт зря флуд завел
|
![]() |
![]() |
![]() |
#43 |
БохЪ
Форумчанин
Регистрация: 30.09.2009
Сообщений: 724
|
![]()
Я в чем то согласен с Sibedir, если ввести константу INFINITY, то можно будет строить альтернативные, вполне логичные вычисления:
A=1/0=+INFINITY B=-1/0=-INFINITY С=A+B=0 Вот как бы и сошлись, можно продолжить список операций: A/A=1 A/B=-1 B/B=1 A+A=A B+B=B A*B=B B*B=A A*A=A Ну вроде логично. Только вот я затрудняюсь ответить на: 0/0=? Возможно 0 или INFINITY... PS Прошу прощения за откровенную тупость...
В планах порабощение вселенной...
|
![]() |
![]() |
![]() |
#44 | |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Не вижу ничего тупого.
Проблема с константой в том, что это потребует еще учитывания операций с ней, а мне пока и этих хватает... Нужно будет определять - сложение с бесконечностями, вычитание, умножение и деление (а там и сравнение). Впринципе возможно, но опять же куча загогулин... Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
|
![]() |
![]() |
![]() |
#45 |
БохЪ
Форумчанин
Регистрация: 30.09.2009
Сообщений: 724
|
![]()
Ну а по другому будет не особо правильно, ведь вопрос был именно "как правильно делить на нуль"...Не думаю что нуль нужно и можно рассматривать как бесконечно малое число...Хотя конечно же все зависит от задачи.
В планах порабощение вселенной...
|
![]() |
![]() |
![]() |
#46 | |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
![]() Цитата:
![]() А по делу, надо сообщать об этом, в каком виде, либо исключение, либо нотификация (исключение-заглушка) либо еще как. Иначе, можно кучу времени просто потратить, чтобы понять где и почему, и в какой момент была изменена переменная/значение из-за магического деления на ноль, хотя это противопоказано законами математики (меня лично так учили). Ну а если это что-то типа математического движка, то тогда думаю на обработку данного исключения можно выводить бесконечность (та восьмерка, которая перевернутая). |
|
![]() |
![]() |
![]() |
#47 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
![]()
моя рыдает...
Загнать бы вас всех на первый курс мат-фака или хотя бы в школу... Не просто так на ноль делить нельзя. http://www.chayka.org/article.php?id=3049 (или даже так: http://lurkmore.ru/%D0%94%D0%B5%D0%B...B8.D0.BA.D0.B5) Запись 12 / 3 можно понимать как сокращенную форма записи уравнения x * 3 = 12. Иными словами, 12 / 3 - это такое число, которое при умножении на 3 даёт 12. Т.е. 4. Какое число означает 12 / 0? 12 / 0 - это запись x * 0 = 12. Т.е. число, которое при умножении на 0 давало бы 12. Такого числа просто не существует, найти его невозможно. Поэтому запись 12 / 0 лишена смысла. Как говорят в школе, "на ноль делить нельзя". Ну и 0 / 0. Тут у нас будет x * 0 = 0. Казалось бы, решабельно. Ответ 0? А почему не 1? Не 5? Не 12? Вот и получается, что ответов много, а значит 0 / 0 - вовсе не число и, следовательно, тоже не имеет смысла. Поэтому единственное, что можно сделать с операцией деления на ноль - выдавать ошибку. Будет это исключение, признак ошибки (False или специальное NaN значение) - не суть важно. Главное, чтобы это не было успешной операцией, дающей осмысленный результат (бесконечность относится к осмысленному результату). Понятно, что любая операция с спец-значением "ошибка" должна давать ошибку и никак иначе. Чтобы не усложнять всю логику тоннами таких проверок и придуманы исключения.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
Последний раз редактировалось GunSmoker; 21.12.2010 в 08:43. |
![]() |
![]() |
![]() |
#48 | ||||||||
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]() Цитата:
Цитата:
Далее насчет обучения - наши школы не успевают за сокращающимися ВУЗами - в школе нельзя делить на нуль и точка, а в институтах иногда можна ![]() Цитата:
Цитата:
![]() Цитата:
Цитата:
Цитата:
![]() Цитата:
![]()
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() Последний раз редактировалось Utkin; 21.12.2010 в 08:53. |
||||||||
![]() |
![]() |
![]() |
#49 | ||
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]()
К слову сказать опять отсебятина.
0/0 = <любое их множества> Цитата:
Пример 1 - интегралы (везде) Пример 2 - нагрели два тела с разной температурой на 1 град. Потом они оба обменялись теплом (стали с одинаковой температурой). Потом остудили на 1 град. Работа, потраченная на нагрев <> энергии полученной при остывании, а сумма их температур до и после эксперимента изменилась. Пример 3 - теория относительности (вообще везде) и т.п. 0 (в физике и вышке) - это принятое начало отсчета, и принимается оно не абы как. Utkin, у тебя явно арифметика. В арифметике делить на нуль нельзя. Не потому что это нельзя, а потому, что результат не определен, а в арифметике нет такого понятия как "неопределенность". Если создаешь свою арифметику, думай о ее применимости. Никто не станет применять арифметику, в которой 1/0 = 999999...999999. Эх раз, еще раз Арифметика - это наука (если хотите, а если не хотите, то раздел математики) занимающаяся натуральными (жизненными) вычислениями. А делить яблоко между никем - это как-то не очень жизненно. Цитата:
ППниПП: Вот те две гранаты. Первая - если бракованная, то пукнет и всё. Вторая - если бракованная, то руку оторвет по самые ноги. P.S.: Фраза моей учительницы: "Делить на нуль НЕЛЬЗЯ" (типа так кто-то самый главный сказал) сделала меня тем, кто я есть (чуть меньше, чем полностью). Это серьезный повод перевернуть мир, но это еще не дает право этим заниматься. Право переворачивать мир дает только наличие серъезной опоры. Ну понесло, понесло Астапа Если у реки стоит табличка "Брода нет" - это не значит, что я не могу туда идти. Это значит, что кто-то тщательно искал и не нашел, и, если я пойду, вероятность утануть ~ 99.999%. Прежде чем говорить, что брод есть, его надо сперва найти. Последний раз редактировалось Sibedir; 21.12.2010 в 09:21. |
||
![]() |
![]() |
![]() |
#50 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Да. Но проблема в том, что нужен результат один, чтобы работать с множествами придется писать еще один модуль, пока же надо до ума этот довести...
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Деление на нуль при запуске | Pababop | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 12.12.2010 16:43 |
убрать null (нуль) символы в строке | Kib | Общие вопросы Delphi | 7 | 25.06.2010 14:22 |
как поставить ограничение на число нуль а не на символ нуль??? | Dr.Swat | Помощь студентам | 0 | 12.06.2010 20:35 |
Делить без остатка | rangel | PHP | 4 | 30.07.2009 14:31 |
На 0 делить! | abdumanon | Microsoft Office Excel | 6 | 07.04.2009 13:18 |