Additional Blogs by Members
cancel
Showing results for 
Search instead for 
Did you mean: 
Former Member

En ocasiones los programadores que inician se ven con problemas a la hora de realizar un simple calculo por ignorar la prioridad mediante la cual los compiladores realizan las operaciones matemáticas planteadas en una expresión. Cuando tenemos una expresión matemática en papel tenemos expresiones fraccionales, multiplicaciones entre números y letras en las que omitimos el signo de la multiplicación (4t por ejemplo se entiende que es 4 por t) y indices que representan potencias. Todo esto al programar debe ser escrito en una sola linea de programación así que existen normas para que una expresión represente la formula que en efecto queremos calcular.

La mejor explicación del contexto  nos la da la gramática de la siguiente expresión: La mitad de dos mas dos; no es igual a la mitad de dos, mas dos; en el primer caso es da 2 y en el segundo caso da tres; 2 + 2 = 4, 4 / 2 = 2 la primera 2 / 2 = 1, 1 + 2 = 3 la segunda. Para escribir cada expresión completa seria (2 + 2) / 2 y 2 + 2 / 2 como podemos ver sin los paréntesis es la misma expresión. Entonces los paréntesis hacen la diferencia ya que estos obligan a que lo que esta dentro de ellos se calcule antes. Resulta que entre la suma y la división planteadas sin los paréntesis siempre se hará primero la división, no importa que esta a la izquierda o a la derecha. ¿Por que? porque tiene mas prioridad, entonces nos damos cuenta que necesitamos saber estas prioridades de unos operandos sobre otros. La regla mas simple es así:

OperadorDescripciónPrioridad
() ParéntesisALTA
^ Potencia
*, / Multiplicación y División
+, -Suma y RestaBAJA

Que la multiplicación y la división (o la suma y la resta) tengan la misma prioridad significa que realizara primero la que encuentre primero de izquierda a derecha. Esta regla tiene su razón de ser en los polinomios, supuestamente la mayoría de las formulas deben ser parecidas a un polinomio y de allí que un polinomio simple no requiere paréntesis, veamos:

A*x^5 + B*x^4 + C*x^3 - D*x^2 - E*x + F

primero se realizan todas las potencias

luego todas las multiplicaciones

y por ultimo las sumas y las restas

tomando la expresión con la que iniciamos el promedio de dos números, la suma de dos números entre dos, si tenemos A + B / 2 . Entre la suma y la división se hará primero la división y no es lo que queremos entonces para hacer que la suma se haga primero debemos colocar la suma entre paréntesis (A + B) quedando (A + B) / 2

Hago este Post de conocimiento general ya que me encuentro iniciando en la programación ABAP espero a medida que me forme hacer aportes mas significativos