Contenido del capítulo

En este capítulo, te enseño cómo funciona el operador lógico AND.

Duración estimada de todo el contenido:
Duración del vídeo:
Contiene 4 ejercicios de programación para resolver. Contiene 1 vídeo.
Tabla de contenidos
Logo

    ¿Qué son los operadores lógicos en programación?

    El operador lógico AND
    El operador lógico AND

    Los operadores lógicos son elementos utilizados en programación para evaluar y combinar expresiones lógicas, como la que utilizamos con el condicional Si-Entonces (if) anteriormente.
    Hay tres operadores lógicos principales: AND, OR y NOT.

    Espacio publicitario

    Gracias a estos operadores lógicos, podrás combinar varias expresiones lógicas a la vez. Por ejemplo, edad >= 1 and edad <= 17.

    Estos operadores lógicos se suelen utilizar en las estructuras de control de flujo como los condicionales, para formar expresiones más complejas como la del ejemplo que verás a continuación.

    Ejemplo con el operador Y (AND) de PSeInt

    El operador Y de PSeInt es el equivalente al operador AND que se suele utilizar en programación.

    La traducción de and al español es y (conjunción).

    Para que el conjunto de una expresión con YVERDADERO, deben ser ambas verdaderas. De lo contrario, PSeInt producirá un FALSO. Veamos un ejemplo de ello:

    Algoritmo colores
                          
        // Variables del algoritmo
        Definir color1 Como Cadena
        Definir color2 Como Cadena
    
        color1 <- "rojo"
        color2 <- "verde"
    
        // Evaluamos si la mezcla es amarilla o no
        Si color1 == "rojo" Y color2 == "verde" Entonces
            Escribir "El color formado por la mezcla es amarillo."
        SiNo
            Escribir "El color formado por la mezcla no es amarillo."
        Fin Si
    
    FinAlgoritmo

    En este ejemplo, se evalúa con una expresión a la izquierda que si color1 es igual a "rojo" y si color2 es igual a "verde".
    Para que se cumpla la condición conjunta, se tiene que cumplir tanto lo del primer color, como lo del segundo.

    Anatomía de las comparaciones con operadores lógicos

    Este tipo de expresiones comparativas con los operadores lógicos, añaden al juego las siguientes partes:

    expresión_izquierda | operador_lógico | expresión_derecha

    Cada una de las expresiones, tanto izquierda como derecha son expresiones simples como las vistas hasta los capítulos anteriores.

    Con el operador lógico entre ellas, podemos relacionarlas, pasando a crear una expresión compleja, con dos expresiones simples.

    Espacio publicitario

    Los intérpretes o compiladores resuelves estas expresiones de la siguiente forma:

    Primero se resuelve la primera expresión, la de la izquierda. Esta podrá dar VERDADERO o FALSO. Después, se evalúa la segunda expresión, la de la derecha.
    Finalmente, se evalúa un valor final que sale de ambos resultados. La forma de resolver el resultado final dependerá del operador lógico usado.

    El operador Y de este capítulo solo evaluará VERDADERO si ambas expresiones simples son verdaderas.

    Veamos la resolución paso a paso de la comparación utilizada en el condicional Si-Entonces del código anterior (línea 11):

    Los valores utilizados son los siguientes:

    color1 <- "rojo"
    color2 <- "verde"

    La expresión es esta:

    color1 == "rojo" Y color2 == "verde"
    1. Se evalúa la expresión de la izquierda, si color1 tiene el valor "rojo"; evalúa VERDADERO.
    2. Se evalúa la expresión de la derecha, si color2 tiene el valor "verde"; evalúa VERDADERO.
    3. Finalmente, se evalúan los dos valores obtenidos con el operador Y. Ambos valores como VERDADERO se resuelven como VERDADERO.

    En la siguiente tabla puedes ver las posibilidades con el operador Y. Esta tabla te sirve exactamente igual para el operador equivalente llamada AND que tienen la mayoría de los lenguajes de programación.

    Tabla de posibles resultados con el operador AND (Y)

    Expresión izquierda Operador Expresión derecha Resultado final
    VERDADERO Y VERDADERO VERDADERO
    FALSO Y VERDADERO FALSO
    VERDADERO Y FALSO FALSO
    FALSO Y FALSO FALSO

    Encadenando más expresiones

    Las expresiones comparativas no tienen límite, puedes encadenar más expresiones utilizando más operadores lógicos. A continuación tienes un ejemplo:

    color1 == "rojo" Y color2 == "verde" Y color3 == "azul" Y color4 == "amarillo"

    La resolución de esta expresión compleja es la misma, solo ves resolviendo las expresiones de izquierda a derecha. Supongamos que los dos primeros colores (color1 y color2) son verdaderos, y que los otros dos falsos.

    Siguiendo paso a paso, tenemos que comparar cada una de las variables con el valor que se espera que tengan, evaluando cada comparación de manera individual y luego combinando los resultados usando el operador and (que en este caso es el operador Y).

    Estos son los valores que tendrá cada variable en esta comparación:

    color1 <- "rojo"
    color2 <- "verde"
    color3 <- "morado"
    color4 <- "marrón"

    Según el fragmento con la expresión de un poco más arriba, los dos primeros colores coinciden con los valores de las variables, pero los dos últimos, no. Entonces ya sabes lo que va a evaluar cada uno en las expresiones resueltas que tienes a continuación:

    1: Evaluar color1 == "rojo"

    En este caso, como color1 tiene el valor "rojo", esta comparación evalúa como VERDADERO.

    2: Evaluar color2 == "verde"

    color2 == "verde"

    En este caso, como color2 tiene el valor "verde",esta comparación evalúa como VERDADERO.

    3: Evaluar color3 == "azul"

    Aquí color3 tiene el valor "morado", que no es igual a "azul", por lo tanto, esta comparación evalúa como FALSO.

    4: Evaluar color4 == "amarillo"

    color4 tiene el valor "marrón", que no coincide con el valor esperado "amarillo". Por lo tanto, esta comparación evalúa como FALSO.

    5: Combinar los resultados con Y (AND)

    Los resultados obtenidos fueron:

    • color1 == "rojo" es VERDADERO
    • color2 == "verde" es VERDADERO
    • color3 == "azul" es FALSO
    • color4 == "amarillo" es FALSO

    Al combinar todos los resultados con Y tenemos la siguiente operación:

    VERDADERO Y VERDADERO Y FALSO Y FALSO

    VERDADERO Y VERDADERO = VERDADERO

    FALSO Y FALSO = FALSO

    VERDADERO Y FALSO =FALSO

    Por lo tanto, la evaluación resuelta es que es FALSO.

    Esto demuestra que abusar de los operadores lógicos para hacer expresiones booleanas, puede volver tu código complicado y poco intuitivo. No abuses de estos nuevos operadores y utilízalos solo si es necesario.

    Espacio publicitario




    Espacio publicitario


    Ejercicios de programación para resolver

    Para los siguientes ejercicios, tienes este código:

    Algoritmo colores
    
        Definir color1 Como Cadena
        Definir color2 Como Cadena
        Definir color3 Como Cadena
    
        color1 <- "rojo"
        color2 <- "verde"
        color3 <- "azul"
    
        Si CONDICIÓN Entonces
            Escribir "Se ejecuta el Si."
        SiNo
            Escribir "Se ejecuta el SiNo."
        Fin Si
    
    FinAlgoritmo

    Fíjate en la línea 11. Voy a cambiar la parte que pone CONDICIÓN, por diferentes condiciones. Me tienes que responder, VERDADERO o FALSO, con cada expresión, teniendo en cuenta los valores de las tres variables de colores.

    Estas son las condiciones que hay que sustituir:

    26. color1 == "rojo" Y color3 == "azul"

    27. color1 == "rojo" Y color1 == "rojo"

    28. color1 == "verde" Y color2 == "azul"

    29. color1 == "rojo" Y color2 == "azul" Y color3 == "verde"

    Prueba a resolver las expresiones paso a paso en una libreta, esto te ayudará a resolverlas más fácilmente.

    1. VERDADERO
    2. VERDADERO
    3. FALSO
    4. FALSO

    Espacio publicitario



    Espacio publicitario