Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Sentencias If Anidadas | Introduction to Conditional Statements
C++ Conditional Statements

Sentencias If AnidadasSentencias If Anidadas

Una sentencia if anidada es simplemente una sentencia if dentro de otra sentencia if. Esta estructura le permite evaluar múltiples condiciones, una tras otra, y ejecutar bloques de código específicos. La sentencia if externa actúa como portero, y basándose en su evaluación, puede abrir la puerta a otra sentencia if interna.

Consider a scenario where we want to determine a worker salary based on their performance.

cpp

main.cpp

Este código calcula el nuevo salario de un empleado basado en el número de tareas completadas y las horas trabajadas, con un aumento del 20% si las tareas superan las 15 y un aumento adicional del 20% si las horas trabajadas son más de 40. Como puedes ver, el cálculo actual es de 1200. Y esto solo se puede lograr utilizando declaraciones if anidadas, aquí algunos intentos de obtener la misma lógica sin ellas.

cpp

main.cpp

Al principio puede parecer que funciona igual, pero en este caso el trabajador recibirá un aumento extra del 20%, independientemente de si ha completado más de 15 tareas. Ejecuta el código y observa la salida, muestra un valor de 1200, aunque esta vez el trabajador no completó más de 15 tareas.

cpp

main.cpp

En ese caso, puede parecer que debería funcionar como se espera, pero lamentablemente también es incorrecto, la salida es 1000. Esto se debe a que si el trabajador completa más de 15 tareas pero no trabaja más de 40 horas, no recibirá nada. Por lo tanto, tenemos que usar declaraciones if anidadas para obtener la implementación correcta.

En ese caso, puede parecer que debería funcionar como se pretende, pero desafortunadamente, también es incorrecto, la salida es 1000. Esto se debe a que si el trabajador completa más de 15 tareas pero no trabaja más de 40 horas, no recibirá nada. Por lo tanto, tenemos que usar sentencias if anidadas para obtener la implementación correcta.

Note

Nested if statements are necessary in some cases but not always. In the third section, we'll discuss when, why and how to avoid them.

Tarea

We have an excess of pink phones in our inventory that we need to sell.

  • Make a 20% discount on pink phones.
  • If a phone's price exceeds $1,000, the discount will be reduced to 10%.
  • For all other phones, increase the price by 10%.

¿Todo estuvo claro?

Sección 1. Capítulo 5
toggle bottom row
course content

Contenido del Curso

C++ Conditional Statements

Sentencias If AnidadasSentencias If Anidadas

Una sentencia if anidada es simplemente una sentencia if dentro de otra sentencia if. Esta estructura le permite evaluar múltiples condiciones, una tras otra, y ejecutar bloques de código específicos. La sentencia if externa actúa como portero, y basándose en su evaluación, puede abrir la puerta a otra sentencia if interna.

Consider a scenario where we want to determine a worker salary based on their performance.

cpp

main.cpp

Este código calcula el nuevo salario de un empleado basado en el número de tareas completadas y las horas trabajadas, con un aumento del 20% si las tareas superan las 15 y un aumento adicional del 20% si las horas trabajadas son más de 40. Como puedes ver, el cálculo actual es de 1200. Y esto solo se puede lograr utilizando declaraciones if anidadas, aquí algunos intentos de obtener la misma lógica sin ellas.

cpp

main.cpp

Al principio puede parecer que funciona igual, pero en este caso el trabajador recibirá un aumento extra del 20%, independientemente de si ha completado más de 15 tareas. Ejecuta el código y observa la salida, muestra un valor de 1200, aunque esta vez el trabajador no completó más de 15 tareas.

cpp

main.cpp

En ese caso, puede parecer que debería funcionar como se espera, pero lamentablemente también es incorrecto, la salida es 1000. Esto se debe a que si el trabajador completa más de 15 tareas pero no trabaja más de 40 horas, no recibirá nada. Por lo tanto, tenemos que usar declaraciones if anidadas para obtener la implementación correcta.

En ese caso, puede parecer que debería funcionar como se pretende, pero desafortunadamente, también es incorrecto, la salida es 1000. Esto se debe a que si el trabajador completa más de 15 tareas pero no trabaja más de 40 horas, no recibirá nada. Por lo tanto, tenemos que usar sentencias if anidadas para obtener la implementación correcta.

Note

Nested if statements are necessary in some cases but not always. In the third section, we'll discuss when, why and how to avoid them.

Tarea

We have an excess of pink phones in our inventory that we need to sell.

  • Make a 20% discount on pink phones.
  • If a phone's price exceeds $1,000, the discount will be reduced to 10%.
  • For all other phones, increase the price by 10%.

¿Todo estuvo claro?

Sección 1. Capítulo 5
toggle bottom row
some-alt