La estructura de control repetitiva “Para” 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 unvalor_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 elvalor_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
- 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). - 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. - Ejecución del Cuerpo del Bucle: Se ejecutan las instrucciones contenidas en el cuerpo del bucle (
<instruccion 1>
,<instruccion 2>
, …,<instruccion N>
). - 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. - 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.
- 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.
- 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
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
Características del bucle Para
- Ejecución previa a la evaluación: Este bucle primero ejecuta y luego pregunta, repitiendo este proceso varias veces.
- 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.
- 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.
- 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
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
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
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