LINUX.ORG.RU

Стабильный кде 4.4

Нет, ну в самом деле сегодня поржал от матюков человека обновившегося до 4.4. Теперь он на гноме.

anotheranonymous
()

vasily@vonbraun:~$ python
Python 2.5.4 (r254:67916, Nov 19 2009, 22:14:20)
[GCC 4.3.4] on linux2
Type «help», «copyright», «credits» or «license» for more information.

1.0/0

Traceback (most recent call last):
File «<stdin>», line 1, in <module>
ZeroDivisionError: float division





Поделил

dragonfly
()
Ответ на: 1/0 от alg0rythm

Вообще, если определить деление на ноль как [lim k/x при x->0], где k - некоторое действительное число, то получаем в итоге бесконечность. Итак, k/0 = inf.

alg0rythm
()
Ответ на: комментарий от dragonfly

ok

~ :$bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
1/0
Runtime error (func=(main), adr=3): Divide by zero

Sylvia ★★★★★
()
fox@darkstar:~$ expr 1 / 0
expr: деление на ноль (К.О.)
Cancellor ★★★★☆
()
Ответ на: комментарий от ArtNaiL

Мда, в моей Теории Деления на Ноль загвоздочка... Легко обходим ее, объявляя k!=0.

ПС. Вообще это шутка была, если че.

alg0rythm
()

Почему нельзя делить на ноль?

«Делить на ноль нельзя!» — большинство школьников заучивает это правило наизусть, не задаваясь вопросами. Все дети знают, что такое «нельзя» и что будет, если в ответ на него спросить: «Почему?» А ведь на самом деле очень интересно и важно знать, почему же нельзя.

Всё дело в том, что четыре действия арифметики — сложение, вычитание, умножение и деление — на самом деле неравноправны. Математики признают полноценными только два из них — сложение и умножение. Эти операции и их свойства включаются в само определение понятия числа. Все остальные действия строятся тем или иным образом из этих двух.

Рассмотрим, например, вычитание. Что значит 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; в таких случаях математики говорят о «раскрытии неопределенности», но в арифметике таких случаев не встречается.)
Вот такая особенность есть у операции деления. А точнее — у операции умножения и связанного с ней числа ноль.

Ну, а самые дотошные, дочитав до этого места, могут спросить: почему так получается, что делить на ноль нельзя, а вычитать ноль можно? В некотором смысле, именно с этого вопроса и начинается настоящая математика. Ответить на него можно только познакомившись с формальными математическими определениями числовых множеств и операций над ними. Это не так уж сложно, но почему-то не изучается в школе. Зато на лекциях по математике в университете вас в первую очередь будут учить именно этому.

xintrea
()
st> 1/0
Object: 1 error: The program attempted to divide a number by zero
ZeroDivide(Exception)>>signal (AnsiExcept.st:216)
SmallInteger(Number)>>zeroDivide (AnsiExcept.st:1534)
SmallInteger>>/ (SmallInt.st:277)
UndefinedObject>>executeStatements (a String:1)
returned value is nil
33073 byte codes executed
which took 0.003 seconds (0.004s user+0.000s sys)
2022 primitives, percent 6.11
self returns 186, inst var returns 275, literal returns 590
104 method cache lookups since last cleanup, percent 0.31
43 method cache hits, 61 misses, 41.35 percent hits
yoghurt ★★★★★
()
Ответ на: комментарий от alg0rythm

Таки это будет не деление на ноль, а деление на стремящуюся к нолю величину, и результатом будет не бесконечность, а величина, стремящаяся в бесконечность.

Результат же деления на ноль не определён.

aiqu6Ait ★★★★
()

Стыдно, товарищи!

Всё лисп, да лисп, а я первый)

[1]> (/ 1 0)

*** - /: division by zero
The following restarts are available:
ABORT :R1 Abort main loop
Break 1 [2]>

dragonfly
()

sergey@desktop ~ $ $((1/0))
bash: 1/0: деление на 0 (error token is «0»)

over9000
()
Ответ на: комментарий от aiqu6Ait

Обрати внимание, что это предел. Предел по определению - число. То есть, если некоторая величина стремится к бесконечности, ее предел - бесконечность. Или не?

alg0rythm
()
Ответ на: комментарий от xintrea

А вообще по-моему уравнения

x = 5 : 0

0 · x = 5



не равносильны. (Во втором случае точно пустое множество, а в первом... просто нельзя делить на ноль:)

dragonfly
()
Ответ на: комментарий от Deleted
: irb
irb(main):001:0> 1/0
ZeroDivisionError: divided by 0
        from (irb):1:in `/'
        from (irb):1
        from :0
Deleted
()
% ghci{fcrtk
GHCi, version 6.10.4: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer ... linking ... done.
Loading package base ... linking ... done.
Prelude> 1/0
Infinity
Prelude> 0/0
NaN

Хаскелл рулит :-)

Begemoth ★★★★★
()
Ответ на: комментарий от alg0rythm

В википедии написано, что да. Хотя строго говоря, эта «величина» (лучше сказать последовательность) расходится.

dragonfly
()
Ответ на: комментарий от dragonfly

Ну вообще да. Если последовательность неограничено возрастает, то говорят, что ее предел - бесконечность.

alg0rythm
()

опаопаопа, кажется, я вижу светящуюся воро...

Slesarev
()

$ qalc 1/0
error: Division by zero.
1 / 0 = 1 / 0

xorik ★★★★★
()
Gforth 0.7.0, Copyright (C) 1995-2008 Free Software Foundation, Inc.
Gforth comes with ABSOLUTELY NO WARRANTY; for details type `license'
Type `bye' to exit
5 0 /
:1: Division by zero
5 0 >>>/<<<
Backtrace:
memnek
()

У меня деление на ноль работает. Что я делают не так?

#include <stdio.h>
int main()
{
  printf("1.0/0.0 = %f\n",1.0/0.0);
  printf("1.0/-0.0 = %f\n",1.0/-0.0);
}
1.0/0.0 = inf
1.0/-0.0 = -inf

sign
()
kurlaev@kurlaev-netbook:~> cat divbyzero.s
.text
 .globl main
 main:
  mov $1,%eax
  mov $0,%ebx
  div %ebx
  ret #хотя зачем?
kurlaev@kurlaev-netbook:~> gcc divbyzero.s
kurlaev@kurlaev-netbook:~> ./a.out
Исключение в операции с плавающей точкой
kurlaev@kurlaev-netbook:~>
Yareg ★★★
()
Ответ на: комментарий от alg0rythm

>Предел по определению - число

См. определение предела в несобственном смысле

jcd ★★★★★
()
Ответ на: комментарий от alg0rythm

>Предел по определению - число.

Нет. Число или ±бесконечность.

Yareg ★★★
()
Ответ на: комментарий от Yareg

Кстати, почему он пишет исключение с _плавающей_ точкой, если у меня числа целые были?

Yareg ★★★
()
Ответ на: комментарий от Zodd

>> У меня деление на ноль работает. Что я делают не так?

Делишь на ноль. // Вр.И.О.К.О.

fixed by И.О.Вр.И.О.К.О.

Yareg ★★★
()

Скандалы, интриги, расследования! Создателям PHP известно значение бесконечности - это оказалась двойка в 1024й степени:

drull@drull-laptop:~$ cat 1.php 
#!/usr/bin/php
<?php
for($j=1023;$j<1025;$j++)echo $j.' '.(pow(2,$j))."\n";
?>
drull@drull-laptop:~$ ./1.php 
1023 8.98846567431E+307
1024 INF

drull ★☆☆☆
()
Ответ на: комментарий от sign

У меня деление на ноль работает. Что я делают не так?

У вас деление на +0 и -0.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от ivano

TIMTOWTDI

епт

// мой скилл еще не так велик для коротких перлов, и да, мне стыдно

wlan ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.