lunes, 29 de junio de 2020



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: