lunes, 7 de marzo de 2016

Capitulo 6: Small Basic. Variables en Small Basic. Parte 2

Diario de un programador.- Día 12

PRIORIDAD DE LOS OPERADORES

Un asunto que no había mencionado hasta el momento, es sobre la prioridad de los operadores matemáticos. Observar el siguiente ejemplo:

promedio = (5 + 6 + 7) / 3

En la variable "promedio" encerré entre paréntesis toda la suma y fuera de ella, dejé la división. Esto es así por el asunto de la prioridad de los operadores, al usar paréntesis, estoy diciendo que primero se debe evaluar toda la operación que se encuentra dentro de los paréntesis y luego el resultado, dividirlo por 3. De no haber utilizado el paréntesis, el programa hubiese evaluado primero la división y posteriormente hubiese hecho la suma, porque la división tiene mayor prioridad que la suma.
Primero vienen los paréntesis, posteriormente la potencia, la cual tiene mayor prioridad que todas las demás operaciones, luego viene la multiplicación y la división que se encuentran en el mismo nivel y por último, un nivel más abajo se encuentra la suma y resta.

Esto, sería algo así:

1.- Paréntesis
2.- Potencia
3.- Multiplicación y división
4.- Suma y resta

Cuando el programa evalúa operaciones que están en el mismo nivel, ya sea por ejemplo una suma y una resta, entonces empieza a realizar las operaciones desde izquierda a derecha.
 Mejor un par de ejemplos:

valor = 10 + 10 – 2

Como son operaciones que se encuentran en un mismo nivel de prioridad, son evaluadas de izquierda a derecha, dando un resultado de 18

valor = 10 + 10 / 2

Aquí la cosa cambia ya que hay operadores de distinta prioridad. En este caso primero se evalúa la división y posteriormente la suma, dando un resultado de 15. En casos como este, algunos principiantes (como yo) se confunden al principio, creyendo que con esa operación, el resultado sería 10, pensando que se sumaría el 10+10 y luego el resultado se divide por 2, pero esto no es así debido a la prioridad de los operadores.
¿Entonces como hago para que el resultado sea 10?. La respuesta es usando paréntesis. Para que primero se evalúe la suma y luego la división, el paréntesis debe ser ubicado de la siguiente forma:

valor = (10 + 10) / 2

De esta forma, se obtiene un resultado de 10

Probemos esto en Small Basic, para ver que nos dice.
Escribiré el siguiente programa:

promedio1 = (5 + 6 + 7) / 3 ' Se resuelve el parentesis, luego la division
promedio2 = 5 + 6 + 7 / 3 ' Se resuelve la division, luego la suma

operacion1 = 10 + 10 - 2 ' Se resuelve todo de izquierda a derecha
operacion2 = 10 + 10 / 2 ' Se resuelve la division, luego la suma
operacion3 = (10 + 10) / 2 ' Se resuelve el parentesis, luego la division

TextWindow.WriteLine("Los resultados son:")
TextWindow.WriteLine("")

TextWindow.WriteLine("1: "+ promedio1)
TextWindow.WriteLine("2: "+ promedio2)
TextWindow.WriteLine("3: "+ operacion1)
TextWindow.WriteLine("4: "+ operacion2)
TextWindow.WriteLine("5: "+ operacion3)

 Esto es todo por ahora, en el proximo capítulo, se harán algunos ejercicios para comprobar lo aprendido.



Gustavo J. Cerda Nilo
Julio 2015, última modificación Marzo 2016

No hay comentarios:

Publicar un comentario

C++ El apuntador This

El apuntador This En C++, cada objeto tiene acceso a su propia dirección a través de un puntero o apuntador denominado This. Lo...