Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.02.2009, 08:04   #1
Bearw08
Boom-boom)
Форумчанин
 
Аватар для Bearw08
 
Регистрация: 02.02.2009
Сообщений: 500
По умолчанию Деление на ноль

Пробегаясь еще раз по книге Шильтдт-а C++ для начинающих, в одном из примеров показывалась "Защита от деления на нуль". Вот интересная статейка, про деление на нуль:
Цитата:
Всё дело в том, что четыре действия арифметики — сложение, вычитание, умножение и деление — на самом деле неравноправны. Математики признают полноценными только два из них — сложение и умножение. Эти операции и их свойства включаются в само определение понятия числа. Все остальные действия строятся тем или иным образом из этих двух.

Рассмотрим, например, вычитание. Что значит 5 – 3? Школьник ответит на это просто: надо взять пять предметов, отнять (убрать) три из них и посмотреть, сколько останется. Но вот математики смотрят на эту задачу совсем по-другому. Нет никакого вычитания, есть только сложение. Поэтому запись 5 – 3 означает такое число, которое при сложении с числом 3 даст число 5. То есть 5 – 3 — это просто сокращенная запись уравнения: x + 3 = 5. В этом уравнении нет никакого вычитания. Есть только задача — найти подходящее число.

Точно так же обстоит дело с умножением и делением. Запись 8 : 4 можно понимать как результат разделения восьми предметов по четырем равным кучкам. Но в действительности это просто сокращенная форма записи уравнения 4 · x = 8.

Вот тут-то и становится ясно, почему нельзя (а точнее невозможно) делить на ноль. Запись 5 : 0 — это сокращение от 0 · x = 5. То есть это задание найти такое число, которое при умножении на 0 даст 5. Но мы знаем, что при умножении на 0 всегда получается 0. Это неотъемлемое свойство нуля, строго говоря, часть его определения.

Такого числа, которое при умножении на 0 даст что-то кроме нуля, просто не существует. То есть наша задача не имеет решения. (Да, такое бывает, не у всякой задачи есть решение.) А значит, записи 5 : 0 не соответствует никакого конкретного числа, и она просто ничего не обозначает и потому не имеет смысла. Бессмысленность этой записи кратко выражают, говоря, что на ноль делить нельзя.

Самые внимательные читатели в этом месте непременно спросят: а можно ли ноль делить на ноль? В самом деле, ведь уравнение 0 · x = 0 благополучно решается. Например, можно взять x = 0, и тогда получаем 0 · 0 = 0. Выходит, 0 : 0=0? Но не будем спешить. Попробуем взять x = 1. Получим 0 · 1 = 0. Правильно? Значит, 0 : 0 = 1? Но ведь так можно взять любое число и получить 0 : 0 = 5, 0 : 0 = 317 и т. д.

Но если подходит любое число, то у нас нет никаких оснований остановить свой выбор на каком-то одном из них. То есть мы не можем сказать, какому числу соответствует запись 0 : 0. А раз так, то мы вынуждены признать, что эта запись тоже не имеет смысла. Выходит, что на ноль нельзя делить даже ноль. (В математическом анализе бывают случаи, когда благодаря дополнительным условиям задачи можно отдать предпочтение одному из возможных вариантов решения уравнения 0 · x = 0; в таких случаях математики говорят о «раскрытии неопределенности», но в арифметике таких случаев не встречается.)

Вот такая особенность есть у операции деления. А точнее — у операции умножения и связанного с ней числа ноль.

Ну, а самые дотошные, дочитав до этого места, могут спросить: почему так получается, что делить на ноль нельзя, а вычитать ноль можно? В некотором смысле, именно с этого вопроса и начинается настоящая математика. Ответить на него можно только познакомившись с формальными математическими определениями числовых множеств и операций над ними. Это не так уж сложно, но почему-то не изучается в школе. Зато на лекциях по математике в университете вас в первую очередь будут учить именно этому.
¡ʁɔvʎнdǝʚǝdǝu dиw
Bearw08 вне форума Ответить с цитированием
Старый 08.02.2009, 08:38   #2
LeoN
Форумчанин
 
Аватар для LeoN
 
Регистрация: 03.11.2006
Сообщений: 278
По умолчанию

Только не математика, а Алгебра Бинара, т.е. для бинарных чисел. Процессор может только складывать, все остальные строются на сложении.
Опять же сложение - метод проверки вычитания. Если вы ещё не забыли как вычитать столбиком, то вы помните, что там идет именно вычитание каждого разряда отдельно. сложением там и не пахнет.
Разработка сайтов -дело прикольное

Последний раз редактировалось LeoN; 08.02.2009 в 08:40.
LeoN вне форума Ответить с цитированием
Старый 08.02.2009, 09:47   #3
Bearw08
Boom-boom)
Форумчанин
 
Аватар для Bearw08
 
Регистрация: 02.02.2009
Сообщений: 500
По умолчанию

Цитата:
Сообщение от LeoN Посмотреть сообщение
Только не математика, а Алгебра Бинара, т.е. для бинарных чисел. Процессор может только складывать, все остальные строются на сложении.
Опять же сложение - метод проверки вычитания. Если вы ещё не забыли как вычитать столбиком, то вы помните, что там идет именно вычитание каждого разряда отдельно. сложением там и не пахнет.
ты не согласен с вот этим?:


Цитата:
Всё дело в том, что четыре действия арифметики — сложение, вычитание, умножение и деление — на самом деле неравноправны. Математики признают полноценными только два из них — сложение и умножение. Эти операции и их свойства включаются в само определение понятия числа. Все остальные действия строятся тем или иным образом из этих двух.
¡ʁɔvʎнdǝʚǝdǝu dиw
Bearw08 вне форума Ответить с цитированием
Старый 08.02.2009, 10:23   #4
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 18,136
Радость

Цитата:
Сообщение от Bearw08 Посмотреть сообщение
Всё дело в том, что четыре действия арифметики — сложение, вычитание, умножение и деление — на самом деле неравноправны. Математики признают полноценными только два из них — сложение и умножение. Эти операции и их свойства включаются в само определение понятия числа. Все остальные действия строятся тем или иным образом из этих двух.:
Ну ладно деление, но вычитание-то почему урезано в правах?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 08.02.2009, 10:29   #5
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 18,136
По умолчанию

Школьники не так уж не правы, как пишет Шилдт (это исключительно ИМХО). Тот же пример с предметами, отрицательных предметов я не встречал , значит такая операция все же имеется.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 08.02.2009, 10:37   #6
Bearw08
Boom-boom)
Форумчанин
 
Аватар для Bearw08
 
Регистрация: 02.02.2009
Сообщений: 500
По умолчанию

не, просто по сути ведь тут говорится, что при деление на ноль, результат будет "бесконечность". А вот насчет
Цитата:
Математики признают полноценными только два из них — сложение и умножение.
тут я не силен... Хотя статейка по моему оч интересная, вопрос возник, почему в школе не объясняют почему на ноль делить нельзя? ну хоть бы в 9 классе!?
¡ʁɔvʎнdǝʚǝdǝu dиw
Bearw08 вне форума Ответить с цитированием
Старый 08.02.2009, 10:50   #7
maladoy
delphi-ст!
Форумчанин
 
Аватар для maladoy
 
Регистрация: 02.01.2009
Сообщений: 825
По умолчанию

Цитата:
почему в школе не объясняют почему на ноль делить нельзя? ну хоть бы в 9 классе!?
а тебе на уроке информатики в школе объясняли работу с реестром,к примеру или вирусонаписание??? нет?? видимо министерство образования решило ввести как аксиому "на ноль делить нельзя" без объяснения причин. а остальному в универе научат. а кто заинтересуется почему сам для себя почитает хоть в 9 классе хоть во 2!! имхо
вступлю в команду разработчиков ПО на Delphi
maladoy вне форума Ответить с цитированием
Старый 08.02.2009, 10:52   #8
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 18,136
Радость

Мне почему то тоже кажется, что при делении на нуль должно появиться бесконечно большое число, а нуль / нуль = единица. Насчет школы мне кажется, что преподаватели (или как их - учителя..) сами не в курсе.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 08.02.2009, 10:56   #9
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 18,136
По умолчанию

Цитата:
Сообщение от maladoy Посмотреть сообщение
а тебе на уроке информатики в школе объясняли работу с реестром,к примеру или вирусонаписание??? нет?? видимо министерство образования решило ввести как аксиому "на ноль делить нельзя" без объяснения причин. а остальному в универе научат. а кто заинтересуется почему сам для себя почитает хоть в 9 классе хоть во 2!! имхо
Я тоже всегда интересовался почему на нуль делить нельзя? Нуль это число? Число, раз число значит делить можно, за эти крамольные мысли у меня по алгебре 4 было . А такие запреты оболванивают, убивают в людях стремление к мышлению.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 08.02.2009, 10:58   #10
maladoy
delphi-ст!
Форумчанин
 
Аватар для maladoy
 
Регистрация: 02.01.2009
Сообщений: 825
По умолчанию

Цитата:
А такие запреты оболванивают, убивают в людях стремление к мышлению.
есть такое понятие "образовательный минимум" а все остальное прерогатива учителей рассказывать или нет!! и соответственно ученика надо ему это или нет
вступлю в команду разработчиков ПО на Delphi
maladoy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с задачей. в файлах вообще ноль klindk Паскаль, Turbo Pascal, PascalABC.NET 2 13.12.2008 10:25
Деление на ноль! Hacker19_90 Паскаль, Turbo Pascal, PascalABC.NET 7 01.10.2008 22:59
Проверка деления на ноль (Как проверить?) Moonka Помощь студентам 10 23.04.2007 19:41
Я-ноль: нужны проги для начала. Где? kypto8 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 31.03.2007 09:29