ESTRUCTURAS DE CONTROL.-Las estructuras de control repetitivas, son aquellas que permiten ejecutar un conjunto de instrucciones varias veces, de acuerdo al valor que genere la expresión relacional y/o lógica. Esto significa que una instrucción condicional repetitiva permite saltar a una instrucción anterior para volver a ejecutarla, a las estas estructuras se les conoce también como ciclos o bucles, por su funcionamiento
Estructuras repetitivas/iterativas tenemos las siguientes:
El bucle while
El bucle for
El bucle do…while
Bucles anidados
Las instrucciones tienen el mismo fin, y difieren únicamente en su sintaxis, siendo posible sustituir una solución en la que se utiliza "while", por una en la que se utiliza "do-while" o "for".
En los diagramas de flujo, un ciclo se representa de la siguiente manera:
Empezaremos por la Estructura WHILE.-
En la imagen se puede observar que las líneas de flujo, indican el orden a seguir y según el valor de la condición, continuará ejecutándose el mismo conjunto de instrucciones o saldrá del ciclo. Entre las tres instrucciones hay pequeñas variaciones de representación gráfica que serán detalladas en la explicación de uso de cada una de ellas.
LA CONDICIÓN.- es el requisito que debe cumplirse para que se ejecuten los ciclos de instrucciones que se encuentran dentro del bucle repetitivo, en WHILE, si la condición no deja de cumplirse se producirá un bucle infinito y eso es un problema grave que tendremos que evitar a toda costa, a no ser que la lógica del programa lo necesite. Por eso en el bloque de instrucciones tiene que haber un punto de inflexión donde cambie el valor de la condición. En nuestro caso aumentamos y disminuimos la variable numero sabiendo que en algún momento dejará de cumplirse las condiciones.
Las estructuras de control repetitivas utilizan dos tipos de variables: Contadores y Acumuladores.
QUÉ ES UN CONTADOR?.- es una variable de tipo entero, que incrementa o decrementa su valor de forma CONSTANTE y requiere ser inicializada generalmente en 0 o 1, aunque en realidad depende del problema que se está resolviendo. Como su nombre lo indica se utilizan en la mayoría de veces para contar el número de veces que se ejecuta una acción, o para contar el número de veces que se cumple una condición (expresión relacional/lógica).
La variable que cumple el rol de contador, aparece tanto a la izquierda como a la derecha, por la propiedad destructiva de la asignación; así tomará el valor anterior, le adicionará o reducirá el valor constante y asignará el nuevo valor.
Es una variable numérica, que incrementa o decrementa su valor de forma NO CONSTANTE y requiere ser inicializada. Como su nombre lo indica se utilizan para acumular valores en una sola variable, ya sea de suma o producto. Por lo tanto existen dos modos de inicialización:
QUÉ ES UN ACUMULADOR?.-
- Para Suma: Inicializar en 0
- Para Producto: Inicializar en 1
Esto con el objetivo de no alterar los valores de las respectivas operaciones.
EJEMPLOS:
Contador y Acumulador:
ESTRUCTURA HACER - MIENTRAS (DO-WHILE)
El bucle hacer-mientras al igual que el
bucle desde/para que se verá con posterioridad, evalúan la expresión al
comienzo del bucle de repetición; siempre se utilizan para crear bucle
pre-test. Los bucles pre-test se denominan también bucles controlados por la
entrada.
En numerosas ocasiones, se necesita que
el conjunto de sentencias que componen el cuerpo del bucle, se ejecuten al
menos una vez, sin importar el valor de la expresión o condición de evaluación.
Estos bucles se denominan bucles
post-test o bucles controlados por la salida. Un caso típico es el bucle
hacer-mientras (do-while) existente en lenguajes como C/C++, Java o C#.
El bucle hacer-mientras es análogo al
bucle mientras, y el cuerpo del bucle se ejecuta una y otra vez mientras la
condición (expresión booleana) sea verdadera. Existe, sin embargo, una gran
diferencia y es que el cuerpo del bucle está encerrado entre las palabras
reservadas hacer y mientras. Todas las sentencias en el interior del bucle se
ejecutan al menos una vez antes de que la expresión o condición se evalúe.
Entonces, si la expresión es verdadera las sentencias del cuerpo del bucle se
ejecutan una vez más. El proceso continúa hasta que la expresión evaluada toma
el valor falso.
El diagrama de control del flujo se
ilustra en la Figura 6.1, donde se muestra el funcionamiento de la sentencia
hacer mientras (Joyanes Aguilar, 2008, pág. 166).
Figura 6.1. Estructura hacer-mientras:
diagrama de flujo.
Ejemplos
de diagramas de flujo de algoritmos, usando la estructura hacer-mientras:
Ejemplo 1
Calcula la suma de 10 números ingresados
por teclado.
Ejemplo 2
Genera la serie Fibonacci, después de
ingresar por teclado el número de términos deseado
DIAGRAMAS DE FLUJO
ESTRUCTURA REPETITIVA DESDE/ PARA - BUCLE FOR
En muchas ocasiones, se conoce de antemano el número de veces que se desean ejecutar las acciones de un bucle. En estos casos, cuando el número de iteraciones es fijo, se debe usar la estructura desde o para (for, en inglés). La estructura desde ejecuta las acciones del cuerpo del bucle un número especificado de veces y de modo automático controla el número de iteraciones o pasos, a través del cuerpo del bucle. Es posible representar el bucle con símbolos propios.
Figura 7.1. Modelo 1 Figura 7.2. Modelo 2
Asimismo, como este otro símbolo.
Realizar diagramas de flujo de los siguientes algoritmos, usando la estructura desde/para ("for")
Ejemplo 1: Calcular la factorial de un número ingresado por teclado.
Ejemplo 2: Verificar si un número ingresado por teclado pertenece a los números primos.
BUCLE FOR
Comentarios
Publicar un comentario