Condicionales (Operadores lógicos) - Capítulo 6
En muchos casos no será suficiente con hacer una sola comparación condicional, sino que serán necesarias varias. Según el contexto del problema a resolver una solución podría ser anidar los condicionales (tema que será visto en un próximo capítulo) o usar los operadores lógicos para hacer más de una comparación o evaluación en un solo condicional. Los operadores lógicos son:
Y, O, y NO. (En inglés serían: AND, OR, NOT). Es importante desde ya memorizarlos en inglés ya que es así como se usan en la gran mayoría de lenguajes de programación.
Operador NO:
Se usa para comprobar la respuesta contraria a una comparación. Por ejemplo: evaluar si un número es diferente a otro, lo podríamos resolver de dos maneras:
Si Num1 <> Num2 Entonces...
O
Si NO Num 1 = Num2 Entonces...
Ambos condicionales hacen exactamente lo mismo. El uso más común de este operador es verificar si una variable tiene o no un valor asignado, por ejemplo queremos saber si Variable1 ya ha obtenido algún valor, podríamos hacerlo así:
Si NO Variable1 = Nulo Entonces...
Para que se entienda mejor, léase el anterior ejemplo así:
Si Variable1 es DIFERENTE de Nulo Entonces...
Operador Y:
Permite evaluar varias condiciones y SI TODAS se cumplen se ejecutan las instrucciones. Ejemplo: se requiere un algoritmo que reciba la edad de una persona y su país de nacimiento, luego determinar si es mayor de edad y si pertenece a Colombia.
Solución:
Inicio
Edad Entero
Pais Texto
Ingrese Edad
Ingrese Pais
Si Edad >= 18 Y Pais = "Colombia" Entonces
Imprima "Si es mayor de edad y ha nacido en Colombia"
Fin Si
Fin
En este ejemplo podemos apreciar que la instrucción que imprime el mensaje solo se ejecutaría siempre y cuando se cumplan las dos condiciones, si se llega a cumplir solo una (por ejemplo edad=20, pais="Perú"). Aquí se estaría cumpliendo la condición de la edad, pero no la del país. Como estamos usando el operador Y la condición completa no se cumple y no se ejecutarían las instrucciones.
Operador O:
Permite evaluar varias condiciones y SI POR LO MENOS UNA se cumple, ejecutar las acciones. Ejemplo: se requiere un algoritmo que evalúe si el total de una compra es mayor a $100.000 o si tiene el código de cupón de descuento "DESC10" para que reciba una rebaja del 10% en ambos casos.
Inicio
Compra Real
Cupon Entero
Descuento Real
Total Real
Ingrese Compra
Ingrese Cupon
Si Compra >= 100000 O Cupon = "DESC10" Entonces
Descuento = Compra * 0.1
Total = Compra - Descuento
Fin Si
Fin
En este ejemplo podemos observar que tanto si la compra es mayor a $100.000 o si se ingresa el cupón de descuento, se realizarán los respectivos cálculos para obtener el total a pagar con su descuento. Si la compra no es mayor a $100.000 pero se ingresa el código del cupón de descuento, igual se llevaría a cabo el descuento, ya que al usar el operador O con que una sola de las condiciones se cumpla se deben ejecutar las instrucciones. Pero si la compra fuese menor a $100.000 y no se ingresa un cupón, no se ejecutarán las acciones ya que ninguna se cumple, en este caso, tendríamos que programar instrucciones después de un Sino.
Deja un comentario: