Sentencias 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.
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.
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.
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?
Contenido del Curso
C++ Conditional Statements
1. Introducción a las Sentencias Condicionales
2. Práctica de Flujo de Control Condicional
3. Temas Avanzados
C++ Conditional Statements
Sentencias 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.
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.
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.
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?