Está en la página 1de 9

Unidad 4 control de flujo

El modo de ejecucin de un programa en ausencia de elementos de control de flujo es secuencial,


es decir una instruccin se ejecuta detrs de otra y slo se ejecuta una vez. Esto limita la
capacidad de los programas, por lo cual se utilizan instrucciones de control de flujo.
As mismo, en ms de una ocasin necesitaremos ejecutar un conjunto de sentencias un nmero
determinado de veces, o bien hasta que se cumpla una condicin impuesta por nosotros.
Estructuras secuenciales
La estructura secuencial es aquella en la que una accin (instruccin) 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 fin del proceso.

Estructuras selectivas:
Estructura simple
La especificacin formal de algoritmos tiene realmente utilidad cuando el algoritmo requiere una
descripcin ms complicada que una lista sencilla de instrucciones. Este es el caso cuando existen
un nmero de posibles alternativas resultantes de la evaluacin de una determinada condicin.
Estas estructuras se identifican porque en la fase de solucin del problema existe algn punto en el
cual es necesario establecer una pregunta, para decidir si ciertas acciones deben realizarse o no.
Las condiciones se especifican usando expresiones lgicas. La representacin de una estructura
selectiva se hace con palabras en pseudocdigo (if - then - else o en espaol si - entonces - sino) y
en el diagrama de flujo con una figura geomtrica en forma de rombo.
Las estructuras selectivas o alternativas se clasifican en:
a) Simples
b) Dobles
c) Compuestas
d) Mltiples
ESTRUCTURAS SELECTIVAS SIMPLES
Se identifican porque estn compuestos nicamente de una condicin. La estructura si - entonces
evala la condicin y en tal caso:
Si la condicin es verdadera, entonces ejecuta la accin Si (o acciones si son varias).
Si la condicin es falsa, entonces no se hace nada.
Espaol
Ingls
Si <condicin>
If <condicin>
Entonces
then
<accin Si>
<accin Si>
fin_si
endif

Ejemplo 1.
Construir un algoritmo tal, que dado como dato la calificacin de un alumno en un examen, escriba
"Aprobado" en caso que esa calificacin fuese mayor que 8.
Salidas: mensaje de aprobado si se cumple la condicin.
Entradas: calificacin
Datos adicionales: un alumno aprueba si la calificacin es mayor que 8
Variables:
Cal = calificacin
Algoritmo:
Inicio
Leer (cal)
Si cal > 8 entonces
Escribir ("aprobado")
Fin_si
Fin

ESTRUCTURAS SELECTIVAS DOBLES


Son estructuras lgicas que permiten controlar la ejecucin de varias acciones y se utilizan cuando
se tienen dos opciones de accin, por la naturaleza de estas se debe ejecutar una o la otra, pero
no ambas a la vez, es decir, son mutuamente excluyentes.
Espaol
Ingls
Si <condicin> entonces
If <condicin> then

<accin S1>
sino
<accin S2>
Fin_Si

<accin S1>
else
<accin S2>
End_if

Entonces, si una condicin C es verdadera, se ejecuta la accin S1 y si es falsa, se ejecuta la


accin S2.

Ejemplo 1

Dado como dato la calificacin de un alumno en un examen, escriba "aprobado" si su calificacin


es mayor que 8 y "Reprobado" en caso contrario.
Algoritmo:
Inicio
Leer (cal)
Si cal > 8 entonces
Escribir ("aprobado")
Sino
Escribir ("reprobado")
Fin_si
Fin

ESTRUCTURAS SELECTIVAS MLTIPLES


Con frecuencia es necesario que existan ms de dos elecciones posibles. Este problema se podra
resolver por estructuras selectivas simples o dobles, anidadas o en cascada, pero si el nmero de
alternativas es grande puede plantear serios problemas de escritura y de legibilidad.
Usando la estructura de decisin mltiple se evaluar una expresin que podr tomar n valores
distintos, 1, 2 , 3, ....,n y segn que elija uno de estos valores en la condicin, se realizar una de
las n acciones o lo que es igual, el flujo del algoritmo seguir slo un determinado camino entre los
n posibles.
Esta estructura se representa por un selector el cual si toma el valor 1 ejecutar la accin 1, si
toma el valor 2 ejecutar la accin 2, si toma el valor N realizar la accin N.
Ejemplo 1:
Disear un algoritmo tal que dados como datos dos variables de tipo entero, obtenga el resultado
de la siguiente funcin:

Estructuras iterativas
Son operaciones que se deben ejecutar un nmero repetido de veces. El conjunto de instrucciones
que se ejecuta repetidamente cierto nmero de veces, se llama Ciclo, Bucle o Lazo.
Iteracin es cada una de las diferentes pasadas o ejecuciones de todas las instrucciones
contenidas en el bucle.
Fases de un Programa Cclico :

1. Entrada de datos e instrucciones previas


2. Lazo o bucle
3. Instrucciones finales o resto del proceso
4. Salida de resultado.
Desde:
Los valores inicial y final de la variable de control se determinan antes de que empiece la repeticin
y no pueden cambiarse durante la ejecucin de la instruccin Desde. Dentro del cuerpo del bucle
Desde, los valores de las variables que especifican los valores inicial y final pueden cambiar, pero
esto no va a afectar al nmero de repeticiones. La instruccin del cuerpo del bucle de una
instruccin Desde puede utilizar el valor de la variable de control, pero no debe modificar este valor.
Esta estructura se puede usar nicamente en aquellos casos en que conocemos el nmero de
veces que se va a realizar el ciclo.
Esta estructura hace el incremento automticamente y se inicializa en la instruccin desde.
Mientras

Se llama Mientras a la estructura algortmica que se ejecuta mientras la condicin evaluada resulte
verdadera. Se evala la expresin booleana y, si es cierta, se ejecuta la instruccin especificada,
llamada el cuerpo del bucle. Entonces se vuelve a evaluar la expresin booleana, y si todava es
cierta se ejecuta de nuevo el cuerpo. Este proceso de evaluacin de la expresin booleana y
ejecucin del cuerpo se repite mientras la expresin sea cierta.
Cuando se hace falsa, finaliza la repeticin. En la leccin anterior iniciamos con las estructuras
repetitivas. La estructura While y la estructura Repeat, se conocen como Iterativas. Se usan
cuando no se conoce con anticipacin el nmero de veces que se ejecutar la accin.
La diferencia entre ambas es que la condicin se sita al principio (Mientras) o al final (Repetir) de
la secuencia de instrucciones. Entonces, en el primero, el bucle contina mientras la condicin es
verdadera (la cual se comprueba antes de ejecutar la accin) y en el segundo, el bucle contina
hasta que la condicin se hace verdadera (la condicin se comprueba despus de ejecutar la
accin, es decir, se ejecutar al menos una vez).
La estructura Desde/Para suele utilizarse cuando se conoce con anterioridad el nmero de veces
que se ejecutar la accin y se le conoce como Estructura Repetitiva en lugar de iterativa, para
diferenciarla de las dos anteriores.
Las estructuras Mientras y Para/Desde suelen en ciertos casos, no realizar ninguna iteracin en el
bucle, mientras que Repetir ejecutar el bucle al menos una vez.
Existe otro caso de estructura conocida como Salto (Goto), la cual no es muy recomendable de
usar ya que su uso dificulta la legibilidad de un programa y tiende a confundir por el hecho de
recurrir a numerosas etiquetas o nmeros de lnea.

En el diagrama de flujo se observa que se necesita una variable contadora (un ndice), para llevar
la cuenta de las veces que entramos al cuerpo del ciclo. Tambin es importante notar que esta
variable se inicializa antes de entrar al cuerpo del ciclo y dentro del cuerpo se incrementa en una
cantidad constante, por lo general en uno.
Esta variable a la vez, nos sirve para compararla con el valor dado en la condicin, cuando se
cumple la condicin, se sale del ciclo.
Pseudocdigo:
Espaol
Ingls

Mientras <condicin>
Acciones
Fin_mientras

While <condicin> do
Acciones
end_while

EJEMPLO:
Calcular la suma de los cuadrados de los primeros 100 nmeros enteros y escribir el resultado.
Solucin.

Diseo e implementacin de funciones

INTERRUPTORES
Un interruptor o conmutador (switch) es una variable que puede tomar diversos valores a lo largo
de la ejecucin de un programa y que permite comunicar informacin de un a parte a otra del
mismo. Los interruptores pueden tomar dos valores diferentes, 0 y 1.
repetir mientras, hasta, desde
Estructura Desde/Para:
Se usa frecuentemente cuando se conoce de antemano el nmero de veces que se ejecutarn las
acciones de un bucle. Esta es una de sus caractersticas.

Espaol
Ingls
Desde var = valor inicial hasta valor final hacer
For var=valor inicial to valor final do
Acciones
Acciones
Fin_desde
end_for
A la estructura Desde/Para se le conoce como Repetitiva. Para utilizar esta estructura en
algoritmos, debemos hacer uso de contadores y algunas veces de acumuladores, cuyos conceptos
se describen a continuacin:
CONTADORES

Los procesos repetitivos son la base del uso de las computadoras. En estos procesos se necesitan
normalmente contar los sucesos o acciones internas del bucle, como poder ser los elementos de
un archivo, el nmero de iteraciones a realizar por el bucle, etc. Una forma de controlar un bucle es
mediante un contador.
Un contador es una variable cuyo valor se incrementa o decrementa en una cantidad constante en
cada iteracin.

Insertar contador

<nombre del contador> = <nombre del contador> + <valor constante>


Si en vez de incremento es decremento se coloca un menos en lugar del ms.
Ejemplo: i = i + 1
ACUMULADOR.

Un acumulador o totalizador es una variable cuya misin es almacenar cantidades variables


resultantes de sumas sucesivas. Realiza la misma funcin que un contador con la diferencia de

que el incremento o decremento de cada suma es variable en lugar de constante.


Se representa por la instruccin S S+N, donde N es una variable y no una constante.

Referencias
http://programacionitmaii.blogspot.mx/p/unidad-4.html