Estructura Selectiva Algoritmos M S C Ivette Hernndez

  • Slides: 20
Download presentation
Estructura Selectiva Algoritmos M. S. C. Ivette Hernández Dávila

Estructura Selectiva Algoritmos M. S. C. Ivette Hernández Dávila

Estructura Condicional o Selectiva • La estructura condicional se utiliza para indicarle al computador

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

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

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

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

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 muestran en la siguiente figura:

Las representación gráfica de la estructura condicional simple se muestran en la siguiente figura: Pseudocódigo en español si (condición) entonces < acción 1> Pseudocódigo en español (varias acciones) si (condición) entonces {<acción 1> <acción 2>. . . }

Ejemplo selección simple (Si-entonces) • • Dado como dato la calificación de un alumno

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 cal >7 Si Aprobado Fin No 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

Selección Doble (Si-entonces/Si-no) • La estructura condicional de selección doble ejecuta un bloque de

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 muestran en la siguiente figura:

Las representación gráfica de la estructura condicional doble se muestran en 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

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 cal >=7 Aprobado No Reprobado Fin

Pseudocódigo ejemplo Inicio { real cal; //se declaran variables Escribe(“Dame la calificación del alumno”);

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

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 muestran en la siguiente figura:

Las representación gráfica de la estructura selección múltiple se muestran en la siguiente figura: • • En pseudocódigo: Caso que(valor) V 1: accion 1 V 2: accion 2 V 3: accion 3 V 4, V 5: accion 4. . . . Vn: accionn

Ejemplo • Dado un numero entre 1 y 7 escriba su correspondiente día de

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

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

Diagrama de Flujo

Diagrama de Flujo

Solución de problemas usando estructuras algorítmicas repetitivas • Ejemplo: • Construya un diagrama de

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 i=1 Desde i=i+1 Desde ii hasta i<=10; i=i+1 SUE

Diagrama de Flujo Inicio NOMINA=0 i=1 Desde i=i+1 Desde ii hasta i<=10; i=i+1 SUE NOMINA=NOMINA+SUE NOMINA FIN

Pseudocódigo Inicio { entero i; real NOMINA, SUE; NOMINA=0; i=1; Repetir desde i=1 hasta

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