Estructuras de control condicionales Por defecto, las instrucciones de un programa se ejecutan secuencialmente:
El orden secuencial de ejecución no altera el flujo de control del programa respecto al orden de escritura de las instrucciones.
Sin emb
Fundamentos de Programación Flujo de Control I: Estructuras selectivas
El Flujo de Control de un Programa Un algoritmo puede ser construido utilizando combinaciones de tres estructuras de control de flujo estandarizadas (secuencial, selección, repetitiva o iteractiva)y una cuarta denominada, invocación o salto (jump).
2
El Flujo de Control de un Programa
La sentencias de selección son: • Si (IF) • Según –sea (SWITCH)
3
El Flujo de Control de un Programa Las sentencias de repetición o iteractivas son: • • • •
Desde (FOR) Mientras (WHILE) Hacer - mientras (DO – WHILE) Repetir – Hasta (REPEAT – UNTIL)
4
El Flujo de Control de un Programa La sentencias de salto o bifurcación: • • • • •
Romper (BREAK) Continuar (CONTINUE) Ir – a (GOTO) Volver (RETURN) Lanzar (THROW)
5
Estructura Secuencial Una estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta el final del proceso. La estructura secuencial tiene una entrada y una salida. 6
Estructuras Selectivas Las estructuras selectivas se utilizan para tomar decisiones lógicas; de ahí que se suelan denominar también estructuras de decisión o alternativas. En las estructuras selectivas se evalúa una condición y en función del resultado de la misma se realiza una opción u otra. 7
Estructuras Selectivas Las condiciones se especifican usando expresiones lógicas. La representación de una estructura selectiva se hace con palabras en pseudocódigo (if, then, else), con una figura geométrica en forma de rombo o bien un triángulo en el interior de una caja rectangular. 8
Estructuras Selectivas Las estructuras selectivas o alternativas pueden ser: • Simples • Dobles • Múltiples
9
Alternativa Simple (SI-ENTONCES / IF – THEN) La estructura alternativa simple si-entonces (en inglés if-then) ejecuta una determinada acción cuando se cumple una determinada condición
10
Alternativa Simple (SI-ENTONCES / IF – THEN) La selección si-entonces evalúa la condición y • Si la condición es verdadera, entonces ejecuta la acción SI (o acciones de caso de ser SI una acción compuesta y constar de varias acciones) • Si la condición es falsa, entonces no hace nada o ejecuta las acciones NO 11
Alternativa Múltiple (SEGÚN – SEA / CASO DE / CASE Con frecuencia es necesario que exista más de dos elecciones posibles. La estructura de decisión múltiple evaluará una expresión que podrá tomar n valores distintos, 1, 2,…n. Según se elija uno de estos valores en lña condición, se realizará una de las n acciones, o lo que es igual, el flujo del algoritmo seguirá un determinado camino entre los n posibles. 12
Estructuras de Decisión anidadas (en escalera) Las estructuras de selección si-entonces y si-entonces-si no implican la selección de una de dos alternativas. Es posible también utilizar la instrucción si para diseñar estrcuturas de selección que contengan más de dos alternativas.
13
La sentencia IR – A (GOTO) El flujo de control de un algoritmo es siempre secuencial, excepto cuando la estructuras de control estudiadas anteriormente realizan transferencias de control no secuenciales. No es recomendable utilizar en demasía esta sentencia.
14
Preguntas de Repaso 1. Leer dos números y deducir si están en orden creciente. 2. Determinar el precio del billete de ida y vuelta en ferrocarril, conociendo la distancia a recorrer y sabiendo que si el número de días de estancia es superior a 7 y la distacia siperior a 800 km el billete tiene una reducción del 30%. El precio por km es de 2.5 dólares. 15
Preguntas de Repaso 3. Los empleados de una fabrica trabajan en dos turnos: diurno y nocturno. Se desea colocar el jornal diario de acuerdo con los soguientes puntos: * La tarifa de hora diurnas es de $500 * La tarifa de hora nocturnas es de $800 * En caso de ser domingo, la tarifa se incrementará en $200 el turno diurno y $300 el turno nocturno. 16
Preguntas de Repaso 4. Construir un algoritmo que escriba los nombres de los días de la semana, en función de la entrada correspondiente a la variable DIA 5. Escribir los diferentes métodos de deducir si una variable o expresión numérica es par.