Jerarquía
de los operadores aritméticos
Prioridad
|
Operadores
|
Asociatividad
|
1
|
(
)
|
Empezando
por los paréntesis más internos
|
2
|
++,
--, +(positivo), - (negativo)
|
De
derecha a izquierda, ++ y -- dependiendo de la posición
|
3
|
*,/,%
|
De
izquierda a derecha
|
4
|
+,
-
|
De
izquierda a derecha
|
5
|
=,+=,-=,*=,
/=,%=
|
De
derecha a izquierda
|
La
jerarquía en los operadores nos ayudan a poder definir la manera
adecuada en la que una instrucción de cálculo debe ser escrita en
el lenguaje de programación, por ejemplo si deseamos llevar a cabo
la fórmula
La
instrucción de asignación que quisiéramos definir quedaría como:
e
= ((a*b*c) / d) / f
Ejemplo:
import
java.awt.*;
import
java.applet.*;
//
<applet width="200" height="200"
code="pru"></applet>
public
class pru extends Applet {
public
void paint(Graphics g) {
double
e,a,b,c,d,f;
a=20;
b=12;
c=2;
d=5;
f=10;
e
= ((a*b*c) / d) / f;
g.drawString("((a*b*c)
/ d) / f = "+e, 100, 20);
}
}
Pero
esto no significa que es la única manera de escribirla, ya que si
aplicamos la jerarquía de los operadores la siguiente instrucción
también sería valida:
e
= a * b * c / d / f
La
operación anterior sería ejecutada de la siguiente manera:
Primero,
se multiplicará a
por b.
Segundo,
el resultado ya obtenido de a*b
se multiplicará por c.
Tercero,
el resultado ya obtenido de a*b*c
se dividirá entre d.
Finalmente,
el resultado ya obtenido de a*b*c/d
se dividirá entre f
para
asignarse a e.
¿Cuál
sería la manera de codificar la siguiente fórmula?
La
respuesta es:
e
= 4/((a+b)/(c/d)) + v/w/p + 5*m*n*q
Aplicando
las reglas de jerarquía de los operadores aritméticos queda de la
siguiente manera:
Primero,
se sumará a
más b.
Segundo,
se dividirá c
entre d.
Tercero,
el resultado ya obtenido de a+b
se dividirá entre el resultado ya obtenido de c/d.
Cuarto,
se dividirá 4 entre el resultado ya obtenido de ((a+b)/(c/d))
Quinto,
se dividirá v
entre w.
Sexto,
se dividirá el resultado ya obtenido de v/w
entre p.
Séptimo,
se multiplicará 5 por m.
Octavo,
se multiplicará el resultado ya obtenido de 5*m
por n.
Noveno,
se multiplicará el resultado ya obtenido de 5*m*n
por q.
Décimo,
se sumará el resultado ya obtenido de 4/((a+b)/(c/d))
más
el resultado ya obtenido de v/w/p.
Finalmente,
se sumará el resultado ya obtenido de 4/((a+b)/(c/d))
+ v/w/p
más el resultado ya obtenido de 5*m*n*q
y
se asignará a e.
No hay comentarios:
Publicar un comentario