Hola
Yo valoro más la verdad que las consecuencias, hasta cierto punto. O sea, no veo tan importante si sirve o no, sino si es verdad o no.
Por supuesto; pero en matemáticas lo que "es verdad o no" se hace fijando previamente unas definiciones y axiomas.
¿Es verdad \( 0/0=0 \)?.
Pues para responder hay que plantearse primero que significa o cómo está definido \( x/y \). Los detalles sobre esto pueden depender del contexto. Pero las dos opciones más usuales serían estas:
1) \( x/y=x\cdot y^{-1} \), donde \( y^{-1} \) es el inverso de \( y \), es decir, por definición el único número que multiplicado por \( y \) da \( 1 \). En ese caso \( 0/0 \) no estaría definido porque no existe \( 0^{-1} \), porque ningún número multiplicado por \( 0 \) da \( 1 \).
2) \( x/y \) es el (¿único?) número que multiplicado por \( y \) da \( x \). En este caso tendría sentido escribir \( 0/0=0 \), porque \( 0\cdot 0=0 \); pero también \( 0/0=1 \), porque \( 1\cdot 0=0 \), \( 0/0=0.32 \), porque \( 0\cdot 0.32=0 \); es decir valdría cualquier valor. ¿Cuál elegir y por qué? ¿por qué \( 0 \) y no otro?.
Entonces si nos ceñimos a la definición (1) la "verdad" es que \( 0/0 \) no está definido, no tiene sentido. Y en todo caso si se le quiere dar algún valor como excepción a esa definición, ¿cómo juzgas si ese valor elegido es "bueno" o "la verdad"?.
Si nos ceñimos a (2) la "verdad" es que podemos definir \( 0/0 \) como cualquier valor. ¿Por qué elegir \( 0 \) y no otro?.
Pero bueno, en algún programa podría beneficiar. No sé un buen ejemplo. Ponele que en un juego de golf la fórmula para determinar la velocidad inicial de la bola tras el golpe es
Puntería lograda * Palo / Viento en contra
La puntería lograda se determina mediante azar, y digamos que resulta 0 en un caso
El viento supongamos que es 0 también
Luego podríamos tener 0 * 200 / 0
Si 0/0 da error, habría que poner un if para corregirlo, no es mucho problema, pero ¿debería ser necesario?
Pero esto es lo que viene a decir Richard R Richard; implementar un valor por defecto de \( 0/0 \) es simplemente que ese "if" para darle un valor excepcional a ese cociente vendría implementado, oculto, por defecto en los propios lenguajes de programación. Es decir en sus algoritmos internos para calcular \( x/y \), tendría como excepción que si \( x=y=0 \) tiene que devolver el valor \( 0 \).
Saludos.