Estructuras de control: iteración

En los algoritmos encontramos acciones que se tienen que repetir un número determinado de veces según se requiera.

add
CUAIEED

Estructuras de control: iteración

Estructuras de control: iteración

En los algoritmos encontramos acciones que se tienen que repetir un número determinado de veces según se requiera, para este tipo de iteraciones o ciclos se utilizan estructuras de control denominadas de iteración o repetición.

Cuando un conjunto de acciones deben repetirse varias veces, por ejemplo:

  • La sumatoria de calificaciones para obtener un promedio.
  • La generación de las tablas de multiplicar.
  • Calcular la potencia de un número con base en multiplicaciones.
  • Generar la boleta de calificaciones de “n” alumnos.

La iteración se utiliza cuando:

Supongamos que tenemos que repetir “n” veces de acuerdo con un número específico o bien con el cumplimiento de una condición. Para hacer algo tenemos tres opciones.

Existen tres variantes de la iteración:

Evaluación previa

La iteración con evaluación previa se da cuando la condición se evalúa antes de la ejecución de cada ciclo. Se evalúa primero la condición y si resulta verdadera se ejecutan las acciones, de lo contrario no se ejecutan dichas acciones.

Ejemplos:

  1. Mientras tengas crédito en un teléfono celular de pre-pago hacer:
    1.1 Hacer llamada.
  2. Mientras un semáforo está en verde hacer: 
    1.1 Avanzar.

Iteración con evaluación posterior (Hacer Mientras)

La iteración con evaluación posterior se da cuando la condición se evalúa después de la ejecución de cada ciclo. Se ejecutan primero las acciones asociadas al ciclo, se evalúa luego la condición y si resulta verdadera se repite el ciclo. Este tipo de estructuras se ocupa cuando se necesita que las acciones asociadas con el ciclo se realicen por lo menos una vez. 

Ejemplos: 

  • Si tu equipo fue seleccionado para participar en un torneo puede jugar con otros equipos y mientras se mantenga en los primeros lugares, puede seguir participando en el torneo.
  • Cuando recién te otorgan una tarjeta de crédito puedes utilizarla mientras tus pagos sean puntuales, de lo contrario se te cancela.

Iteración Desde - Hasta

Esta estructura de control se utiliza cuando se conoce de antemano el número de ciclos. En un ciclo de este tipo se indica el valor inicial, el valor final y el incremento o decremento. A diferencia de los otros tipos de iteración (Mientras y Hacer Mientras) no se requiere la evaluación explícita de una condición, sino que la condición está dada por el número de iteraciones indicadas previamente.

Ejemplo: Iteración para una tabla de multiplicar

La tabla de multiplicar del 12, en cada iteración cambia el número a multiplicar (variable) desde 1 a 10, en cada iteración se realiza la multiplicación del número que cambia por 12 y se da el resultado.

Iteración Variable Operación Resultado
1 1 1* 12 12
2 2 2* 12 24
3 3 3* 12 36
4 4 4* 12 48
5 5 5* 12 60
Iteración Variable Operación Resultado
6 6 6* 12 72
7 7 7* 12 84
8 8 8* 12 96
9 9 9* 12 108
10 10 10* 12 120

Contadores

Como complemento a las iteraciones, es necesario precisar la utilidad de los contadores, para el control de las mismas.

Los contadores son variables que permiten contar el número de iteraciones. Cada vez que se realiza una iteración el contador puede aumentar o disminuir su valor.

Ejemplos:

  1. Vas a la panadería y debes comprar 10 piezas. Conforme vas seleccionando mentalmente las piezas llevas un conteo de las que has tomado, y esto te permite saber cuándo detenerte. Es decir, el conteo mental que realizas te permite controlar el número de veces que realizas la acción de seleccionar y tomar una pieza de pan.
  2. Si al ejercitarte debes realizar cien abdominales, mentalmente llevas un conteo  mientras los ejecutas, así puedes saber cuántos has hecho y cuántos te faltan.
  3. También, existen contadores que disminuyen un valor. Por ejemplo, cuando se acercan las vacaciones, es común que las personas cuenten los días que faltan para éstas. Dicho conteo mental es actualizado cada día disminuyendo el número de días.

Ahora que ya conoces las estructuras de control: secuencia, selección e iteración te preguntarás ¿cuál es la mejor? o ¿cuál debes utilizar? No hay una respuesta única, depende del problema a resolver. Conforme vayas avanzando en el tema, verás que hay problemas que para resolverlos es necesario combinar estas estructuras de control.

La recomendación es que elijas la que resuelva eficazmente el problema y resulte más clara para describir tu algoritmo.

Las estructuras de control nos ayudan a construir los algoritmos, para diseñar un algoritmo ocupamos principalmente lo que es el diagrama de flujo o el pseudocódigo. En los diagramas de flujo ocupamos símbolos para representar las estructuras de control, y en el pseudocódigo ocupamos oraciones estructuradas.

Autoevaluación

A continuación se muestra el pseudocódigo que representa a las tres formas de iteración que resuelven el siguiente problema:

Problema: Se necesita obtener el monto total de la compra de 4 artículos en una tienda de conveniencia.

Ahora debes distinguir qué tipo de iteración se trata. Asocia el diagrama de flujo que le corresponde a cada estructura repetitiva que se utilizó en pseudocódigo.

Estructura repetitiva “Mientras”
Estructura repetitiva “Hacer mientras”
Estructura repetitiva “Repetir”
TOTAL DE COMPRA
Inicio
Recibe Número_de_artículos
Conteo = 0
Monto_total= 0
Mientras Conteo <= Numero_de_artículos hacer
{Recibe costo_de_articulo
Monto total= costo_de_articulo + monto_total
conteo = conteo+1
}
Despliega monto_total
Fin
TOTAL DE COMPRA
Inicio
Recibe Numero_de_articulos
Monto_total= 0
para conteo =1 hasta Numero de artículos, incrementa conteo= conteo+1
hacer
{
Recibe costo_de_articulo
Monto total= costo_de_articulo + monto_total
}
Despliega monto_total
Fin
TOTAL DE COMPRA
Inicio
Recibe Numero_de_articulos
Conteo = 0
Monto_total= 0
Hacer {
Recibe costo_de_articulo
Monto total= costo_de_articulo + monto_total
conteo = conteo+1
}mientras conteo < numero_de_articulos
Despliega monto_total
Fin