Para: Estructura de control repetitiva

La estructura de control repetitivaPara” o bucle “Para/Desde” (conocida en inglés como for), es una estructura de control que permite ejecutar un bloque de código un número determinado de veces (N veces) y para ello hace uso de un contador el cual es (1) inicializado, (2) evaluado en una condición e (3) incrementado o decrementado asegurando de esta forma un control preciso sobre las repeticiones.

Sintaxis del bucle Para

La sintaxis tiende a variar según la herramienta o lenguaje de programación utilizado. Esto se debe a las diferencias en las reglas y convenciones de cada uno. A pesar de estas variaciones, es posible establecer una sintaxis general que sirva como guía básica para comprenderla en términos generales:

Los elementos de la sintaxis:

  • Para: Palabra clave que indica el inicio de la estructura repetitiva “Para”.
  • i <- <valor_inicial>: Inicializa la variable i con un valor_inicial. La variable i se suele llamar índice o variable de control.
  • Hasta <valor_final>: Establece la condición para continuar el bucle hasta alcanzar el valor_final.
  • Con Paso <paso>: Especifica el incremento o decremento en cada iteración.
  • <instruccion 1>, <instruccion 2>, …,  iteración<instruccion N>: Son las instrucciones que se repetirán en cada iteración.
  • FinPara: Marca el final del bucle “Para”

Es importante tener en cuenta que el operador “<-” es el operador de asignación que permite asignar el valor que está a la derecha del operador a la variable que se encuentra a la izquierda. Por otro lado, en otros lenguajes de programación, se utiliza el operador “=” como el operador de asignación.

También existe una versión simplificada de la estructura repetitiva “Para/Desde“:

Debido a que esta estructura también se llama Desde, se suele encontrar la sintaxis de la siguiente manera:

Funcionamiento

  1. Inicialización: Se inicia la variable i con un valor inicial. En algoritmos suele ser 1 (uno) y en programación se suele usar 0 (cero).
  2. Condición de Término: Antes de ejecutar el bucle, se verifica si se cumple la condición de término (Hasta <valor_final>). Si la condición ya es falsa desde el principio, el bucle no se ejecuta.
  3. Ejecución del Cuerpo del Bucle: Se ejecutan las instrucciones contenidas en el cuerpo del bucle (<instruccion 1>, <instruccion 2>, …, <instruccion N>).
  4. Actualización de la Variable de Control: La variable de control (i) se actualiza según el paso especificado (Con Paso <paso>). En otras palabras, el <paso> indica de cuanto en cuanto irá incrementándose la variable i. El caso más común consiste en que el paso sea 1, es decir, cuando en cada iteración se incrementa el valor de i de 1 en 1.
  5. Repetición: Se vuelve a verificar la condición de término. Si aún se cumple, el bucle continúa ejecutándose; de lo contrario, se sale del bucle.
  6. Iteraciones Sucesivas: Se repite el proceso, ejecutando nuevamente el cuerpo del bucle, actualizando la variable de control y verificando la condición de término.
  7. Finalización: El bucle se ejecuta hasta que la condición de término ya no se cumple. En ese momento, el control se transfiere fuera del bucle.

Representación de la estructura repetitiva Para

La estructura “Para/Desde” se puede representar de diversas formas. Entre ellas se incluyen los diagramas de flujo, pseudocódigo, lenguajes de programación y diagramas Nassi-Shneiderman (N-S), entre otros.

Diagrama de flujo

para - diagrama de flujo
Diagrama de flujo del bucle "Para"

En la imagen se observa la representación mediante un diagrama de flujo de una estructura de control repetitiva “Para/Desde“.

Pseudocódigo

En español

En inglés

Diagrama N-S

para - diagram ns
Diagrama N-S del bucle "Para"

Características del bucle Para

  1. Ejecución previa a la evaluación: Este bucle primero ejecuta y luego pregunta, repitiendo este proceso varias veces.
  2. Flexibilidad en el número de iteraciones: Se utiliza comúnmente cuando no se conoce de antemano el número exacto de veces que debe repetirse un conjunto de instrucciones, en otras palabras, cuando la cantidad de iteraciones es desconocida.
  3. Garantía de ejecución mínima: Este bucle se distingue de otros, como el bucle “Mientras”, porque su condición se evalúa al final. Esto asegura que el cuerpo del bucle se ejecute al menos una vez, lo cual es importante en escenarios donde al menos una iteración es requerida.
  4. Posibilidad de bucles infinitos: Para prevenir bucles infinitos, es decir, aquellos que se repiten indefinidamente, es importante incluir instrucciones dentro del cuerpo del bucle que alteren las variables evaluadas en la condición. Esto garantiza que, en algún momento, la condición se vuelva verdadera y el bucle se detenga.

Otros nombres de la estructura "Para"

En la literatura, esta estructura es identificada con varios nombres, dependiendo del contexto y del lenguaje de programación utilizado.

  • Bucle Desde
  • Ciclo Desde
  • Bucle for
  • Bucle basado en índice
  • Bucle con número de repeticiones preestablecido
  • For loop

Usos frecuentes de la estructura "Para"

La estructura repetitiva “Para” se utiliza en una variedad de situaciones y tiene varios usos comunes. Aquí tienes algunas aplicaciones y consideraciones:

Generación de Secuencias Numéricas: 

Permite generar secuencias numéricas con incrementos específicos para diversas aplicaciones.

Ejemplo 1: Imprima los 10 primeros números naturales

				
					Proceso Secuencia
	Para i <- 1 Hasta 10 Con Paso 1 Hacer
		Escribir i
	FinPara
FinProceso

				
			
bucle for ejemplo 1 ejecución
Ejecución del ejemplo 1 en Pseint

Recorrido de arreglos (arrays):

El bucle Para se emplea para iterar a través de los elementos de un arreglo, simplificando tareas como la lectura, realización de operaciones y escritura de datos.”

Si el concepto de arreglos o arrays te resulta desconocido, ¡no te preocupes! dentro de poco publicaré un artículo detallado explicándolo paso a paso. Mientras tanto, también puedes buscar recursos en internet que aborden este tema. Por ahora, piensa en un array como una variable especial que puede almacenar múltiples valores bajo un solo nombre. Cada valor dentro del array está ubicado en una posición específica, que se identifica mediante un índice. En algoritmos se suele empezar a indexar desde 1 en adelante (pos 1, pos 2, pos 3, …), mientras que en los lenguajes de programación es desde 0.

Ejemplo 2: Declare un arreglo de tamaño 5, luego recórralo y llénelo. Después duplique el valor de cada uno de sus elementos y finalmente vuelva a imprimir sus valores finales.

				
					Proceso RecorridoDeArreglo
	Dimension arreglo[5]
	Definir i Como Entero
	
	// Recorrido e ingreso de valores
	Para i <- 1 Hasta 5 Con Paso 1 Hacer
		Escribir "arreglo[", i, "] = "
		Leer arreglo[i]
	FinPara
	
	// Recorrido y operaciones
	Para i <- 1 Hasta 5 Con Paso 1 Hacer
		arreglo[i] <- arreglo[i] * 2
	FinPara
	
	// Recorrido y salida de datos
	Para i <- 1 Hasta 5 Con Paso 1 Hacer
		Escribir "arreglo[", i, "] = ", arreglo[i]
	FinPara
FinProceso

				
			
bucle for ejemplo 2 recorrido
Ejecución del ejemplo 2 en Pseint

Iteraciones Controladas:

Realizar un número específico de iteraciones controladas por una condición.

Ejemplo 3: Mostrar los números pares que se encuentran desde 1 hasta 20

				
					Proceso Secuencia
	
	Para i <- 1 Hasta 20 Con Paso 1 Hacer
		Si i % 2 == 0 Entonces
			Escribir i, " es par"
		FinSi
	FinPara

FinProceso


				
			
bucle para ejemplo 3 interación controlada
Ejecución del ejemplo 3 en Pseint

Ejercicios resueltos

En el enlace a continuación, encontrarás la aplicación práctica de la estructura repetitiva “Para” mediante ejercicios resueltos.

Ejercicios con estructura repetitiva Para/Desde – Algoritmos en Pseint

Bucle en algoritmos y programación: Estructura de control repetitiva

Los bucles, también conocidos como estructuras de control repetitivas, son herramientas fundamentales en algoritmos y programación ya que son estructuras de control de flujo que permiten la ejecución repetida de un conjunto de instrucciones basándose en una condición dada.

Los bucles también son denominados ciclos o estructuras de repetición y son un tipo de estructura de control junto con las estructuras de control secuenciales y condicionales.

mapa conceptual - estructuras de control repetitivas
Clasificación de las estructuras de control repetitivas

Otros nombres de las estructuras repetitivas

  • Estructuras de control repetitivas
  • Bucles
  • Ciclos
  • Estructuras iterativas
  • Estructuras cíclicas
  • Estructuras de repetición
  • Ciclos de programación
  • Bucles de repetición
  • Instrucciones de control repetitivas

Conceptos básicos

Es importante conocer los siguientes conceptos, ya que se encuentran frecuentemente en el estudio de los bucles.

  • Estructuras de Control: Mecanismos en programación que permiten controlar el flujo de ejecución de un código. Se utilizan para ejecutar instrucciones en un orden específico (secuenciales), tomar decisiones (condicionales) y para repetir instrucciones (repetitivas).
  • Estructura de control repetitiva: Estructura de control que repite un bloque de código mientras se cumpla una condición (o hasta que una condición deje de cumplirse). Se le suele llamar bucle o ciclo.
  • Condición: Es una expresión booleana que se evalúa como verdadera o falsa y que controla el flujo en las estructuras de control.
    • Ejemplo: En Si edad >= 18 Entonces, la expresión edad >= 18 es la condición.
  • Repetición o Iteración: Cada una de las repeticiones de un bloque de código que se encuentra dentro de un bucle.
    • Ejemplo: En un bucle que se repite 10 veces, cada repetición (1, 2, 3, 4, …., 10) representa una iteración.

Tipos de bucles (estructuras de control repetitivas)

En algoritmos y programación nos solemos encontrar con los siguientes tipos de bucles:

  1. Bucle “Mientras” (while).
  2. Bucle “Repetir – Mientras que” (do – while).
  3. Bucle “Repetir – Hasta que” (repeat – until).
  4. Bucle “Para o Desde” (for).

1. Estructura repetitiva "Mientras" (while)

El bucle “Mientras” repite un bloque de código mientras una condición dada sea verdadera. Se evalúa la condición antes de ejecutar el bloque de código, y si la condición es falsa desde el principio, el bloque no se ejecutará.

Sintaxis

				
					Mientras <condicion> Hacer
	<instruccion 1>
	<instruccion 2>
	...
	<instruccion N>
Fin Mientras
				
			

Ejemplo 1: Se muestra a continuación el uso del bucle “Mientras” para imprimir los 5 primeros números naturales. Se está usando Pseint como herramienta.

				
					Proceso Bucle_mientras
	// Declaración de variables
    Definir contador Como Entero
	
    // Inicialización de variables
    contador <- 1
	
    // Bucle "Mientras" que imprime los primeros 5 números
    Mientras contador <= 5 Hacer
        Escribir contador
        contador <- contador + 1
    Fin Mientras
FinProceso

				
			

En la siguiente imagen se muestra la ejecución en Pseint del ejemplo.

Ejecución del bucle "Mientras" en Pseint

Para profundizar más sobre el bucle “Mientras”, puedes visitar este enlace:

Mientras: Estructura de control repetitiva

2. Estructura repetitiva "Repetir - Mientras que" (do - while)

El bucle “Repetir – Mientrasejecuta un bloque de código al menos una vez y luego repite mientras una condición sea verdadera. La condición se evalúa después de la primera ejecución, asegurando que el bloque se ejecute al menos una vez. Otro nombre con que se le conoce a este tipo de bucle es “Hacer – Mientras que

Sintaxis

				
					Repetir
	<instruccion 1>
	<instruccion 2>
	...
	<instruccion N>
Mientras que <condicion>
				
			

Ejemplo 2: Se muestra a continuación el uso del bucle “Repetir – Mientras que” para imprimir los 5 primeros números naturales. Se está usando Pseint como herramienta.

				
					Proceso Bucle_hacer_mientras
	// Declaración de variables
    Definir contador Como Entero
	
    // Inicialización de variables
    contador <- 1
	
	// Bucle "Repetir - Mientras que" que imprime los primeros 5 números
	Repetir
		Escribir contador
		contador <- contador + 1
	Mientras que contador <= 5
FinProceso

				
			

En la siguiente imagen se muestra la ejecución en Pseint del ejemplo.

Ejecución del bucle Repetir - Mientras que en Pseint
Ejecución del bucle "Repetir - Mientras que" en Pseint

3. Estructura repetitiva "Repetir - Hasta que" (repeat - until)

El bucle “Repetir – Hasta que” ejecuta un bloque de código repetidamente hasta que una condición específica se cumple. A diferencia de “Mientras”, el bloque se ejecutará al menos una vez, ya que la condición se evalúa después de la primera ejecución.

Sintaxis

				
					Repetir
	<instruccion 1>
	<instruccion 2>
	...
	<instruccion N>
Hasta que <condicion>
				
			

Ejemplo 3: Se muestra a continuación el uso del bucle “Repetir – Hasta que” para imprimir los 5 primeros números naturales. Se está usando Pseint como herramienta.

				
					Proceso Bucle_repetir_hasta
	// Declaración de variables
    Definir contador Como Entero
	
    // Inicialización de variables
    contador <- 1
	
	// Bucle "Repetir - Hasta que" que imprime los primeros 5 números
	Repetir
		Escribir contador
		contador <- contador + 1
	Hasta Que contador > 5
FinProceso

				
			

En la siguiente imagen se muestra la ejecución en Pseint del ejemplo.

Ejecución del bucle "Repetir - Hasta que" en Pseint
Ejecución del bucle "Repetir - Hasta que" en Pseint

Si buscas más información sobre el bucle ‘Repetir – Hasta que’, te recomiendo visitar este enlace:

Repetir – Hasta que: Estructura de control repetitiva

4. Estructura repetitiva "Para" o "Desde" (for)

El bucle “Para“, es también llamado bucle “Desde” y es ideal para ejecutar un bloque de código un número específico de veces (N veces). Se especifica una inicialización, una condición y un incremento o decremento, garantizando un control preciso sobre las repeticiones.

Sintaxis

				
					Para i <- <valor_inicial> Hasta <valor_final> Con Paso <paso> Hacer
	<instruccion 1>
	<instruccion 2>
	...
	<instruccion N>
FinPara
				
			

Sintaxis simplificada:

				
					Para i <- 1 Hasta 10 Con Paso 1 Hacer
	<instruccion 1>
	<instruccion 2>
	...
	<instruccion N>
FinPara
				
			

Ejemplo 4: Se muestra a continuación el uso del bucle “Para” para imprimir los 5 primeros números naturales. Se está usando Pseint como herramienta.

				
					Proceso Bucle_para
	// Declaración de variables
    Definir i Como Entero
	
    // Bucle "Para o Desde" que imprime los primeros 5 números
    Para i <- 1 Hasta 5 Hacer
		Escribir i
	FinPara
FinProceso

				
			

En la siguiente imagen se muestra la ejecución en Pseint del ejemplo.

Ejecución del bucle "Para" en Pseint
Ejecución del bucle "Para" en Pseint

Puedes visitar esta publicación si deseas conocer más sobre la estructura “Para”:

Para: Estructura de control repetitiva