ESTRUCTURAS SELECTIVAS SIMPLES DOBLES O COMPUESTAS ANIDADAS O EN CASCADA MÚLTIPLES O SWITCH
INTRODUCCIÓN Las estructuras ras lóg lógica icas sele electiva ivas se encuentran en la solución algorítmica de casi todo tipo de problemas. Se utilizan cuándo se toman DECISIONES, para establecer un proceso o seña señala larr un cami camino no alte altern rnat ativ ivo o a segu seguirir..
La toma de DECISIÓN se basa en la evalua luación de una o más más condi ndiciones que nos seña señala lará rán n como como alter lterna nattiva iva o cons consec ecue uenc ncia ia,, la rama a segu seguiir.
LAS ESTRUCTURAS SELECTIVAS O ALTERNATIVAS Se clasifican en:
1. 2. 3. 4.
Simples Dobles o Compuestas En cascada o Anidadas Múltiples o Switch
1.ESTRUCTURAS SELECTIVAS SIMPLES Se identifican porque están compuestos únicamente de una condición. La estructura If - evalúa la condición y en tal caso: Si la condición es verdadera, entonces ejecuta la acción If (o acciones, si son varias). Si la condición es falsa, no se hace nada y continúa el programa
1 2 Selectiva (If )
C
si 3
4
Selectiva Simple (SI) Diagrama de Flujo Diagrama de Flujo
Pseudocódigo
Representación pseudocodificada Ejemplo:
Construir un algoritmo tal, que dado como dato la calificación de un alumno en un examen, escriba "Aprobado" en caso que esa calificación fuese mayor que 8. Datos: Cal = calificación
EJEMPLO
PSEUDOCÓDIGO { Indica si es aprobado el promedio de curso de un alumno} Programa promedio aprobado Variables real pro INICIO Mostrar “Ingresar el promedio del alumno : ” Leer pro Si (pro >= 6) Entonces Mostrar “ Aprobado ", pro fin si FIN
PYTHON
EJEMPLO Ingresando el salario de un trabajador, aplíquele un aumento del 15% si su salario es inferior a Q 1,000.00. Imprimir el aumento y el salario del trabajador. Dato: sal (variable real representa salario) aum (variable real representa aumento) nsue (variable real representa nuevo salario)
PSEUDOCÓDIGO { Aumento al salario de un trabajador} Programa aumento al salario Variables real sal, aum, nsue INICIO Mostgrar “Ingresar sueldo : ” Leer sal Si (sal < 1000) Entonces Hacer aum = sal * 0.15 Hacer nsue = sal + aum Mostrar “ Resultado “ “Sueldo “, sal, “Aumento “, aum, “Nuevo Salario “, nsue fin si FIN
PYTHON
/ Aumento al salario de un empleado #include using namespace std; void main() { float sal, aum, nsal; aum = 0; nsal = 0; cout << "Ingrrese el salario: " << endl; cin >> sal; if (sal > 1000) { aum = sal * 0.15; nsal = sal + aum; cout << "El Salario es: " << sal << endl; cout << "El Aumento es: " << aum << endl; cout << "El Nuevo Salario es: " << nsal << endl; } system("pause");
ESTRUCTURAS SELECTIVAS SIMPLES
ESTRUCTURAS SELECTIVAS SIMPLES EJERCICIO Ingresar el monto de una compra. Si la compra es mayor a Q 5,500.00 dar un descuento del 10% en caso contrario el descuento será del 5%. Mostrar la compra y nuevo monto a pagar.
2.ESTRUCTURA DE SELECCIÓN DOBLE O COMPUESTAS Selectiva (si-entonces-sino)
Son estructuras lógicas que permiten controlar la ejecución de varias acciones y se utilizan cuando se tienen dos opciones de acción, por la naturaleza de estas se debe ejecutar una o la otra, pero no ambas a la vez, es decir, son mutuamente excluyentes.
1 2 si
C
3a
no
3b
4
2.ESTRUCTURA DE SELECCIÓN DOBLE O COMPUESTA La estructura selectiva doble if - else permite que el flujo se bifurque por dos ramas diferentes en el punto de la toma de decisión o control. Si al evaluar la condición el resultado es verdadero, entonces se sigue por un camino específico y se ejecuta una acción determinada o un conjunto de ellas. Por otra parte, si el resultado de la evaluación es falso, entonces se sigue por otro camino y se realiza(n) otra(s) acción(es). En ambos casos, luego de ejecutar las acciones correspondientes, se continúa con la secuencia normal del programa
Estructura Selectiva If - else instruccion1;
instrucción1;
if(condicion)
if(condicion){
instrucción2;
instrucción2;
else
instrucción3; instrucción 3
Instruccion4;
instrucción4;
}else{ instrucción5; instrucción6;
} Instrucción7;
Palabra reservada
“condicion”
verdadera
“condicion”
falsa
ESTRUCTURAS SELECTIVAS DOBLES EJEMPLO Dado el sueldo de un trabajador, aplíquele un aumento del 15% si su sueldo es inferior a Q 1,000.00 y de 12% en caso contrario. Imprimir el sueldo ingresado y el nuevo sueldo. Elaborar un programa en C++. Dato: sue (variable real representa sueldo) aum (variable real representa aumento) nsue (variable real representa nuevo sueldo)
# Ingresar el salario de un empleado. # Si el salario es menor o igual 2,000.00, otorgar un aumento del 15% # en caso contrario otorgar un aumento del 8%. Mostrar resultado. # aumento y el nuevo salario # Ingreso de datos salario = float (input ("Ingrese el salario del empleado ")) # Procesar los datos if (salario <= 2000.00): aumento = salario * 0.15 nsal = salario + aumento else: aumento = salario * 0.08 nsal = salario + aumento # Mostrar la informacion print ("El aumento es de : ", aumento) print ("El nuevo salario es de : ", nsal)
ESTRUCTURAS SELECTIVAS DOBLES
ESTRUCTURRAS SELECTIVAS ANIDADAS O EN CASCADA
Encontramos numerosos casos en el desarrollo de la solución de problemas en el que luego de tomar una decisión y marcar el camino correspondiente a seguir, es necesario tomar otra decisión. Se señala, luego de evaluar las condiciones, la rama correspondiente a seguir, y nuevamente podemos tener que tomar otra decisión. El proceso puede repetirse numerosas veces. En este caso, para resolver el problema, estamos aplicando estructuras selectivas en cascada o anidadas. A continuación se analizaran casos diferentes:
ESTRUCTURRAS SELECTIVAS ANIDADAS O EN CASCADA
ESTRUCTURRAS SELECTIVAS ANIDADAS O EN CASCADA
En la solución de problemas encontramos numerosos casos en los que luego de tomar una decisión y marcar el camino correspondiente a seguir, es necesario tomar otra decisión. Dicho proceso puede repetirse numerosas veces. En aquellos problemas en donde un bloque condicional incluye otro bloque condicional se dice que un bloque está anidado dentro del otro. Concluyendo el Si (IF) Anidado o en Cascada se refiere a una o más condiciones dentro de otra condición y podría tener muchísimas formas.
# Ingresar el salario de un empleado. Si es menor o igual Q 2500.00, otorgar un aumento del 10%, # si es mayor o igual Q2501.00 y menor o igual a Q 3500.00, otorga un aumento del 5% y # si es mayor a Q 3501.00, otorgar un aumento del 3 %. Mostrar en pantalla el aumento y el nuevo salario # Ingresar los datos salario = float (input ("Ingresar el salario del empleado :")) # Procesar los datos if (salario <= 2500.00): aumento = salario * 0.10 nsal = salario + aumento else: if (salario >= 2501.00 and salario <= 3500.00): aumento = salario * 0.05 nsal = salario + aumento if (salario > 3501.00): aumento = salario * 0.03 nsal = salario + aumento # Mostrar los resultados print ("El aumento es de : ", aumento)
Ejemplo de Estructuras Anidadas
ESTRUCTURA SELECTIVA MÚLTIPLE O SWITCH Un algoritmo contendrá una serie de decisiones, en las cuales una variable o expresión se probará por separado contra cada uno de los valores constantes enteros que puede asumir, y se tomarán diferentes acciones. Para esta forma de toma de decisiones se proporciona una estructura de selección múltiple switch.
ESTRUCTURA SELECTIVA MÚLTIPLE O SWITCH •
•
La cadena if-else se usa en aplicaciones de programación donde un conjunto de instrucciones debe ser seleccionada entre muchas alternativas posibles. La instrucción switch proporciona una alternativa a la cadena if-else para casos que comparan el valor de una expresión de número entero con un valor específico.