Módulo 1: Fundamentos de Programación

Bucles: Automatiza Tareas Repetitivas

Lección 4 de 33 del Curso Roadmap Learning Laravel

Duración: 1 hora
Nivel: Principiante (requiere conocimientos de variables, tipos de datos y condicionales, como en Lecciones 1-3)
Objetivo: Comprender cómo usar bucles (Para y Mientras) para repetir acciones y cómo iterar arrays en pseudocódigo con PSeInt, aplicando estos conceptos en programas prácticos.
Materiales necesarios: Computadora con PSeInt instalado (descarga gratuita desde pseint.sourceforge.net). Alternativa: Papel o editor de texto para escribir pseudocódigo si no puedes usar PSeInt.
Nota: Continuamos usando PSeInt para mantener la consistencia, con una sintaxis en español que es transferable a PHP (base de Laravel).

¿Qué son los bucles? (10 minutos)

Explicación:

Un bucle es una estructura que repite un bloque de código varias veces, ya sea un número fijo de veces o mientras se cumpla una condición. Los bucles son útiles para tareas repetitivas, como sumar una lista de números o procesar elementos en un array.

Tipos de bucles en PSeInt:

  • Para (for): Repite un número específico de veces, ideal cuando sabes cuántas iteraciones necesitas.
  • Mientras (while): Repite mientras una condición sea verdadera, útil cuando no sabes cuántas veces se repetirá.

Punto clave: Los bucles ahorran tiempo al automatizar tareas repetitivas, una habilidad esencial en Laravel para procesar listas (por ejemplo, mostrar todos los usuarios de una base de datos).

Actividad rápida (2 minutos):

Piensa en una tarea repetitiva de la vida real (por ejemplo, lavar platos). Escribe en papel cómo la describirías como un bucle. Ejemplo:

  • Mientras haya platos sucios, lavar un plato.

Bucle Para (15 minutos)

Explicación:

El bucle Para se usa cuando sabes cuántas veces quieres repetir algo. En PSeInt, controla una variable (contador) que aumenta o disminuye en cada iteración.

Sintaxis en PSeInt:

text

Para variable <- inicio Hasta fin Con Paso paso Hacer
    // Instrucciones a repetir
FinPara
  • variable: Contador (por ejemplo, i).
  • inicio: Valor inicial del contador.
  • fin: Valor final (el bucle para cuando el contador pasa este valor).
  • paso: Incremento en cada iteración (por defecto, 1 si no se especifica).

Ejemplo práctico (como pide la lección):

Programa que imprime los números del 1 al 10:

text

Algoritmo NumerosDel1Al10
    // Declarar variable para el contador
    Definir i Como Entero
    
    // Bucle Para del 1 al 10
    Para i <- 1 Hasta 10 Con Paso 1 Hacer
        Escribir i
    FinPara
FinAlgoritmo

Cómo funciona:

  1. i empieza en 1.
  2. El bucle se ejecuta mientras i <= 10.
  3. En cada iteración, muestra i y lo incrementa en 1 (Con Paso 1).
  4. Termina cuando i llega a 11 (no se muestra).

Cómo ejecutarlo:

  1. Abre PSeInt.
  2. Copia el código en un nuevo archivo.
  3. Ejecuta con F9.

Salida esperada:

text

1
2
3
4
5
6
7
8
9
10

Punto clave: El bucle Para es perfecto para tareas con un número fijo de repeticiones, como recorrer una lista en Laravel.

Actividad rápida (3 minutos):

Modifica el programa anterior (en papel o PSeInt) para que imprima los números del 5 al 10. Solución sugerida:

text

Para i <- 5 Hasta 10 Con Paso 1 Hacer
    Escribir i
FinPara

Bucle Mientras (15 minutos)

Explicación:
El bucle Mientras repite un bloque de código mientras una condición sea verdadera. Es útil cuando no sabes cuántas iteraciones necesitas de antemano.

Sintaxis en PSeInt:

text

Mientras condicion Hacer
    // Instrucciones a repetir
FinMientras
  • condicion: Debe ser verdadera para que el bucle continúe.
  • Cuidado: Si la condición nunca se vuelve falsa, el bucle será infinito (¡error!).

Ejemplo práctico:
Programa que imprime los números del 1 al 10 usando Mientras:

text

Algoritmo NumerosDel1Al10Mientras
    // Declarar variable para el contador
    Definir i Como Entero
    i <- 1
    
    // Bucle Mientras
    Mientras i <= 10 Hacer
        Escribir i
        i <- i + 1
    FinMientras
FinAlgoritmo

Cómo funciona:

  1. i empieza en 1.
  2. Mientras i <= 10, muestra i y lo incrementa (i <- i + 1).
  3. Termina cuando i llega a 11 (condición falsa).

Salida: Igual que el ejemplo anterior (1 al 10).

Diferencia con Para:

  • Para es más compacto para repeticiones fijas.
  • Mientras es más flexible para condiciones variables.

Punto clave: En Laravel, usarás bucles similares a Mientras para procesar datos hasta que se cumpla una condición (por ejemplo, leer registros hasta que no haya más).

Actividad rápida (3 minutos):
Escribe en papel un pseudocódigo con Mientras que muestre los números del 1 al 3. Solución sugerida:

text

Definir i Como Entero
i <- 1
Mientras i <= 3 Hacer
    Escribir i
    i <- i + 1
FinMientras

Iterar arrays con bucles (15 minutos)

Explicación:
Los bucles son ideales para trabajar con arrays (listas de datos, vistas en Lección 2). Puedes usar Para o Mientras para recorrer cada elemento de un array.

Ejemplo práctico:
Programa que imprime los elementos de un array de hobbies:

text

Algoritmo IterarHobbies
    // Declarar array
    Definir hobbies Como Caracter
    Dimension hobbies[3]
    Definir i Como Entero
    
    // Asignar valores
    hobbies[1] <- "leer"
    hobbies[2] <- "viajar"
    hobbies[3] <- "cocinar"
    
    // Iterar con Para
    Para i <- 1 Hasta 3 Con Paso 1 Hacer
        Escribir "Hobby ", i, ": ", hobbies[i]
    FinPara
FinAlgoritmo

Cómo funciona:

  1. Se define un array hobbies con 3 elementos.
  2. El bucle Para usa i como índice (1 a 3).
  3. En cada iteración, muestra el elemento hobbies[i].

Salida esperada:

text

Hobby 1: leer
Hobby 2: viajar
Hobby 3: cocinar

Versión con Mientras:

text

Algoritmo IterarHobbiesMientras
    Definir hobbies Como Caracter
    Dimension hobbies[3]
    Definir i Como Entero
    
    hobbies[1] <- "leer"
    hobbies[2] <- "viajar"
    hobbies[3] <- "cocinar"
    
    i <- 1
    Mientras i <= 3 Hacer
        Escribir "Hobby ", i, ": ", hobbies[i]
        i <- i + 1
    FinMientras
FinAlgoritmo

Punto clave: Iterar arrays es común en Laravel, como cuando muestras una lista de productos o usuarios en una página.

Actividad rápida (3 minutos):
Escribe en papel un pseudocódigo que use Para para mostrar un array de 2 colores. Solución sugerida:

text

Definir colores Como Caracter
Dimension colores[2]
colores[1] <- "rojo"
colores[2] <- "azul"
Para i <- 1 Hasta 2 Hacer
    Escribir colores[i]
FinPara

Resumen y preparación para la tarea (10 minutos)

Resumen:

  • Bucles: Repiten acciones automáticamente.
    • Para: Para un número fijo de repeticiones.
    • Mientras: Mientras una condición sea verdadera.
  • Iterar arrays: Usa bucles para recorrer listas de datos.
  • Estos conceptos son clave en Laravel para procesar datos repetitivos (por ejemplo, generar tablas dinámicas).

Preparación para la tarea:
La tarea pide un programa que muestre la tabla de multiplicar del 5 (5 × 1, 5 × 2, ..., 5 × 10). Pensemos en la lógica:

  • Usa un bucle para los números del 1 al 10.
  • Multiplica cada número por 5.
  • Muestra el resultado.

Pseudocódigo inicial:

text

Para i <- 1 Hasta 10 Hacer
    Escribir "5 x ", i, " = ", 5 * i
FinPara

Tarea práctica: Crea un programa que muestre la tabla de multiplicar del 5

Instrucciones:

  1. Crea un programa en pseudocódigo con PSeInt que:
    • Use un bucle (Para o Mientras) para iterar del 1 al 10.
    • Calcule y muestre el resultado de 5 multiplicado por cada número (5 × 1, 5 × 2, ..., 5 × 10).
    • Formatee la salida como: 5 x 1 = 5, 5 x 2 = 10, etc.
  2. Usa el siguiente formato como guía:

text

Algoritmo TablaDel5
    // Declarar variable para el contador
    Definir i Como Entero
    
    // Bucle Para
    Para i <- 1 Hasta 10 Con Paso 1 Hacer
        Escribir "5 x ", i, " = ", 5 * i
    FinPara
FinAlgoritmo
  1. Ejecuta el programa:
    • Copia el código en PSeInt y ejecuta con F9.
    • Verifica que la salida sea correcta.
    • Si no usas PSeInt, escribe el pseudocódigo en papel o un editor, asegurándote de que la lógica sea correcta.

Ejemplo de solución esperada:
El código anterior es funcional. Si lo ejecutas:

text

5 x 1 = 5
5 x 2 = 10
5 x 3 = 15
5 x 4 = 20
5 x 5 = 25
5 x 6 = 30
5 x 7 = 35
5 x 8 = 40
5 x 9 = 45
5 x 10 = 50

Alternativa con Mientras:

text

Algoritmo TablaDel5Mientras
    Definir i Como Entero
    i <- 1
    Mientras i <= 10 Hacer
        Escribir "5 x ", i, " = ", 5 * i
        i <- i + 1
    FinMientras
FinAlgoritmo

Tiempo estimado: 15-20 minutos (puedes hacerlo después de la lección).
Entregable: Pseudocódigo funcional que muestre la tabla de multiplicar del 5. Puedes compartir el código o describirlo para que lo revise.

Consejo: Prueba modificar el programa para mostrar la tabla del 3 o del 7, o añade un mensaje inicial como "Tabla de multiplicar del 5:".

IV Examen

1. ¿Qué hacen los bucles en un programa?

2. ¿Cuál es el bucle en PSeInt que se usa cuando sabes cuántas veces repetir?

3. ¿Qué palabra clave en PSeInt inicia un bucle Mientras?

4. En el ejemplo de la lección, ¿qué muestra el código Para i <- 1 Hasta 10 Hacer Escribir i FinPara?

5. ¿Qué falta en este bucle Para i <- 1 Hasta 5 Hacer Escribir i para que sea correcto en PSeInt?

6. En PSeInt, ¿cómo incrementas el contador i en un bucle Mientras?

7. En la tarea, ¿qué muestra la línea Escribir '5 x ', i, ' = ', 5 * i cuando i es 3?

8. ¿Cómo iteras un array de 3 elementos en PSeInt usando un bucle Para?

9. ¿Qué sucede si olvidas incrementar el contador en un bucle Mientras?

10. En la tarea de la tabla del 5, ¿cuál es el rango correcto para el bucle Para?

© Copyright Cursos Laravel :: 2025 Términos y condiciones