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

Ejercicios con estructura repetitiva Para/Desde – Algoritmos en Pseint

Estructura repetitiva para

La estructura repetitiva Para o Desde es una estructura de control que se utiliza por lo general cuando ya se conoce el número de repeticiones o iteraciones, es decir, la cantidad de veces que se va a repetir un conjunto de instrucciones.

estructura repetitiva para

Ejercicio 1

Elaborar un seudocódigo en la cual se ingresen n números enteros y se calcule:

a) El producto de todos los números pares menores a 25.

b) La suma de todos los números impares mayores a 16.

c) El promedio de todos los números múltiplos de 4.

Pseudocódigo

Diagrama de flujo

Ejercicio 2

Desarrollar un seudocódigo en el que se ingresen los datos n personas (nombre, apellido, dni, edad, pais, continente) y calcule:

a) La cantidad de personas que estan entre 25 y 46 años.

b) La cantidad de personas que son de nacionalidad peruana.

c) La cantidad de personas que son del continente europeo.

d) El promedio de edades de las personas del continente europeo.

Pseudocódigo

Diagrama de flujo

Ejercicio 3

Crea una aplicación que pida un número y calcule su factorial (El factorial de un número es el producto de todos los enteros entre 1 y el propio número y se representa por el número seguido de un signo de exclamación. Por ejemplo 5! = 1x2x3x4x5=120),

Pseudocódigo

Diagrama de flujo

Ejercicio 4

Desarrolla un pseudocódigo que para n (1<= n <= 50) estudiantes permita leer sus notas (calificación) obtenidas en el curso de algoritmos. Se debe validar que la nota tenga un valor entre 0 y 20. Se sabe que la mínima nota aprobatoria es 13. Al final calcule:

a) La mayor nota

b) La menor nota

c) La cantidad de alumnos que obtuvieron la mayor nota

d) La cantidad de alumnos que obtuvieron la menor nota

e) El promedio de notas del salón

f) La cantidad de notas pares

g) La cantidad de notas impares

h) La cantidad de alumnos aprobados

i) La cantidad de alumnos desaprobados

j) El porcentaje de alumnos aprobados

k) El porcentaje de alumnos desaprobados

 

Pseudocódigo

Diagrama de flujo