No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de quién quieres ser. Aprovecha el precio especial.

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

15 Días
20 Hrs
17 Min
32 Seg

Operadores lógicos

11/26
Recursos

Aportes 29

Preguntas 5

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Puden definir multiples variables en la misma linea asi:

var (a, b, c) = (false, true, false);

Lo que comenta el profe Celis es muy interesante a la hora entender sobre operadores lógicos
.

  • Por ejemplo en los robots seguidores de línea (Los más básicos como el de la imagen) su objetivo es seguir una línea, puede ser color negro o blanco, sin salirse de la línea. 😃
    .

  • Se colocan 2 sensores infrarrojos en los extremos de la parte inferior frontal del robot 🤖
    .

  • Supongamos un ejemplo, el sensor de la derecha es sensor1 y el sensor de la izquierda es sensor2
    y estos solo pueden tener dos valores: 0 (Linea negra) ⬛ y 1 (Linea blanca) ⬜.

.
Entonces… Se puedes hacer varias condiciones, para este ejemplo solo usaré el operador AND (&&), pero se pueden usar cualquiera de los operadores según tu lógica, por ejemplo:
.

  1. Condición 1:
    Si sensor1 == 1 && sensor2 == 1
    Entonces: Avanzar(); ⏭️
    .
  2. Condición 2:
    Si sensor1 == 0 && sensor2 == 1
    Entonces: Izquierda(); ⬅️
    .
  3. Condición 3:
    Si sensor1 == 1 && sensor2 == 0
    Entonces: Derecha(); ➡️
    .
  4. Condición 4:
    Si sensor1 == 0 && sensor2 == 0
    Entonces: Detenerse(); ⏹️ ❌

Le falto el XOR, es de los más usados, es el equivalente a preguntar si los argumentos A y B son diferentes, en C# el operador es ^

True ^ True = False
True ^ False = True
False ^ True = True
False ^ False = False

Les comparto la documentación oficial de los Operadores Lógicos en C#

Comparto mis notas

![](

Codigo de la Clase

class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Operadores Logicos en C#");

            bool value1 = true;
            bool value2 = true;
            bool value3 = false;
            Console.WriteLine("The Valor1 is: " + value1);
            Console.WriteLine("The Valor2 is: " + value2);
            Console.WriteLine("The Valor3 is: " + value3);

            bool result = value1 && value2 && value3;
            Console.WriteLine("The result of the logical AND (y) is: " + result);

            bool result2 = value1 || value2 || value3;
            Console.WriteLine("The result of the logical OR (o) is: " + result2);

            bool result3 = !value1;
            Console.WriteLine("The result of the logical ! (Negacion) is: " + result3);

            bool result4 = value1 ^ value3;
            Console.WriteLine("The result of the logical XOR (Diferente) is: " + result4);



        }
    }

Operadores Lógicos

Acá no hay mucha variedad. Los operadores lógicos dan como resultado True o False y se pueden dar mediante tres operaciones:

  • && -> AND : “ESTO Y AQUELLO se tienen que cumplir o morimos todos”

  • || -> OR : “Si ESTO o AQUELLO pasa, morimos todos”

  • ! -> NOT : “Esto NO ES ASÍ, es todo lo contrario”

"No entiendo, Maginer"
Ahí vamos, Timmy. Vamos con un ejemplo en código:

bool value1 = true;
bool value2 = false;
bool value3 = false;
bool value4 = true;

bool result1 = value1 && value2;
Console.WriteLine(result1);
// False

bool result2 = value1 && value4;
Console.WriteLine(result2);
// True

bool result3 = value1 || value4;
Console.WriteLine(result2);
// True

bool result3 = !value2;
Console.WriteLine(result3);
// True

Según la terminal result1 dará False. Por qué? Porque el operador && EXIGE que AMBOS resultados sean verdaderos, que TODAS las condiciones se cumplan (o morimos todos), mientras que || es más permisivo y le basta con que UNA CONDICIÓN SE CUMPLA (result3 = True). Por su lado el operador NOT, el !, simplemente da el resultado opuesto (value2 es False, así que NOT lo señala como True, algo así como “Puede ser que value2 NO SEA VERDADERO?” y no, no es verdadero, así que True).
Un ejemplo prático?

  • Si Timmy puso un mail válido (True) YYYY un nick disponible (True) podrá registrarse en Platzi (True)

  • Timmy se registró (True) pero NO confirmó su mail (False), lo que es obligatorio (&&), así que no podrá usar Platzi (False)

  • Si a Timmy le regalan el plan Expert OOO lo adquiere él, podrá ver todos los cursos de Platzi. Timmy no lo pagó (False) pero se lo regalaron (True), asi que puede usar Platzi al completo (True)

  • Timmy NO ES una referencia a los Simpsons? False. Entonces sí es una referencia a los Simpsons (True)

Console.WriteLine("Hello, World!");

bool value1 = true;
bool value2=true;
bool value3=false;

//&&,||,!

bool result = value1 && value2 && value3;
Console.WriteLine("The result of the logical AND is " + result);

bool result2 = value1 || value2 || value3;
Console.WriteLine("The result of the logical OR is " + result2);

bool result3 = !value3 ;
Console.WriteLine("The result of the logical ! is " + result3);


Le dejo este enlace que explica el origen y comportamiento de las operaciones lógicas Operaciones Logicas

Operadores lógicos:

&& = AND
|| = OR
! = NOT

Muy buena clase y muy clara

Operadores Logicos


Los operadores lógicos en C# son utilizados para comparar y combinar valores booleanos. Los operadores lógicos disponibles en C# incluyen:

  • && (and): Devuelve verdadero si ambos operandos son verdaderos.
  • || (or): Devuelve verdadero si al menos uno de los operandos es verdadero.
  • ! (not): Invierte el valor booleano del operando.
  • ^ (xor): Devuelve verdadero si sólo uno de los operandos es verdadero.

Ejemplo:

bool a = true;
bool b = false;
bool c = (a && b); // c es false
bool d = (a || b); // d es true
bool e = !b; // e es true
bool f = (a ^ b); // f es true
bool resul = value1&& value2 && value3; 
Console.WriteLine($"The result of logical AND is: {resul}");

bool resul2 = value1 || value2 || value3;
Console.WriteLine($"The result of logical OR is: {resul2}");

bool resul3 = !value3;
Console.WriteLine($"The result of logical ! is: {resul3}");

bool resul = value1&& value2 && value3;
Console.WriteLine($“The result of logical AND is: {resul}”);

bool resul2 = value1 || value2 || value3;
Console.WriteLine($“The result of logical OR is: {resul2}”);

bool resul3 = !value3;
Console.WriteLine($“The result of logical ! is: {resul3}”);

// && || ! operadores logicos
// un ejemplo de && , por ejemplo, es como una contrasenha, si no es todo true, te trae false, o en lenguaje humano, error. (definicion tecnica) se usa para validar si todos los caracteres son correctos.
// || el or puede usarse oara indentificar un true entre falses, si hay un true entre muchos , sale true, porque encontro, es como palabra clave. (definicion tecnica) se usar para validar si uno de los caracteres son correctos.
// ! es como psicologia inversa, se usa para encontrar la respuesta de manera inversa.(al menos asi lo entendi ahora)

(Comentario de Quique Olazarán) // Lo que comenta el profe Celis es muy interesante a la hora entender sobre operadores lógicos . Por ejemplo en los robots seguidores de línea (Los más básicos como el de la imagen) su objetivo es seguir una línea, puede ser color negro o blanco, sin salirse de la línea. 😃 . Se colocan 2 sensores infrarrojos en los extremos de la parte inferior frontal del robot 🤖 . Supongamos un ejemplo, el sensor de la derecha es sensor1 y el sensor de la izquierda es sensor2 y estos solo pueden tener dos valores: 0 (Linea negra) ⬛ y 1 (Linea blanca) ⬜. . Entonces… Se puedes hacer varias condiciones, para este ejemplo solo usaré el operador AND (&&), pero se pueden usar cualquiera de los operadores según tu lógica, por ejemplo: . Condición 1: Si sensor1 == 1 && sensor2 == 1 Entonces: Avanzar(); ⏭️ . Condición 2: Si sensor1 == 0 && sensor2 == 1 Entonces: Izquierda(); ⬅️ . Condición 3: Si sensor1 == 1 && sensor2 == 0 Entonces: Derecha(); ➡️ . Condición 4: Si sensor1 == 0 && sensor2 == 0 Entonces: Detenerse(); ⏹️ ❌

Es muy importante aprender los booleanos , a veces se usan bastante 😃

Un poco de mi avance

bool valor_1 = true;
bool valor_2 = false;
bool valor_3 = false;
//los operadores son &&, ||, !
bool result = valor_1 && valor_3;
bool result_2 = valor_1 || valor_2 || valor_3;
bool result_3 = !valor_1;
 Console.WriteLine("El valor es: " + result + "\nEl valor 2 es: " + result_2 + "\nEl valor 3 es: "+ result_3);

Les dejo mi codigo:

using System;
namespace _11_OperadoresLogicos
{
    class Program
    {
        static void Main()
        {
            bool value1 = true;
            bool value2 = true;
            bool value3 = false;

            /*
             **** Operadores ****
                && -> y
                || -> o
                ! -> Invierte elvalor original del bool
             */
            bool resultAnd = value1 && value2 && value3; // true && true && false = false
            Console.WriteLine($"result: { resultAnd }");

            bool resultOr = value1 || value2 || value3; // true || true || false = true
            Console.WriteLine($"result: { resultOr }");

            bool result3 = !value1; // Invierte el valor original del bool
            Console.WriteLine($"result: { result3 }"); // false
        }
    }
}

Esto es fácil de entender, y con el siguiente video se profundiza mas.

using System;

namespace LogicOperators
{
    internal class Program
    {
        static void Main(string[] args)

            //Operadores < > ==
        {
            bool greatherThan = 9 > 10;
            bool lessThan = 9 < 10;
            bool equalTo = 9 == 10;
            Console.WriteLine($"9 > 10 {greatherThan}.\n9 < 10 {lessThan}.\n9 == 10 {equalTo}");

            //Operadores && || !(diferente o negación)

            bool greather = 9 > 10 || 9 > 3; //OR operator
            bool less = 9 < 10 && 10 < 9; //AND operator
            bool different = 9 != 10; //DIFFERENT operator
            bool not = !different || !greather; //NOT operator with OR op. False + True = False
            Console.WriteLine(
                $"9 > 10 || 9 > 3 {greather} greather." +
                $"\n9 < 10 && 10 < 9 {less} less" +
                $"\n9 != 10 {different} different" +
                $"\nNegation of (the opposite result) 9 != 10 || 9 > 10 || 9 > 3;  {not}. " +
                $"Because False + False = False." +
                $"\nTo reach True it must be True + True = True (two conditions)"
                );
        }
    }
}

El profe dice que esta “pensando”, acabamos de crear vida XD

static void Main(string[] args)
{
// varibles for the program
bool value1 = true;
bool value2 = false;
// &&, || and ! operators
// operator &&
// if value1 is true and value2 is false, the result is false
bool result1 = value1 && value2;
// operator ||
// if value1 is true or value2 is false, the result is true
bool result2 = value1 || value2;
// operator !
// if value1 is true, the result is false
bool result3 = !value1;
// output the results
Console.WriteLine("value1: " + value1);
Console.WriteLine("value2: " + value2);
Console.WriteLine("result && is: " + result1);
Console.WriteLine("result || is: " + result2);
Console.WriteLine("result ! is: " + result3);
// wait for user to press a key
Console.ReadKey();
}

El operador ! lo que hace es negar el valor de verdad de la variable (de tipo bool), si es falso al negarlo se convierte en verdadero y si es verdadero al negarlo lo convierte en falso.
!True = False
!False = True

using System;

namespace OperadoresLogicos
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //Probando todos los operadores lógicos

            /* Operadores
             * &&  = AND
             * || = OR
             * ! = NOT negación
             */
            bool valor1 = true;
            bool valor2 = false;

            bool result = valor1 && valor2;
            Console.WriteLine("El resultado logico AND es: " + result);
            result = valor1 || valor2;
            Console.WriteLine("El resultado logico OR es: " + result);
            result = !valor1;
            Console.WriteLine("La negacion de valor1 es: " + result);
            result = !valor2;
            Console.WriteLine("La negacion de valor2 es: " + result);
        }
    }
}

Salida:

Repasando ando

bool value1 = true;
bool value2 = true;
bool value3 = false;
//&& , || , !, ^
Console.WriteLine(
    "The value of Value1 is: " + value1);
Console.WriteLine(
    "The value of Value2 is: " + value2);
Console.WriteLine(
    "The value of Value3 is: " + value3);
bool result = value1 && value2;
Console.WriteLine(
    "The result of the Logical AND (value1 && value2) is: " + result  + "\n " );
result = value1 && value2 && value3;
Console.WriteLine(
    "The result of the Logical AND (value1 && value2 && value3) is: " + result + "\n ");

result = value1 || value2;
Console.WriteLine(
    "The result of the Logical OR (value1 || value2) is: " + result + "\n ");
result = value1 || value2 || value3;
Console.WriteLine(
    "The result of the Logical OR (value1 || value2 || value3) is: " + result + "\n ");

result = !value1;
Console.WriteLine(
    "The result of the Logical NOT (!value1) is: " + result + "\n ");
result = !value3;
Console.WriteLine(
    "The result of the Logical NOT (!value3) is: " + result + "\n ");

result = value1 ^ value2;
Console.WriteLine(
    "The result of the Logical XOR (value1 ^ value2) is: " + result + "\n ");
result = value1 ^ value2 ^ value3;
Console.WriteLine(
    "The result of the Logical XOR (value1 ^ value2 ^ value3) is: " + result + "\n ");

Tantos lenguajes de programacion, C# me parece interesante y breve.