Todo un clásico en las redes sociales es que alguien comparta la operación 5+4/3-1*2 y que se monte un gallinero tremendo en los comentarios con distintas soluciones. Esto se debe a que mucha gente no tiene claro cómo va la jerarquía de las operaciones y el orden de evaluación de las mismas.
Si hablamos de operaciones básicas, y de la mayoría de lenguajes de programación (Javascript, PHP, Python, Ruby, C,Visual Basic, Java…), nos regiremos por el orden de operaciones conocido por el acrónimo inglés PEMDAS, que en castellano podríamos traducir como PAPOMUDAS (PAréntesis, POtencias, MUltiplicación, División, Adición, Sustracción). En base a esto el orden de operaciones en lenguajes de programación como Python, PHP, Ruby o Javascript sería:
- Paréntesis
- Potencias y radicales
- Multiplicación, división, división entera y módulo.
- Suma y resta.
En este enlace puedes comprobar los resultados de distintas operaciones realizados en distintos lenguajes de programación. Puedes copiar los siguientes ejemplos para comprobar que el resultado es el mismo.
Aquí el código en Javascript:
var resultado = 5+4/3-1*2; console.log(resultado);
Aquí el código en Python:
resultado = 5+4/3-1*2 print(resultado)
Aquí en Java:
public class Test { public static void main(String[] args){ System.out.println(5.0+4.0/3.0-1.0*2.0); } }
Y aquí en C:
void main(void) { double resultado; resultado = 5.0+4.0/3.0-1.0*2.0; printf("%f",resultado); }
Como puedes comprobar, en todos el resultado es 4.333333 ya que todos usan el mismo orden para las operaciones.