Operadores y Precedencia PDF
Document Details
Uploaded by Nil
Politécnico Grancolombiano
Javier Fernando Niño Velásquez
Tags
Summary
This document provides an overview of operators and their precedence in programming. It covers arithmetic, relational, and logical operators, along with examples and explanations. The document is geared towards undergraduate students.
Full Transcript
Unidad 2 / Escenario 3 Lectura Fundamental Operadores y precedencia Contenido 1 Resumen de los tipos de operadores 2 Operadores aritméticos 3 Operadores relacionales 4 Proposiciones y predicados 5 Operadores lógicos...
Unidad 2 / Escenario 3 Lectura Fundamental Operadores y precedencia Contenido 1 Resumen de los tipos de operadores 2 Operadores aritméticos 3 Operadores relacionales 4 Proposiciones y predicados 5 Operadores lógicos 6 Precedencia de operadores 7 Evaluación de expresiones 8 Construcción de expresiones Palabras clave: Entidad, atributo, dato, expresión, operador. 1. Resumen de los tipos de operadores El escenario anterior finalizó con la introducción de dos distintos tipos de clasificación de los operadores: de acuerdo con la cantidad de operandos que afectan y de acuerdo con el tipo de dato que reciben y retornan. La ilustración 1 sirve para resumir las distintas clases. Unarios Según la cantidad de operando que afecta Binarios Ternarios Operadores Aritméticos Según la clase de operación que indican Relacionales Lógicos Figura 1. Clasificación de los operadores. Fuente: Elaboración propia Para presentar en este escenario los operadores se seguirá la clasificación que tiene en cuenta los tipos de dato de entrada y retorno. La diferenciación entre operadores unarios y binarios se hará de forma paralela. 2. Operadores aritméticos Los operadores aritméticos son los que toman datos de tipo numérico y retornan datos de tipo numérico. POLITÉCNICO GRANCOLOMBIANO 2 2.1. Positivo Es un operador unario que se nota con el signo +. No debe confundirse con la suma. El signo positivo denota que la magnitud del número se encuentra a la derecha del cero en la recta numérica. No es usual que se use este símbolo, cualquier número que no tenga signo es identificado como positivo. Ejemplos: +9,8.63,+0.000015,425 2.2. Negativo Es un operador unario que se nota con el signo -. No debe confundirse con la resta. El signo negativo denota que la magnitud del número se encuentra a la izquierda del cero en la recta numérica. Ejemplos: -9,-8.63,-0.000015,-425 2.3. Producto Es un operador binario que acostumbra notarse por medio de distintos símbolos, en este módulo se notará por medio de un asterisco, *. El producto es el resultado de la multiplicación, es decir, el resultado de sumar un mismo número tantas veces como lo indique un segundo número. Ejemplo: el resultado de 6*8 es 48 2.4. División entera Es un operador binario que acostumbra notarse por medio de distintos símbolos, en este módulo se notará por medio de tres letras, DIV. Cuando dos números enteros sean mediados por el símbolo DIV, la operación retornará el cociente de la división entera entre el primer número que será el dividendo y el segundo número que será el divisor. Una división es entera si todos los elementos de la misma son números enteros. Ejemplo: el resultado de 50 DIV 3 es 16 POLITÉCNICO GRANCOLOMBIANO 3 2.5. Módulo o residuo Es un operador binario que se notará por medio de tres letras, MOD. Cuando dos números enteros sean mediados por el símbolo MOD, la operación retornará el residuo de la división entera entre el primer número que será el dividendo y el segundo número que será el divisor. Ejemplo: el resultado de 50 MOD 3 es 2 2.6. División real Es un operador binario que se notará por medio de una barra diagonal, /. Cuando dos números, que pueden ser o no enteros, sean mediados por el símbolo /, la operación retornará el cociente de la división real entre el primer número que será el dividendo y el segundo número que será el divisor. Una división es real si alguno de sus elementos es un número real. Ejemplo: el resultado de 50 / 3 es 16.66666 Nótese que en el ejemplo anterior la parte decimal podría extenderse de manera infinita. En la práctica no se calcula de esa forma y es válido redondear de la manera más conveniente a cada necesidad. 2.7. Suma Es un operador binario que se notará con un símbolo +. La suma consiste en añadir dos números que se llaman sumandos. Ejemplo: el resultado de 218+314 es 532 2.8. Resta Es un operador binario que se notará con un símbolo -. La resta consiste en obtener la diferencia entre dos números quitándole al primer número, conocido como minuendo, la cantidad indicada por el segundo número, también llamado sustraendo. Ejemplo: el resultado de 848-236 es 612 POLITÉCNICO GRANCOLOMBIANO 4 3. Operadores relacionales Los operadores relacionales son los que toman datos de tipo numérico y retornan datos de tipo lógico. 3.1. Mayor que Es un operador binario que se notará con el símbolo >. Consiste en comparar dos datos numéricos: si el primer dato tiene un valor más alto que el segundo, la operación arrojará un valor de verdadero; en caso contrario, el resultado será falso. Ejemplos: El resultado de 88>26 es verdadero El resultado de 88>134 es falso El resultado de 88>88 es falso 3.2. Menor que Es un operador binario que se notará con el símbolo 15 MOD 7 (Se realiza la división entera porque tiene mayor precedencia que los demás excepto MOD, pero está más a la izquierda que éste). 4+4–3>1 (Se realiza el módulo de la división entera porque tiene mayor precedencia que los demás). 8–3>1 (Se realiza la suma porque tiene mayor precedencia que los demás excepto la resta, pero está más a la izquierda que éste). 5>1 (Se realiza la resta porque tiene mayor precedencia que el mayor que). Verdadero (Solamente queda hacer el mayor que). POLITÉCNICO GRANCOLOMBIANO 11 ¬(13 * -(10 + 3) > 1300 / 8) ˅ Falso ˄ ¬Falso (Expresión matemática inicial, hay paréntesis anidados) ¬(13 * -13 = 1300 / 8) ˅ Falso ˄ ¬Falso (Se resuelve primero el paréntesis más interno, es decir, la suma que está contenida dentro de él) ¬(13 * -13 = 1300 / 8) ˅ Falso ˄ ¬Falso (Se resuelve el otro paréntesis, dentro de él hay varios operadores, por eso se busca el de mayor precedencia que es el operador aritmético de negativo) ¬(-169 = 1300 / 8) ˅ Falso ˄ ¬Falso (Todavía se está resolviendo el paréntesis, la multiplicación y la división real tiene la misma jerarquía, pero la multiplicación está más a la izquierda) ¬(-169 = 162.5) ˅ Falso ˄ ¬Falso (Dentro del paréntesis quedan el igual que y la división real, tiene mayor precedencia esta última) ¬Falso ˅ Falso ˄ ¬Falso (Para resolver el paréntesis aún falta operar el igual que) Verdadero ˅ Falso ˄ ¬Falso (Las dos negaciones lógicas tienen la misma jerarquía, se realizará primero la que está más a la izquierda) Verdadero ˅ Falso ˄ Verdadero (La negación lógica que queda tiene mayor precedencia que la conjunción y la disyunción, por eso se ejecuta primero) Verdadero ˅ Falso (La conjunción se realiza primero porque tiene mayor jerarquía que la disyunción) Verdadero (Solamente resta hacer la disyunción para obtener el resultado final de evaluar la expresión matemática inicial) POLITÉCNICO GRANCOLOMBIANO 12 8. Construcción de expresiones La evaluación de expresiones, como se vio en la sección anterior, es un proceso muy mecánico que solamente exige seguir las reglas de precedencia en un orden estricto. Por supuesto, es una habilidad muy útil; sin embargo, no demanda mayores habilidades de ingeniería. Por otro lado, la construcción de expresiones matemáticas sí lo hace: exige un alto nivel de imaginación y alta capacidad de abstracción y modelamiento. ¿En qué consiste construir una expresión matemática? Es tomar una sentencia o expresión que esté escrita en un lenguaje natural, en nuestro caso el idioma castellano, y convertirla en una expresión escrita en lenguaje matemático. Es decir, traducir una expresión de palabras a operandos y operadores. En este módulo, se acudirá únicamente a los operadores aritméticos, relacionales y lógicos que fueron presentados al comienzo de la esta sección; sin embargo, cabe aclarar que existen muchos más. Por lo tanto, no hay mucha más teoría que mostrar y lo más práctico es ilustrar la construcción de expresiones por medio de un ejemplo. 8.1. Ejemplo 1 Enunciado. Construya una expresión matemática que sea equivalente a la sentencia “X es un múltiplo de tres o de cuatro, sin embargo, X no es un número par”. Solución. (X MOD 3 = 0 ˅ X MOD 4 = 0) ˄ ¬ (x MOD 2 = 0) Explicación. Como ya se dijo, lo que se intenta es traducir una sentencia a lenguaje matemático. En este caso, se comenzará por dividir la expresión y armarla poco a poco. Primero, se necesita reflexionar acerca de qué significa que un número sea múltiplo de tres, múltiplo cuatro o que no sea par. Un número es múltiplo de otro cuando al hacer la división del segundo entre el primero se obtiene una división exacta, es decir, una en que el residuo sea cero. Por lo tanto, si al dividir un número entre tres el residuo obtenido es cero, ese número es múltiplo de tres, lo mismo sucede para el cuatro o para cualquier otro número. Ahora, nótese que un número par es aquel que divisible entre dos. En el siguiente paso se escribirán tres expresiones distintas para decir que X es un múltiplo de tres, que X es un múltiplo de cuatro y que X es un múltiplo de dos (es decir, que los residuos respecto a estos números son iguales a cero). X MOD 3 = 0 X MOD 4=0 X MOD 2 = 0 POLITÉCNICO GRANCOLOMBIANO 13 Ahora, no queremos decir que X es par; sino lo contrario, que no es par. Para ello, se niega la última expresión. Es importante que toda la expresión se encierre entre paréntesis X MOD 3 = 0 X MOD 4=0 ¬(X MOD 2 = 0) Se tienen tres expresiones distintas, pero, lo que se quiere obtener es una sola. La solución es unirlas por medio de operadores. ¿Qué tipo de operadores sirven en este caso? Los que se pueden utilizar son los operadores lógicos binario porque los resultados de estas tres expresiones son todos de tipo lógico y como ya se ha dicho, los lógicos son los únicos operadores que podrían operar este tipo de dato. Entonces, tenemos dos opciones: conjunción y disyunción. Para unir las dos primeras expresiones se utilizará la disyunción pues como se puede observar con cierta facilidad, cuando se dice “X es un múltiplo de 3 o de 4”, la o es muy similar a la o lógica o disyunción. Se tiene entonces ahora dos expresiones: dos expresiones se conectaron por medio de una disyunción y queda una suelta. X MOD 3 = 0 ˅ X MOD 4=0 ¬(X MOD 2 = 0) En este punto, hay que notar que la sentencia “X es un múltiplo de tres o de cuatro, sin embargo, X no es un número par” está dividida en dos partes, una que va antes del conector sin embargo y otra que está luego de este. Este agrupamiento debería representarse por medio de paréntesis antes de conectar las dos expresiones. (X MOD 3 = 0 ˅ X MOD 4=0) ¬(X MOD 2 = 0) Finalmente, se necesita conectar las dos expresiones de forma que quede una sola. Se necesitará un operador lógico binario, de nuevo hay dos opciones: conjunción y disyunción. Hay que buscar el conector en la frase en español y reemplazarlo por el operador. En este caso, el conector es sin embargo y se reemplazaría por una conjunción porque es la operación que mejor completa el sentido de la frase. (X MOD 3 = 0 ˅ X MOD 4=0) ˄ ¬(X MOD 2 = 0) De esta forma se ha completado el proceso para construir la expresión matemática que representa la sentencia dada. POLITÉCNICO GRANCOLOMBIANO 14 Referencias Kolman, B., Busby, R., & Ross, S. (1997). Estructuras de Matemáticas Discretas para la Computación. México: Prentice-Hall Hispanoamericana S.A. Rosen, K. (2011). Discrete Matemathics and Its Applications. New York: Mc Graw-Hill. POLITÉCNICO GRANCOLOMBIANO 15 INFORMACIÓN TÉCNICA Módulo: Pensamiento Algorítmico Unidad 2: Expresiones y Problemas Algoritmicos Escenario 3: Evaluación y construcción de expresiones Autor: Javier Fernando Niño Velásquez Asesor Pedagógico: Jeiner Leandro Velandia Diseñador Gráfico: Felipe Puentes Asistente: Leidy Alejandra Morales Eslava Este material pertenece al Politécnico Grancolombiano. Por ende, es de uso exclusivo de las Instituciones adscritas a la Red Ilumno. Prohibida su reproducción total o parcial. POLITÉCNICO GRANCOLOMBIANO POLITÉCNICO GRANCOLOMBIANO 16