[firebase-br] RES: RES: Operador de Divisão - Qual o problema?

Elton da Motta Barbosa embarbosa em gmail.com
Ter Jan 12 12:21:13 -03 2010


>Concordo com a Priscila. Bem antes da programação existir, já existia a
>matemática. e 1/2 = 0,5.
>Magno System

>Confesso que também estou surpreso, pois na "minha" opinião, o
>resultado de qualquer divisão deve retornar float e não integer, mesmo
>que seja 4/2, onde o result deveria ser 2.0. (Minha opinião)
>Abraços!
>Kelver Merlotti

Olá Kelver, Magno, Priscila, PessoALL

  eu entendo essa "incompreensão" da parte da maioria. Mas isso é
matematicamente correto, ao contrário do que se possa pensar. Na
verdade, a maior parte dos estudantes de graduação de matemática
também se perdem nesses caminhos...
  Não sei se vou ser bem claro, mas vou tentar explicar de maneira
simplificada, sem perder o raciocínio.
  O Conjunto dos inteiros *não é definitivamente* um subconjunto dos
números reais. é um Conjunto diferente. Não existe operação de divisão
no conjunto dos números naturais/inteiros (bem, realmete não existe
operação de divisão em nenhum conjunto antes dos reais... e mesmo lá,
ela é geralmente definida como multiplicação, nós só mudamos a
simbologia, o jeito de escrever). Na verdade é essa necessidade de
"operação inversa da multiplicação" que criou o próximo conjunto
(números racionais). Em matemática, uma operação em um conjunto deve
retornar um elemento do mesmo conjunto, e deve poder ser aplicada em
todos elementos do conjunto. "Aplicações" podem até ser diferentes...
mas isso não vem ao caso.
  O fato é que 1/2 não está definido para conjunto dos inteiros. Assim
como 1/3 não está definido para o conjunto dos números racionais. Se
algum matemático te faz a pergunta: "Quanto vale 1/2?" O que você deve
responder é: "em qual conjunto?", a menos que ele tenha deixado
explicitamente ou implicitamente definido em que conjunto vocês estão
trabalhando. É por isso que professores de matemática costumam ser tão
exigentes quanto a "pequenos detalhes" nas provas... =D
  Essa mistura que fazemos entre os conjuntos naturalmente nas contas
do dia a dia é devido aos isomorfismos entre esses conjuntos, que
permitem tratar um elemento como se fossem de outros grupos, e assim,
criam uma grande confusão na nossa mente, como já disse numa mensagem
anterior.
  Bem, não é tão complicado quanto parece... mas demora um pouco de
tempo pra gente dizer "Captei! Captei a mensagem!"

  Então, em resumo, pra quem apenas está trabalhando com programação e
não tem necessidade de aprofundar no assunto é mais fácil fazer o que
eu fazia a princípio: Considere que os modelos de cálculos se
simplificam muito mais quando o processador trabalha com números
inteiros. E assim, além de matematicamente ser exata a resposta de 1/2
=0, isso consome menos recursos do sistema.

abraços,




Mais detalhes sobre a lista de discussão lista