230 likes | 776 Views
Estructura Selectiva Algoritmos. M.S.C. Ivette Hernández Dávila. Estructura Condicional o Selectiva.
E N D
Estructura SelectivaAlgoritmos M.S.C. Ivette Hernández Dávila
Estructura Condicional o Selectiva • La estructura condicional se utiliza para indicarle al computador que debe evaluar una condición y, a partir del resultado, ejecutar el bloque de instrucciones correspondiente. La forma más común está compuesta por una proposición (condición) que se evalúa y dos bloques de instrucciones que se ejecutan, uno cuando la condición es verdadera (selección simple y doble) y otro cuando ésta es falsa (únicamente en la selección doble). • Algunos autores se refieren a este tipo de estructura como estructura de selección, estructura selectiva o estructura de decisión.
Frase declarativa • Para que una proposición (frase declarativa) sea valida, debe poder afirmarse que es verdadera o falsa. En programación, se utilizan operadores relacionales (<, =, >) para establecer la relación que existe entre dos elementos de la proposición.
Proposiciones • Adicionalmente, las proposiciones pueden ser sencillas o compuestas. Las proposiciones compuestas se forman con dos o más proposiciones sencillas unidas por operadores lógicos (y, o, no). Cuando se unen dos proposiciones por medio del operador lógico “y”, significa que ambas proposiciones deben ser verdaderas (conjunción). Cuando se unen dos proposiciones por medio del operador lógico “o”, significa que por lo menos una de las dos proposiciones debe ser verdadera (disyunción).
Tipos de selección • Por su parte, un bloque de instrucciones puede contener una o varias instrucciones que se ejecutan una detrás de otra. La estructura condicional tiene tres variantes: • selección simple. • selección doble. • selección múltiple. • Las estructuras condicionales simple y doble evalúan una proposición (condición) que devuelve como resultado únicamente dos valores posibles y excluyentes: verdadero o falso. En cambio, la estructura condicional de selección múltiple permite que la condición devuelva más de un valor posible y que para cada uno de esos valores se ejecute el bloque de instrucciones correspondiente.
Selección Simple • La estructura condicional de selección simple ejecuta un bloque de instrucciones cuando la proposición (condición) es verdadera; si esta es falsa, no hace nada.
Las representación gráfica de la estructura condicional simple se muestranen la siguiente figura: Pseudocódigo en español si (condición) entonces < acción1> Pseudocódigo en español (varias acciones) si (condición) entonces {<acción1> <acción2> ...... ...... }
Ejemplo selección simple (Si-entonces) • Dado como dato la calificación de un alumno en un examen, escriba “aprobado” en caso de que esa calificación sea mayor a 7. • Dato: cal (variable de tipo real que representa la calificación del alumno). Inicio Inicio { real cal; //se declaran variables Escribe(“Dame la calificación del alumno”); Leer(cal); //se lee la variable Si (cal>7) entonces Escribe(“Aprobado”); } Fin cal No cal >7 Si Aprobado Fin
Selección Doble (Si-entonces/Si-no) • La estructura condicional de selección doble ejecuta un bloque de instrucciones (A) cuando la proposición (condición) es verdadera y un bloque diferente (B) cuando esta es falsa.
Las representación gráfica de la estructura condicional doble se muestranen la siguiente figura: • Pseudocódigo en español • Pseudocódigo con acción compuesta
Ejemplo selección doble • Dado como dato la calificación de un alumno en un examen, escriba “aprobado” si su calificación es mayor o igual que 7 y “reprobado” en caso contrario. • Dato: cal (variable de tipo real que representa la calificación del alumno). Inicio cal Si No cal >=7 Aprobado Reprobado Fin
Pseudocódigo ejemplo Inicio { real cal; //se declaran variables Escribe(“Dame la calificación del alumno”);//se pide el valor de la variable Leer(cal); //se lee la variable Si (cal>=7) entonces //condición Escribe(“Aprobado”); //si se cumple la condición sino Escribe(“Reprobado”); //sino se cumple la condición } Fin
Selección múltiple • A veces es necesario que existan más de dos elecciones posibles Este problema se podría resolver por estructuras selectivas simples o dobles que estuvieran anidadas o en cascada; sin embargo por este método si el número de alternativas es grande puede plantear serios problemas de escritura del algoritmo y naturalmente de legibilidad. • La estructura de decisión múltiple evaluará una expresión que podrá tomar n valores distintos (siempre un valor enumerado). Según que elija uno de estos valores en la condición, se realizará una de las n acciones.
Las representación gráfica de la estructura selección múltiple se muestranen la siguiente figura: • En pseudocódigo: • Caso que(valor) • V1: accion1 • V2: accion2 • V3: accion3 • V4,V5: accion4 • ... .... • Vn: accionn
Ejemplo • Dado un numero entre 1 y 7 escriba su correspondiente día de la semana así: • 1- Lunes 2- Martes 3- Miércoles 4- Jueves 5- Viernes 6- Sábado 7- Domingo. • Exprese el algoritmo usando Pseudocódigo y diagrama de flujo.
Pseudocódigo Inicio { entero día; Escribir(“Diga un número para escribir su día”); Leer(día); Caso que (día) { Caso 1: Escribe(“Lunes”); Caso 2: Escribe(“Martes”); Caso 3: Escribe(“Miércoles”); Caso 4: Escribe(“Jueves”); Caso 5: Escribe(“Viernes”); Caso 6: Escribe(“Sábado”); Caso 7: Escribe(“Domingo”); sino Escribe(“Escribió un numero fuera del rango 1-7”); } } Fin
Solución de problemas usando estructuras algorítmicas repetitivas • Ejemplo: • Construya un diagrama de flujo y pseudocódigo tal que dado como datos los sueldos de los 10 trabajadores de una empresa, obtenga el total de nómina de la misma.
Diagrama de Flujo Inicio NOMINA=0 NOMINA=0 i=1 i=1 Desde i hasta i<=10; i=i+1 Desde i hasta <=10; i=i+1 SUE SUE NOMINA=NOMINA+SUE NOMINA=NOMINA+SUE NOMINA NOMINA FIN FIN
Pseudocódigo Inicio { entero i; real NOMINA, SUE; NOMINA=0; i=1; Repetir desde i=1 hasta i<=10; i=i+1 { Escribir(“Dame Sueldo”); Leer(SUE); NOMINA=NOMINA+SUE; } Escribe(“La nomina es”, NOMINA); } Fin