En este tema, aprenderemos sobre los bucles en Lua, una herramienta fundamental para ejecutar repetidamente un bloque de código. Los bucles son esenciales para tareas que requieren iteración, como procesar elementos de una lista o realizar cálculos repetitivos.

Tipos de Bucles en Lua

Lua ofrece varios tipos de bucles:

  1. Bucle while
  2. Bucle for numérico
  3. Bucle for genérico
  4. Bucle repeat...until

Bucle while

El bucle while ejecuta un bloque de código mientras una condición sea verdadera.

Sintaxis:

while condition do
    -- código a ejecutar
end

Ejemplo:

local i = 1
while i <= 5 do
    print("El valor de i es: " .. i)
    i = i + 1
end

Explicación:

  • Inicializamos i con 1.
  • El bucle while se ejecuta mientras i sea menor o igual a 5.
  • En cada iteración, se imprime el valor de i y luego se incrementa en 1.

Bucle for numérico

El bucle for numérico se utiliza para iterar un número específico de veces.

Sintaxis:

for var=start, stop[, step] do
    -- código a ejecutar
end
  • var: variable de control.
  • start: valor inicial.
  • stop: valor final.
  • step (opcional): incremento (por defecto es 1).

Ejemplo:

for i = 1, 5 do
    print("El valor de i es: " .. i)
end

Explicación:

  • i se inicializa en 1 y se incrementa en 1 en cada iteración hasta que alcanza 5.

Bucle for genérico

El bucle for genérico se utiliza para iterar sobre elementos de una tabla o cualquier iterador.

Sintaxis:

for key, value in pairs(table) do
    -- código a ejecutar
end

Ejemplo:

local frutas = {"manzana", "banana", "cereza"}
for index, fruta in ipairs(frutas) do
    print("Fruta " .. index .. ": " .. fruta)
end

Explicación:

  • ipairs devuelve un iterador que proporciona índices y valores de la tabla frutas.
  • En cada iteración, se imprime el índice y el valor correspondiente.

Bucle repeat...until

El bucle repeat...until ejecuta un bloque de código al menos una vez y luego repite la ejecución mientras una condición sea falsa.

Sintaxis:

repeat
    -- código a ejecutar
until condition

Ejemplo:

local i = 1
repeat
    print("El valor de i es: " .. i)
    i = i + 1
until i > 5

Explicación:

  • Inicializamos i con 1.
  • El bucle repeat se ejecuta y luego verifica la condición i > 5.
  • Se repite hasta que i sea mayor que 5.

Ejercicios Prácticos

Ejercicio 1: Suma de Números

Instrucciones: Escribe un programa que sume los números del 1 al 10 utilizando un bucle for.

Solución:

local suma = 0
for i = 1, 10 do
    suma = suma + i
end
print("La suma de los números del 1 al 10 es: " .. suma)

Ejercicio 2: Contar Elementos en una Tabla

Instrucciones: Escribe un programa que cuente el número de elementos en una tabla utilizando un bucle for genérico.

Solución:

local elementos = {10, 20, 30, 40, 50}
local contador = 0
for _ in pairs(elementos) do
    contador = contador + 1
end
print("El número de elementos en la tabla es: " .. contador)

Ejercicio 3: Encontrar el Máximo en una Tabla

Instrucciones: Escribe un programa que encuentre el valor máximo en una tabla utilizando un bucle for.

Solución:

local numeros = {3, 5, 7, 2, 8, 1}
local maximo = numeros[1]
for i = 2, #numeros do
    if numeros[i] > maximo then
        maximo = numeros[i]
    end
end
print("El valor máximo en la tabla es: " .. maximo)

Resumen

En esta sección, hemos aprendido sobre los diferentes tipos de bucles en Lua y cómo utilizarlos para iterar sobre datos y ejecutar bloques de código repetidamente. Los bucles son una herramienta poderosa que te permitirá escribir programas más eficientes y efectivos. Asegúrate de practicar con los ejercicios proporcionados para consolidar tu comprensión de estos conceptos.

© Copyright 2024. Todos los derechos reservados