Computación
¿Cuál es el resultado de esta operación: 6/2(2+1)?
En cómputo, cuando aprendemos un lenguaje, nos indican la precedencia de los operadores para que así, si ponemos la expresión 3a / 5b, sin poner paréntesis, el lenguaje de programación particular que estemos estudiando, hará las operaciones de acuerdo a cómo se ha implementado la precedencia.CIUDAD DE MÉXICO (apro).-Los retos aritméticos en Internet, muchas veces a través de las redes sociales, suelen llevar trampa, para que el lector se equivoque y cuando le dicen la razón, entienda el truco. He aquí el más polémico de los que se han publicado. ¿Cuál es el resultado de la operación 6/2(2+1). Y el problema es meramente la dificultad sobre qué operación hay que hacer primero. Esto es lo que se llama “precedencia de operadores” lo cual es básicamente algún tipo de regla para definir qué operación se hace primero, ¿la suma? ¿la división? ¿la multiplicación?. Curiosamente en esta discusión, que se hace cíclica cada cierto tiempo en Internet, hay quien indica que hace más de 100 años se pusieron estas reglas y citan un artículo: Discussions: Relating to the Order of Operations in Algebra, de N. J. Lennes, The American Mathematical Monthly, Vol. 24, No. 2 (Feb., 1917), pp. 93-95 (3 páginas). Sin embargo, desde el título del mismo podemos ver que es una discusión sobre el orden de las operaciones en álgebra y uno sobre una definición de reglas.
La realidad es que estas reglas de precedencia no se necesitan en matemáticas, porque para eso están los paréntesis. Por ejemplo, si pongo: ¿cuánto es 3a / 5b? Si a=5 y b=2, ¿haremos primero 3(5), después 5(2) y tendremos 15/10? ¿O haremos 3(5)/5(2) de acuerdo a esa convención de hace 100 años? Si es así, 3 * (5/5) * 2? Asumimos que si tenemos una expresión como 3a, haremos de inmediato la multiplicación cuando tengamos el valor de la variable “a”, ¿verdad? Pero si escribimos 3 * 5 / 5 * 2 ya no parece tan claro, ¿o me equivoco? Sin embargo, si ponemos (3 * 5) / (5 * 2), sabremos en qué orden tenemos que hacer las operaciones. Vamos, a presencia de los paréntesis cambia la precedencia de las operaciones.
En cómputo, cuando aprendemos un lenguaje, nos indican la precedencia de los operadores para que así, si ponemos la expresión 3a / 5b, sin poner paréntesis, el lenguaje de programación particular que estemos estudiando, hará las operaciones de acuerdo a cómo se ha implementado la precedencia, es decir, qué operador se ejecuta primero, sobre todo cuando el programador no ha cambiado la precedencia usando paréntesis. Pero ojo, la precedencia que defina un lenguaje en particular es arbitraria. No tiene que seguir necesariamente ninguna regla matemática particular.
Si usamos una calculadora Casio, hallaremos un resultado: uno (1) y si es una app de calculadora, el resultado es nueve (9). ¿Por qué los resultados son distintos? Simple: porque cada sistema ha definido la precedencia de operadores de diferente manera. Por ejemplo, la calculadora Casio hace primero la expresión entre paréntesis (2+1) y entonces multiplica por 2 ese valor, lo que le da 6. dividido por 6 da 1. Mientras que la app divide 6 / 2 primero, que le da 3 y entonces hace la operación entre paréntesis y multiplica el resultado anterior, por lo que le da 9. ¿Quién está mal? Nadie. Todo depende de qué precedencia de operadores se use.
Pero entonces, ¿Cómo hacer para no tener dudas en el resultado de la máquina? Fácil: Por ejemplo, si queremos que el resultado dé 9 y no 1, póngase la expresión 6 / 2 (2 + 1) como (6 / 2) * (2 + 1) y listo. Véase cómo, al poner los paréntesis, le quitamos todo este asunto de la precedencia porque somos nosotros, los que hacemos la operación, que le decimos en qué orden ejecutarla. Desde luego, si no ponemos los paréntesis de forma adecuada, estamos sujetos a las reglas particulares que usan la calculadora, las apps o los programas de computación.
(Nota: el símbolo de multiplicación lo ponemos como “*”)