¿Que un operador tenga un orden de precedencia más alto significa que se ejecuta primero o que separa términos? Y para interpretar de mejor manera mis apuntes ¿Cuál operador tiene mayor orden, el NOT o el =?
En respuesta a Venicio Roldán Slavich
Re: Precedencia de operadores
Hola Venicio, como andas?
Muevo la consulta al foro de esta semana, porque es donde se dio este tema en teórico.
Exacto, como decís que un operador tenga un orden de precedencia más alto, significa que se ejecuta primero. En el caso que planteas, el operador "NOT" tiene mayor precedencia que el operador "=".
En la diapositiva 24 de la guía teórica de esta semana podés encontrar la precedencia de todos los operadores.
Saludos,
Felipe
Muevo la consulta al foro de esta semana, porque es donde se dio este tema en teórico.
Exacto, como decís que un operador tenga un orden de precedencia más alto, significa que se ejecuta primero. En el caso que planteas, el operador "NOT" tiene mayor precedencia que el operador "=".
En la diapositiva 24 de la guía teórica de esta semana podés encontrar la precedencia de todos los operadores.
Saludos,
Felipe
hola venicio,
el uso de esos términos, como "mayor precedencia" o "menor precedencia" a mí me cuesta comprender. para entender de qué me hablan, yo recurro a alguna prueba pequeña. esta caso de negación e igualdad resulta un poco confusa porque tenemos la siguiente situación:
(NOT a) = b a=true a=false
b=true false true
b=false true false
NOT (a = b) a=true a=false
b=true false true
b=false true false
es decir, las expresiones (NOT a) = b y NOT (a = b) siempre coinciden. lo mismo sucede
si consideras las expresiones (-m)*n y -(m * n).
pero puedes entender la relación entre los operadores unarios y binarios probando con
la suma y el menos, porque (-m)+n y -(m+n) son, por lo general, diferentes.
fijate la salida del programa
PROGRAM p;
begin
writeln ((-5)+1, -(5+1), -5+1)
end.
como el orden en la precedencia entre el - unario y la suma coincide con
el orden en la precedencia entre el NOT unario y la igualdad, la situación que
se da en el caso que te muestro es el mismo que se da entre los operadores que te preocupaban.
saludos
luis
el uso de esos términos, como "mayor precedencia" o "menor precedencia" a mí me cuesta comprender. para entender de qué me hablan, yo recurro a alguna prueba pequeña. esta caso de negación e igualdad resulta un poco confusa porque tenemos la siguiente situación:
(NOT a) = b a=true a=false
b=true false true
b=false true false
NOT (a = b) a=true a=false
b=true false true
b=false true false
es decir, las expresiones (NOT a) = b y NOT (a = b) siempre coinciden. lo mismo sucede
si consideras las expresiones (-m)*n y -(m * n).
pero puedes entender la relación entre los operadores unarios y binarios probando con
la suma y el menos, porque (-m)+n y -(m+n) son, por lo general, diferentes.
fijate la salida del programa
PROGRAM p;
begin
writeln ((-5)+1, -(5+1), -5+1)
end.
como el orden en la precedencia entre el - unario y la suma coincide con
el orden en la precedencia entre el NOT unario y la igualdad, la situación que
se da en el caso que te muestro es el mismo que se da entre los operadores que te preocupaban.
saludos
luis