Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   На 0 делить нельзя! (https://javascript.ru/forum/offtopic/25182-na-0-delit-nelzya.html)

function 27.01.2012 20:36

На 0 делить нельзя!
 
http://learn.javascript.ru/number-math

Цитата:

В математике, при делении на ноль, ошибки не происходит. В качестве результата мы получаем бесконечность, Infinity.
Но ведь на 0 делить нельзя! Можно делить на число максимально близкое к 0, или 0 на 0. Исправте эту надпись.

trikadin 27.01.2012 20:48

function, вы на каком уровне математику изучали? при n - константа и x->0 lim(n/x) == infinity

Следовательно, вполне логичным выводом будет возвращать при делении на ноль бесконечность, знак которой будет равен знаку n.

function 27.01.2012 20:50

function, Вы дурачок? Наш Бог ЯваСкрипт выдаёт
alert(1/0)
Значит так и есть. :D :haha:

function 27.01.2012 20:56

Цитата:

Сообщение от trikadin
при n - константа и x->0 lim(n/x) == infinity

Эм... Честно говоря мне 12, и я незнаю, что такое константа. Но насколько я помню a:b сокращённая запись уравнения x*b=a. Значит, 5/0 это x*0=5. А теперь найдите корень уравнения...

devote 27.01.2012 21:00

Цитата:

Сообщение от function
Значит, 5/0 это x*0=5. А теперь найдите корень уравнения...

любое число умноженное на НОЛЬ, будет равно нулю. Ваш пример с нулевым значением не корректен.

function 27.01.2012 21:01

И да. Я не троль. Мне 12. И я такой шибко умный. Но нечего мне карму минусовать.

function 27.01.2012 21:02

Цитата:

Сообщение от devote
Ваш пример с нулевым значением не корректен.

Это некорректна ваша надпись. А деление (и вычитание) - сокращённая запись уравнения.

trikadin 27.01.2012 21:04

Хм. Советую лучше учить математику в школе, в таком случае) Хотя бы потому, что она ум в порядок приводит.

function 27.01.2012 21:10

А что тогда получается с /0 ?...

trikadin 27.01.2012 21:17

Учи математику, юный падаван, в ней сила)

Seva1986 27.01.2012 21:19

function,

Слушай вундеркинд 12 летний не напрягай людей, тут не математиков форум, а програмистов. если нравиться копаться в этом то вот тут всё есть, и если такой вундеркинд почему сам не нашёл?

Kolyaj 27.01.2012 21:19

function,
если вам 12, ну подождите вы совершеннолетия, а потом предлагайте надписи переписывать.

Знаете, что говорят в ВУЗе на первой лекции по алгему? "Забудьте всё, чему вас учили в школе".

trikadin 27.01.2012 21:21

Kolyaj, не обращайте внимания, меня троллят)

B~Vladi 27.01.2012 22:13

Цитата:

Сообщение от Kolyaj
"Забудьте всё, чему вас учили в школе"

На работе: "Забудьте всё, чему вас учили в институте"
Дома: "Забудь про работу"

Я всё помню!
(с) Comedy Club :D

B@rmaley.e><e 27.01.2012 22:29

А что за объект такой магический получается? Что такое бесконечность? Чему равна сумма двух бесконечностей? Видимо, бесконечности.

Infinity + Infinity = 1/0 + 1/0 = 2/0 = Infinity
2 * Infinity = Infinity
2 * Infinity - Infinity = 0
(2 - 1) * Infinity = 0
Infinity = 0

Забавный результат, не так ли?

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

Из того, что в анализе lim_{x->0}{1/x} = +inf, ещё ничего не следует. Функция 1/x терпит неустранимый разрыв в нуле, но это не мешает нам рассматривать односторонние пределы.

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

float 28.01.2012 00:09

ну из моих не очень обширных познаний в математике:
деление - обратная операция умножению:
х * 0 = 0;
0/0 = x;
=> х может быть любым числом.
этот нюанс и обходят разного рода соглашениями.

melky 28.01.2012 01:44

Цитата:

Сообщение от float (Сообщение 153511)
ну из моих не очень обширных познаний в математике:
деление - обратная операция умножению:
х * 0 = 0;
0/0 = x;
=> х может быть любым числом.

любым положительным числом, т.к. получается +бесконечность, верно? тогда при x=-1 решения не в первом примере быть не должно.

B@rmaley.e><e 28.01.2012 09:21

melky, а где в примере float'а хоть какой-нибудь намёк на знак? Ноль, вообще говоря, не является ни отрицательным, ни положительным.

melky 28.01.2012 11:39

Цитата:

Сообщение от B@rmaley.e><e (Сообщение 153539)
melky, а где в примере float'а хоть какой-нибудь намёк на знак? Ноль, вообще говоря, не является ни отрицательным, ни положительным.

одно из двух : либо я плохо понимаю, либо здесь нарушена логика :)
смотрите сами :

при 1/0 получается +∞, а при -1/0 получится -∞. отсюда : x * 0 = 1; x = 1/0 => +∞. Положительная бесконечность охватывает промежуток (0;+∞), т.е. все числа правее нуля. Т.к. ответом является именно +∞, а не -∞, то сюда должны подходить только положительные числа. Пр. : 3*0 = 0 --> true. Отрицательных чисел в ответе нет, а они подходят : -5*0=0 --> true.
Значит, уравнение решено неверно.
Что-то мне подсказывает, что нужно искать 2 варианта : при 0-0 (подходим к нулю слева) и 0+0(подходим к нему справа) и, используя пределы, найти ответ.

но я на каникулах, так что вспоминать этот ад я не хочу. я даже когда смотрю на календарь и вспоминаю 6-22 числа января, в холод кидает)

B@rmaley.e><e 28.01.2012 12:03

Цитата:

Сообщение от melky
смотрите сами

Ничего не понял.
Цитата:

Сообщение от melky
x * 0 = 1

Отсюда уже следует, что x = +Inf, никаких других значений быть не может.
Цитата:

Сообщение от melky
3*0 = 0

Откуда ноль в правой части, и как это связано с аналогичным уравнением с единицей справа?

trikadin 28.01.2012 12:08

melky, возможно, это поможет разобраться.

melky 28.01.2012 12:12

Цитата:

Сообщение от B@rmaley.e><e (Сообщение 153558)
Откуда ноль в правой части, и как это связано с аналогичным уравнением с единицей справа?

затесалась ошибка :) тогда получается неопределённость.

Livaanderiamarum 28.01.2012 16:53

ВЫ ШО ВООБЩЕ НАРКОМАНЫ???? НЕ СТЫДНО))????77 ВЗРОСЛЫЕ ЛЮДИ ПРОГАРММИСТЫ И ВЫДАЮТ ЧТО НА 0 ДЕЛИТЬ НЕЛЬЗЯ)!111

МНЕ ДВАДЦАТНИК Я И ТО ЗНАЮ)!11

ДЕЛЕНИЕ НА 0 ДАЕТ НЕОПРЕДЕЛЕННОСТЬ, КОТОРАЯ НЕ ПРИЕМЛИМА В МАТЕМАТИЧЕСКОЙ МОДЕЛИРОВАНИИ. ДЕЛЕНИЕ НА 0 ДАЕТ МНОЖЕСТВО ИЗ ДВУХ ЧИСЕЛ - БЕСКОНЕЧНОСТЬ И САМО ЧИСЛО НА КОТОРОЕ ДЕЛИЛИ.

ЭТА НЕОПРЕДЕЛЕННОСТЬ КАКОЕ ИЗ ЧИСЕЛ ВЫБРАТЬ И НАЗЫВАЕТСЯ НЕЬЛЗЯ ДЕЛИТЬ))

В ПРОГРАММИРОВАНИИ РЕШИЛИ ИСКЛЮЧИТЬ НЕОПРЕДЕЛЕННОСТЬ И ВЫБРАТЬ БЕСКОНЕЧНОСТЬ)!11 РАЗВЕ ЭТО НЕ ОЧЕВИДНО??777 СОРИ ЗА КАПС У МЕНЯ БАТХЕРД

melky 28.01.2012 17:00

слава JS, что есть под рукой консоль и String.toLowerCase()

Цитата:

Сообщение от Livaanderiamarum (Сообщение 153616)
вы шо вообще наркоманы???? не стыдно))????77 взрослые люди прогарммисты и выдают что на 0 делить нельзя)!111 мне двадцатник я и то знаю)!11

Цитата:

Сообщение от function (Сообщение 153400)
Эм... Честно говоря мне 12, и ...

как там.. а, тред не читай @ сразу отвечай ?

Цитата:

Сообщение от Livaanderiamarum (Сообщение 153616)
деление на 0 дает неопределенность, которая не приемлима в математической моделировании.

а нам в вузе говорили, что 0/0, это неопределённость.

тема уже себя исчерпала. ты опоздал, марум.

Livaanderiamarum 28.01.2012 17:01

Цитата:

Сообщение от melky
тред не читай @ сразу отвечай

да уж прочитал понял уже говорили))) я опоздал)

function 28.01.2012 17:43

Цитата:

Сообщение от Livaanderiamarum
ДЕЛЕНИЕ НА 0 ДАЕТ НЕОПРЕДЕЛЕННОСТЬ, КОТОРАЯ НЕ ПРИЕМЛИМА В МАТЕМАТИЧЕСКОЙ МОДЕЛИРОВАНИИ. ДЕЛЕНИЕ НА 0 ДАЕТ МНОЖЕСТВО ИЗ ДВУХ ЧИСЕЛ - БЕСКОНЕЧНОСТЬ И САМО ЧИСЛО НА КОТОРОЕ ДЕЛИЛИ.

Вы хотите сказать, что 5/0 = 5?

monolithed 28.01.2012 18:14

Цитата:

Сообщение от function
Вы хотите сказать, что 5/0 = 5?

Infinity

Livaanderiamarum 28.01.2012 19:10

Цитата:

Сообщение от function (Сообщение 153629)
Вы хотите сказать, что 5/0 = 5?

n/0 возвращает и бесконечность и само число n

не во всех случаях, а только если n = 0. тогда вернется и бесконечность и само n, в обычных случаях возвращается только бесконечность.

Попробуй в js 0 делить на 0 ! Получится множество!


умножение не 0 тоже дает множество бесконечности и нуля:
_______________________________________________
0=0
15-15=10-10
15-9-6=10-6-4
3*(5-3-2)=2*(5-3-2)

одиинаковые множители сокращаютсяи получается

3=2
3+2=2+2
5=2+2
2+2=5
_________________

проще говоря
4*0 = 20*0
сокращаем одинаковые множители
4 = 20
__________________________________________________ ___

если представить числа в виде комплексной сферы, то ноль и бесконечность это полюса верхний и нижний

function 28.01.2012 19:21

Цитата:

Сообщение от Livaanderiamarum
n/0 возвращает и бесконечность и само число n

не во всех случаях, а только если n = 0. тогда вернется и бесконечность и само n, в обычных случаях возвращается только бесконечность.

Ну это лучше.
Цитата:

Сообщение от Livaanderiamarum
Попробуй в js 0 делить на 0 ! Получится множество!


0=0
15-15=10-10
15-9-6=10-6-4
3*(5-3-2)=2*(5-3-2)

одиинаковые множители сокращаютсяи получается

3=2
3+2=2+2
5=2+2

2+2=5

Зачем людей запутывать? Кстати, у нас в учебнике это же написано.

Livaanderiamarum 28.01.2012 19:26

function,
умножение не 0 тоже дает множество бесконечности и нуля:
_______________________________________________
0=0
15-15=10-10
15-9-6=10-6-4
3*(5-3-2)=2*(5-3-2)

одиинаковые множители сокращаютсяи получается

3=2
3+2=2+2
5=2+2
2+2=5
_________________

проще говоря
4*0 = 20*0
сокращаем одинаковые множители
4 = 20
__________________________________________________ ___

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

Livaanderiamarum 28.01.2012 20:08

Раскрою вам секрет, операторы арифметики могут работать только с числами. 0 и inf не числа. Например 2^0 означает умножить 2 на 2, 0 раз. Оператор степень просто не выполняет работу, В результате получится 2.
2+0 означает прибавить к 2 ничего. но дело в том что в мире бесконечное количество "ничего" в каждом месте. Вся двойка просто пронизана ничем. Между двойкой и тройкой влезает ничего, при чем в бесконечном количестве. Это означает что 2+0 = 2 потому что мы не делаем операцию. оператор не умеет работать с нечислами. по этому просто СЛОЖЕНИЕ НЕ ДЕЛАЕТСЯ.

2/0 означает что нужно поделить вещество составляющее двойку на нисколько групп, и эти группы будут олицетворять числа. поделить двойку так чтобы получилось 0 частей мы не можем, потому что оператор не умеет работать с нечислами, он может делить только на числа. по тому 2/0 = 2 оператор не сработает.

по той же причине и не сработает оператор умножения
2*0 = 2


Иными словами не нужно пытаться использовать операторы числовые для работы с нечислами.
операция 2 - 2 возвращает нечисло.

Если хотите работать с нечислами нужно разработать другие операторы.

function 28.01.2012 20:22

Ладно, вы мне совсем уже голову засорили.

Цитата:

Сообщение от Livaanderiamarum
проще говоря
4*0 = 20*0
сокращаем одинаковые множители
4 = 20

Цитата:

Сообщение от Livaanderiamarum
2*0 = 2

И т.д. Закрывайте тему.

Livaanderiamarum 28.01.2012 20:27

Цитата:

Сообщение от function
И т.д. Закрывайте тему.

знаешь типичное быдло, в школе тебя научили как робота что МИР УСТРОЕН ТАК А НЕ ИНАЧЕ, и ты уже разучился думать своей головой.

типичный обыватель

function 28.01.2012 20:30

Вы хотите оспорить, что 2 неравно 3?

Livaanderiamarum 28.01.2012 20:42

Цитата:

Сообщение от function (Сообщение 153674)
Вы хотите оспорить, что 2 неравно 3?

я не хочу спорить. я хочу сказать что операторы арифметики могут работать только с количеством, то есть с числами, если же мы начинаем пытаться использовать их в НЕЧИСЛАХ, например 0 и inf , то они не работают. Иначе поспорь вот с этим

10*0=30*0
одинаковые множетели сокращаются
10=30

B@rmaley.e><e 28.01.2012 20:46

Livaanderiamarum, я вижу, Вы сами мало чего понимаете в математике. Придумали какие-то нечисла.

Livaanderiamarum 28.01.2012 20:51

Цитата:

Сообщение от B@rmaley.e><e
Livaanderiamarum, я вижу, Вы сами мало чего понимаете в математике. Придумали какие-то нечисла.

Математику ПРИДУМАЛИ, ты не поверишь, люди. я лишь пересматриваю концепции использования оператора. что в этом такого?

B@rmaley.e><e 28.01.2012 20:55

Цитата:

Сообщение от Livaanderiamarum
Математику ПРИДУМАЛИ

А физические законы мира сами подстроились под неё?

poorking 28.01.2012 20:56

Цитата:

Сообщение от Livaanderiamarum
10*0=30*0
одинаковые множетели сокращаются
10=30

Но нельзя сокращать нули, мне так в школе вдолбили

Livaanderiamarum 28.01.2012 21:00

Цитата:

Сообщение от poorking (Сообщение 153697)
Но нельзя сокращать нули, мне так в школе вдолбили

14-14 = 0

10*0=30*0

10*(14-14) = 30*(14-14)

множетель (14-14) , а мы его еще не считали, и не знаем что там ноль сокращается.

10=30

__________________________________

А вообще подобные вещи как нельзя и возникают от того что операторы начинают работать неверно с нечислами.
По этому и делают как бы исключения. Мне кажется нужно придумать алгоритмы для работы с нечислами. то есть просто описать поведение операторов, для нечисел, так же как когда-то люди описали поведение операторов с числами.


Часовой пояс GMT +3, время: 06:20.