Всем привет!
История произошла на днях, решил все же кинуть в юмор, а не в алгоритмы ))
Недавно рассказывал одному ребенку об основах программирования и, в том числе о том, к чему приводит деление на ноль. И он спросил меня, — а я вообще не понимаю, почему нельзя делить на ноль, что тут такого? Я экспромтом выдал ему пример, но есть в нем недоработка, помогите исправить плз. Дальше привожу по памяти наш разговор.
— (Я) Так возьми лист бумаги и нарисуй на нем большую цифру 1. Это будет наше число, которое мы будем делить на ноль ))
— (Р) Сделал
— (Я) Теперь раздели лист на две части. Сколько сейчас частей?
— (Р) Две!
— (Я) Это то же самое, что 1/0.5 == 2. А теперь каждую часть раздели еще пополам, сколько частей!
— (Р) Теперь четыре, еще раз поделить все?
— (Я) Да, теперь у тебя восемь частей, то есть 1/0.5/0.5/0.5 == 8. Дальше бумагу портить не будем, смысл ты понял. А сколько кусочков будет после 16 делений?
— (Р) Много!
— (Я) Ты удивишься, но будет 2 в степени 16 == 65536 кусочков. И если у тебя обычный лист формата А4, то у него размер 210*297 мм. То есть у тебя получатся кусочки размером 210*297/65536 == 0.95 кв.мм, но это не важно. А важно то, что при каждом делении количество кусочков увеличивается на два и растет, как снежный ком! И на очередном делении на совсем маленькое число количество кусочков, то есть наш результат станет таким большим, что компьютер не сможет его переварить и программа закроется с ошибкой. (Я объяснил, что такое переполнение, но вам уж повторять не буду )
— (Р) Да, я теперь понял. Но непонятно, ведь мы делим на все возрастающие числа, 2,3,4,5 ... а ты говоришь про деление на ноль.
Короче, на лицо моя методическая ошибка, как бы этот пример правильно переделать, чтобы и ребенку стало понятно? Что-то не соображу, помогите плз.
30.03.12 14:57: Перенесено модератором из 'Коллеги, улыбнитесь' — Blazkowicz
Здравствуйте, vog, Вы писали:
vog>- (Р) Да, я теперь понял. Но непонятно, ведь мы делим на все возрастающие числа, 2,3,4,5 ... а ты говоришь про деление на ноль.
вы делили на все более убывающие числа...
а объяснить имхо нужно через решение уравнения x * 0 = a
Здравствуйте, vog, Вы писали:
vog>Короче, на лицо моя методическая ошибка, как бы этот пример правильно переделать, чтобы и ребенку стало понятно? Что-то не соображу, помогите плз.
Здравствуйте, vog, Вы писали:
vog>Короче, на лицо моя методическая ошибка, как бы этот пример правильно переделать, чтобы и ребенку стало понятно? Что-то не соображу, помогите плз.
Это не методическая ошибка. Я тоже ничего не понял.
Так действительно проще про переполнение рассказывать, или про деление на бесконечность.
Лист бумаги делим на 0 человек, сколько достанется каждому?
Сам когда-то искал материал на подобную тему.
Самое лучшее, что получилось найти здесь. Хотя ресурс такой, что к нему невозможно серьёзно относиться.
Было много обсуждений здесь
Здравствуйте, vog, Вы писали: vog>Короче, на лицо моя методическая ошибка, как бы этот пример правильно переделать, чтобы и ребенку стало понятно? Что-то не соображу, помогите плз.
просто объясни что 0 это как самая-самая маленькая песчинка
сколько их влезет на лист, не может сосчитать никто, потому что её никто не смог увидеть даже в микроскоп, настолько она мала
я бы такой пример дал:
а что значит разделить там х яблок между нулем человек? между ничем?
а более продвинутый разговор может состоять из того, что деления не существует — это просто обратная операция к умножению. а такого числа чтобы умножить на 0 и получить любое другое число не существует.
Здравствуйте, vog, Вы писали:
vog>Всем привет! vog>История произошла на днях, решил все же кинуть в юмор, а не в алгоритмы )) vog>Недавно рассказывал одному ребенку об основах программирования и, в том числе о том, к чему приводит деление на ноль. И он спросил меня, — а я вообще не понимаю, почему нельзя делить на ноль, что тут такого?
Здравствуйте, vog, Вы писали:
vog>Короче, на лицо моя методическая ошибка, как бы этот пример правильно переделать, чтобы и ребенку стало понятно? Что-то не соображу, помогите плз.
Ввести понятие алгебры. Что вначале у людей были цифры 1, 2 и много. Потом было много это сорок. Потом ввели нуль и отрицательные числа, потом рациональные, потом иррациональные, потом комплексные. Дальше понятия числа можно развивать несколькими способами, но это не суть важно. Так вот, алгебра описывает некоторые операции на множестве. Деление определяется как решение уравнения a * 0 = b. Есть решение в алгебре --- хорошо. Нету --- значит делить на нуль нельзя. Алгебры тоже разные бывают. Есть алгебра действительных (комплексных) чисел. Есть алгебра для представлений вещественного числа в формате IEEE. Есть всякие алгебры, в которые включаются различные инфинитезимальные понятия, и там возникают бесконечно малый и бесконечно большие величины. И т. д. и т. п.
Re[2]: Как объяснить ребенку про деление на ноль? ))
Здравствуйте, VsevolodC, Вы писали:
VC>Здравствуйте, vog, Вы писали:
vog>>- (Р) Да, я теперь понял. Но непонятно, ведь мы делим на все возрастающие числа, 2,3,4,5 ... а ты говоришь про деление на ноль.
VC>вы делили на все более убывающие числа... VC>а объяснить имхо нужно через решение уравнения x * 0 = a
Это уравнение имеет точное решение: a = 0 и x = 1 (так как 0/0 = 1)
=)
Здравствуйте, alzt, Вы писали:
A>Лист бумаги делим на 0 человек, сколько достанется каждому?
Мне кажется, такой пример ничего не объяснит.
Ребенок ответит: "Нисколько, потому что доставаться некому. Значит, делить можно, в ответе ноль."
Так же, как если лист бумаги делим на 0.5 человек. Сколько достанется каждому? По два листа? А откуда взялся второй лист, мы же только один делили? Некоторые вещи трудно представить таким бытовым образом.
Re[2]: Как объяснить ребенку про деление на ноль? ))
Здравствуйте, Mystic, Вы писали:
M>Ввести понятие алгебры. Что вначале у людей были цифры 1, 2 и много. Потом было много это сорок. Потом ввели нуль и отрицательные числа, потом рациональные, потом иррациональные, потом комплексные. Дальше понятия числа можно развивать несколькими способами, но это не суть важно. Так вот, алгебра описывает некоторые операции на множестве. Деление определяется как решение уравнения a * 0 = b. Есть решение в алгебре --- хорошо. Нету --- значит делить на нуль нельзя. Алгебры тоже разные бывают. Есть алгебра действительных (комплексных) чисел. Есть алгебра для представлений вещественного числа в формате IEEE. Есть всякие алгебры, в которые включаются различные инфинитезимальные понятия, и там возникают бесконечно малый и бесконечно большие величины. И т. д. и т. п.
Это не только ребенок, но и взрослый не каждый поймет. Как минимум первый курс института.
Здравствуйте, vog, Вы писали:
vog>Короче, на лицо моя методическая ошибка, как бы этот пример правильно переделать, чтобы и ребенку стало понятно? Что-то не соображу, помогите плз.
Очень просто:
1 * 0 = 0
2 * 0 = 0
3 * 0 = 0
...
100500 * 0 = 0
Какое число надо поделить на ноль, чтобы получить ноль?
А вообще без пределов тут не обойтись. )
Здравствуйте, vog, Вы писали:
vog>Короче, на лицо моя методическая ошибка, как бы этот пример правильно переделать, чтобы и ребенку стало понятно? Что-то не соображу, помогите плз.
Это НЕ методическая ошибка, если имелся в виду метод объяснения.
Ошибка, по-моему, в другом. Жизнь — в смысле, физика — и некоторые разделы математики, типа тех, что занимаются вещественными и иррациональными числами, несовместимы. Например, математика рассматривает некое число Пи, бесконечное, иррациональное. Есть, однако, физическая теория, по которой пространство (и время) квантовано, и, значит, Пи должно быть числом РАЦИОНАЛЬНЫМ (выражаемым отношением m юнитов планковского размера для построения "окружности" (что бы под ней не подразумевалось) и n юнитов для проведения "диаметра"). Более того, для каждой "окружности" (уже бред для математика!) число Пи может быть свое (дважды бред!).
Поэтому, объяснить на примерах — то есть, с привлечением физических экспериментов — многие математические результаты невозможно в принципе. Маттеория не согласуется с физической реальностью.
Вот это и надо объяснить в первую очередь. В математике деление на ноль даст бесконечность — почему, узнаешь, когда теорию математики будешь изучать в терминах этой теории — а в жизни FPU проверит регистр и выставит NaN. Самой бесконечности, во Вселенной, может и вовсе нет. Может, она конечна. В математике между двумя сколь угодно близкими числами можно засунуть третье, а в жизни битность вещественного числа исчерпается и ты их одно от другого не отличишь, может быть, уже на пятнадцатом знаке. И так далее.
Здравствуйте, vog, Вы писали: vog>Короче, на лицо моя методическая ошибка, как бы этот пример правильно переделать, чтобы и ребенку стало понятно? Что-то не соображу, помогите плз.
Яблоко. Делим на двоих, каждый получает 0.5 от яблока. Остается 0 яблока. Все ок.
Теперь делим на 0 человек. Отдать его некому, яблоко осталось в количестве 1 штука. Значит деления не произошло — ошибка.
Re[3]: Как объяснить ребенку про деление на ноль? ))
Здравствуйте, Панда, Вы писали:
A>>Лист бумаги делим на 0 человек, сколько достанется каждому?
П>Мне кажется, такой пример ничего не объяснит. П>Ребенок ответит: "Нисколько, потому что доставаться некому. Значит, делить можно, в ответе ноль."
Так значит 1 листок всё-таки остался, т.е. мы ничего не поделили. То есть деление не удалось.
Re[3]: Как объяснить ребенку про деление на ноль? ))