Estructuras de Control
-
Upload
alfonso-morales -
Category
Documents
-
view
218 -
download
2
description
Transcript of Estructuras de Control
UNIVERSIDAD ALBERT EINSTEINMaterial Didáctico preparado para los estudiantes de Introducción a la Computación ciclo 002/2011
En esta dirección puede encontrar bastante información sobre los diagramas de flujo
http://mis-algoritmos.com/aprenda-a-crear-diagramas-de-flujo
Estructuras de control
En un programa estructurado el flujo lógico se gobierna por las estructuras de control bàsicas:
1. Secuénciales 2. Repetitivas
3. Selección
ESTRUCTURA SECUENCIAL
Una estructura secuencial es aquella en que la acción (instrucción) sigue a otra en secuencia. Las tareas se suceden de tal forma que la salida de una es la entrada de la siguiente y así sucesivamente hasta el final del proceso
Ejemplo
Calculo de la suma y producto de dos números
Pseudo código
Inicio
Leer A
Leer B
S = A+B
P = A * B
Imprimir la Suma es : S
Imprimir el Producto es: P
Fin
Diagrama N/S Flujograma
Inicio Leer A
1
Inicio
Leer ALeer B
UNIVERSIDAD ALBERT EINSTEINMaterial Didáctico preparado para los estudiantes de Introducción a la Computación ciclo 002/2011 Leer B S = A + B P = A * B Imprimir "La suma es" : S Imprimir "El producto es: " PFin
ESTRUCTURAS SELECTIVAS
Las estructuras selectivas o alternativas pueden ser:
Simples Dobles
Múltiples
Alternativa Simple
La estructura alternativas si – entonces ( en Ingles if – then) ejecuta una determinada acción cuando se cumple una determinada condición. La selección si – entonces evalúa la condición y si la condición es verdadera, entonces ejecuta la acción (o acciones) si , caso contrario no hace nada
Ejemplo
Calcular el valor de X, si el discriminante es positivo, caso contrario no hacer nada X = -b +-
2A
Pseudo código en Castellano Pseudo código en Ingles
Variables A, B, C, D, X1, X2 Variables A, B, C, D, X1, X2
Inicio Inicio
Leer los valores de A, B, C Leer los valores de A, B, C
D = B2-4*A*C D = B2-4*A*C
Si ( D > 0) entonces if ( D > 0) entonces
X1 = -b/2A- (D^(1/2))/2A X1 = -b/2A- (D^(1/2))/2A
cX1 = -b/2A+ (D^(1/2)/2A X2 = -b/2A+ (D^(1/2)/2A
Escribir X1, X2 Escribir X1, X2Fin Fin
Diagrama N/S
Inicio
2
B2-4AC
S = A + BP = A * B
Escribir S, P
Fin
UNIVERSIDAD ALBERT EINSTEINMaterial Didáctico preparado para los estudiantes de Introducción a la Computación ciclo 002/2011 Leer A Leer B Leer C D = B2-4*A*C
X1 = -b/2A- (D^(1/2)/2A
X1 = -b/2A+ (D^(1/2)/2A
Fin
FLUJOGRAMA
Alternativa Doble (si entonces – sino / if – then-else
La estructura anterior es muy limitada y normalmente se necesitará una estructura que permita elegir entre dos opciones o alternativas posibles en función del cumplimiento o no de una determinada condición Si una determinada condición es Verdadera, se ejecuta una acción y, si es falsa, se ejecuta otra acción.
3
D >0
si
X1 = -b/2A- (D^(1/2))/2A
X2 = -b/2A + (D^(1/2))/2A
F I N
No
D > 0
Inicio
Leer A, B, C
D =B^2 - 4*A*C
UNIVERSIDAD ALBERT EINSTEINMaterial Didáctico preparado para los estudiantes de Introducción a la Computación ciclo 002/2011
Ejemplo
Resolución de la ecuación ax + b = 0, a y b son los datos, y las posibles soluciones son:
a < > 0 x= -b/a a = 0 b < > 0 entonces “solución imposible” a= 0 b = 0 entonces “solución indeterminada”
Pseudocodigo Flujograma
Inicio
Leer a , b
si a < > 0 entonces
x = b/a
Imprimir x si
sino no
si b < > 0 entonces
Escribir “Solución Imposible”
sino
Escribir “ Solución Indeterminada”
Fin
Diagrama N/S
4
Inicio
Leer a, b
a < > 0
x = b/ a
b < > 0Escribir x
Solución Imposible
”
no
si
Solución Indeterminada
Fin
UNIVERSIDAD ALBERT EINSTEINMaterial Didáctico preparado para los estudiantes de Introducción a la Computación ciclo 002/2011
Alternativa Multiple (según sea, caso de/case)
Algunas veces es necesario que ocurran más de dos elecciones posibles (por ejemplo en la resolución de la ecuación de segundo grado existen tres posibles alternativas a seguir, según que el discriminante sea negativo, nulo o cero) Esta instrucción nos permite evaluar una variable entre sus posibles valores para ejecutar comandos de acuerdo al valor de la variable. La estructura de decisión múltiple evaluará una expresión que podrá tomar n valores distintos: 1, 2, 3 …..n Según que elija uno de estos valores en la condición, se realizará una de las n acciones. La sintaxis es de la siguiente forma:
Sentencia switch (C, C++, Java, C#)
Switch (expresión){case valor1: sentencia1; sentencia2; sentencia3;
**
break;case valor 2: sentencia1; sentencia2; sentencia3;
**
break;**
default: sentencia1; sentencia2; sentencia3;
...} // fin de la sentencia compuesta
Ejemplo.
Se introduce un número de mes y se desea saber si el mes tiene 28, 30 o 31 días. También se desea solicitar al usuario deducir si el año introducido es bisiesto o no.
5
UNIVERSIDAD ALBERT EINSTEINMaterial Didáctico preparado para los estudiantes de Introducción a la Computación ciclo 002/2011
PseudocódigoInicio
Introduzca un numero entre 1 y 12: Leer mesIf (mes <1 or mes >12)
Imprimir “El número de mes no es válido”sino
switch (mes)case 4:case 6:case 9:case 11:
Imprimir “el numero de días es 30”;break;
case 2:Leer numero de año(XXXX): AIf (Amod 4 <> 0) entonces
Imprimir “ El número de días es 28”Else if ((A mod100 = = 0) and (Amod 400 <>0))
Imprimir “El numero de días es 28”Else
Imprimir “El numero de días es 29)Break;
Default:Imprimir “ El numero de días es 31”
Fin
En lugar de deaful: también se puede escribir case 1: case 3 case5: case 7: case 8: case 10: case12: , siendo estos los meses de 31 días.
Diagrama N/S
6
UNIVERSIDAD ALBERT EINSTEINMaterial Didáctico preparado para los estudiantes de Introducción a la Computación ciclo 002/2011
7