Implemente la instrucción if con múltiples condiciones en C++

Aditya Raj 12 octubre 2023
  1. Implemente la instrucción if con múltiples condiciones en C++
  2. Implemente la instrucción if con múltiples condiciones usando el operador lógico && en C++
  3. Implemente la declaración if con múltiples condiciones usando || Operador lógico en C++
  4. Implemente la declaración if con múltiples condiciones utilizando && y || Operadores Lógicos en C++
  5. Conclusión
Implemente la instrucción if con múltiples condiciones en C++

Los operadores lógicos de C++, && o ||, se pueden utilizar en las declaraciones if para verificar múltiples condiciones simultáneamente.

Este artículo discutirá cómo podemos emplear las declaraciones if con múltiples condiciones en C++ en detalle, junto con ejemplos relevantes.

Implemente la instrucción if con múltiples condiciones en C++

En C++, podemos tener múltiples sentencias if de dos maneras. Puede haber sentencias if anidadas y múltiples sentencias if en un programa para verificar diferentes condiciones.

Vamos a discutir los dos casos en detalle.

Puede haber una situación en la que necesitemos verificar múltiples condiciones usando una declaración if anidada. Por ejemplo, supongamos que queremos comprobar si un número está entre 45 y 60.

El código para verificar la condición dada usando una declaración anidada if se muestra a continuación:

// C++ program demonstrating nested if-statement

#include <iostream>
using namespace std;

int main() {
  cout << "Enter a number: ";
  int num;
  cin >> num;

  if (num > 45) {
    if (num < 60) {
      cout << "Entered number is between 45 and 60";
    }

    else {
      "Entered number is not in between 45 and 60";
    }
  }

  else
    cout << "Entered number is not in between 45 and 60";

  return 0;
}

Aquí, usamos una declaración if para cada condición en forma de una declaración if anidada. En declaraciones anidadas if, necesitamos escribir una pieza de código más larga.

En su lugar, podemos usar varios operadores lógicos && en una sola instrucción if para simplificar nuestro código y evitar escribir líneas de código innecesarias.

Implemente la instrucción if con múltiples condiciones usando el operador lógico && en C++

Analicemos cómo usar declaraciones if con el operador lógico && para verificar múltiples condiciones en C++.

El operador lógico && es un operador binario. Toma dos valores booleanos o expresiones que evalúan un valor booleano como sus operandos.

Después de la ejecución, este operador devuelve verdadero si todos los operandos en la instrucción if son verdaderos; de lo contrario, devuelve falso.

Por ejemplo, en el siguiente código, si ambas condiciones, (num_1 < num_2) y (num_2 > num_3), se evalúan como verdaderas, el operador && devuelve verdaderas y se ejecutan las declaraciones dentro del bloque if. . Si algún operando es falso, la expresión completa se evaluará como falsa y el código dentro del bloque if no se ejecutará.

int num_1 = 5;
int num_2 = 12;
int num_3 = 10;

if( (num_1 < num_2) && (num_2 > num_3) //if condition1 "and" condition2 is true
   {
  statement_1;  // then execute the statements
  statement_2;
  ..............statement_n;
    }

Considere el siguiente ejemplo usando el operador lógico && en una declaración if para verificar si un número está entre 45 y 60:

// C++ program demonstrating the use of Logical "and" (&&) operator

#include <iostream>
using namespace std;

int main() {
  cout << "Enter a number: ";
  int num;
  cin >> num;

  if (num > 45 && num < 60)
    cout << "Entered number is between 45 and 60";
  else
    cout << "Entered number is not in between 45 and 60";

  return 0;
}

En el ejemplo anterior, el operador lógico && verifica si el número dado es mayor que 45 o menor que 60. Si ambos operandos son verdaderos, entonces se ejecutan las declaraciones bajo la condición if, y la salida será:

Entered number is between 45 and 60

Si alguno de los resultados de los operandos es falso, entonces se ejecuta la declaración en la sección else, y la salida será:

Entered number is not in between 45 and 60

En el operador lógico &&, se prefiere como primer operando la condición con mayor probabilidad de ser falsa. Si alguno de los operandos es falso, no se verificará ningún otro operando en la expresión y, por lo tanto, se reducirá el tiempo de cálculo del programa.

Por lo tanto, un operando con una alta probabilidad de falla debe declararse primero en la condición if para reducir el tiempo de cálculo.

En el ejemplo anterior, teníamos que verificar si todas las expresiones de las declaraciones if eran verdaderas. Sin embargo, puede haber situaciones en las que solo necesitemos verificar si una de las condiciones es verdadera.

Por ejemplo, considere el ejemplo de los dados en el que obtener 2 o 5 en un tiro de dados gana el partido.

#include <iostream>
using namespace std;

int main() {
  cout << "Enter number on the dice: ";
  int num_1;
  cin >> num_1;

  if (num_1 == 2) {
    cout << "Game is Won";
    return 0;
  }

  if (num_1 == 5) {
    cout << "Game is Won";
    return 0;
  }

  else
    cout << "Game is Lost";

  return 0;
}

Aquí, incluso si alguna de las condiciones (num_1 == 2) y (num_1 == 5) es verdadera, el Juego está ganado. En tales casos, podemos usar el lógico || operadores en lugar de múltiples sentencias if en C++.

Implemente la declaración if con múltiples condiciones usando || Operador lógico en C++

Discutamos el uso de || operadores en lugar de múltiples sentencias if.

El lógico || El operador (||) también es binario. Toma dos valores booleanos o expresiones que evalúan un valor booleano como sus operandos.

Después de la ejecución, este operador devuelve verdadero si alguno de los operandos en la instrucción if es verdadero. De lo contrario, devuelve falso.

Analicemos la sintaxis de || operador en una declaración if con la ayuda de un ejemplo:

int num_1;
int num_2;
int num_3;

if ((num_1 == 0) || (num_2 == 0) || (num_3) == 0)  // if any condition is true
{
  statement_1;  // then execute the statements
  statement_2;
  ..............statement_n;
}

Aquí, la expresión completa (num_1 == 0) || (num_2 == 0) || (num_3)==0) se evaluará como verdadero si una de las condiciones (num_1 == 0), (num_2 == 0) y (num_3 == 0) se evalúa como verdadero. Se evaluarán las sentencias dentro del bloque if.

Si todas las expresiones se evalúan como falsas, la expresión completa solo se evaluará como falsa. Las sentencias dentro de la sentencia if no se ejecutarán.

Considere el siguiente ejemplo que explica el uso del lógico || operador en lugar de múltiples declaraciones if en C++.

// C++ program demonstrating the use of Logical "or" (||) operator

#include <iostream>
using namespace std;

int main() {
  cout << "Enter number on the dice: ";
  int num_1;
  cin >> num_1;

  if (num_1 == 2 || num_1 == 5)
    cout << "Game is Won";
  else
    cout << "Game is Lost";

  return 0;
}

En este ejemplo, el || El operador verifica si el número dado es 2 o 5. Si algún operando es verdadero, entonces se ejecuta la declaración bajo la condición if y se gana el “Juego”.

Si todos los operandos se evalúan como falsos, entonces se ejecuta la declaración bajo la sección else y el “Juego se pierde”.

La condición con la mayor probabilidad de ser verdadera debe mencionarse en el primer operando. Si alguno de los resultados de los operandos es verdadero, la condición if es verdadera, y el resto de condiciones no se comprueban.

De esta forma se puede reducir el tiempo de cálculo del programa.

Ambos operadores lógicos son asociativos por la izquierda; por lo tanto, se ejecutan en orden de izquierda a derecha. Sin embargo, el segundo operando && no se evalúa si el primer operando es falso.

En ||, el segundo operando no se evalúa si el primer operando es verdadero.

Implemente la declaración if con múltiples condiciones utilizando && y || Operadores Lógicos en C++

También podemos usar && y || en una sola instrucción if para comprobar múltiples condiciones en C++. Cuando usamos ambos operadores en una declaración if para verificar múltiples condiciones, la evaluación debe realizarse en el orden correcto.

El operador con la precedencia más alta se agrupa con el operando primero en una expresión. Luego, el siguiente operador más alto se agrupa con el operando.

El orden de precedencia de los operadores lógicos se menciona en la siguiente tabla:

Operador lógico Precedencia
NO (!) Alto
Y (&&) Medio
O (`

En la tabla, puedes ver que:

  • El lógico ! El operador tiene la precedencia más alta en la expresión y se evalúa primero.
  • El operador lógico && tiene la precedencia media en la expresión y se evalúa después del ! operador.
  • El lógico || El operador tiene la precedencia más baja en la expresión y se evalúa después del operador &&.

Para una mejor comprensión, considere el siguiente código:

if (num > 45 || num < 60 && num != 100) {
  cout << num;
}

Consideremos num = 50, entonces el resultado del código anterior es verdadero porque:

  1. num < 60 && numero ! = 100 se evaluará porque && tiene mayor precedencia. Esta evaluación será cierta.
  2. Se evaluará la expresión ( num > 45 || TRUE ) y finalmente obtendremos verdadero como resultado.

Conclusión

En este artículo, hemos discutido el uso de sentencias if con múltiples condiciones en C++. Aprendimos sobre la sintaxis de los operadores lógicos en una declaración if, su tabla de verdad, asociatividad y orden de precedencia en detalle, junto con algunos ejemplos.

Autor: Aditya Raj
Aditya Raj avatar Aditya Raj avatar

Aditya Raj is a highly skilled technical professional with a background in IT and business, holding an Integrated B.Tech (IT) and MBA (IT) from the Indian Institute of Information Technology Allahabad. With a solid foundation in data analytics, programming languages (C, Java, Python), and software environments, Aditya has excelled in various roles. He has significant experience as a Technical Content Writer for Python on multiple platforms and has interned in data analytics at Apollo Clinics. His projects demonstrate a keen interest in cutting-edge technology and problem-solving, showcasing his proficiency in areas like data mining and software development. Aditya's achievements include securing a top position in a project demonstration competition and gaining certifications in Python, SQL, and digital marketing fundamentals.

GitHub

Artículo relacionado - C++ Operator