Estructuras de control en Lua

Estructuras de control en Lua


Básicamente para cualquier lenguaje de programación, una estructura de control permite modificar el flujo de ejecución de instrucciones de un programa.

Lua cuenta con 4 estructuras de control, la estructura if, while, repeat y for.

Estructura if

Como su nombre lo indica una sentencia if ejecuta un código si la expresión evaluada es verdadera, veamosla en el siguiente diagrama.

Código:

if condición then bloque de código else bloque de código end
Como es costumbre con una estructura de control if es posible anidar el if para hacer varias comprobaciones.
if condición1 then bloque de código elseif condición2 then bloque de código elseif condición3 then bloque de código else bloque de código end

Estructura while

La estructura while ejecuta un bloque de código determinadas veces

Código:

while condición do bloque de código end

Estructura repeat

La estructura repeat es parecida a la anterior con la diferencia que si la condición es verdadera el ciclo se interrumpe, en otros lenguajes se parece al do while.

Código

repeat bloque de código until condición

Estructura for


La estructura for al igual que while repite un bloque de código siempre y cuando  sus condiciones se cumplan, en Lua se puede usar de dos formas.

Loop for numérico

Ejecuta el bloque con la variable igual a inicio, luego sigue incrementándola cantidad de pasos y ejecutando el bloque nuevamente hasta que es mayor que el valor de parada. la variable de paso se puede omitir y se establecerá de manera predeterminada en 1 (Se entenderá mejor en código).

Código

for variable = inicio, parada, paso do bloque de código end

Loop for iterador

La versión del iterador for toma una función de iterador especial y puede tener cualquier cantidad de variables. se entendera mejor mas adelante.

Código

for variable1, variable2, variable3 in iterador do bloque de código end

Códigos de ejemplo

Imaginemos que necesitamos saber si un número es par o no, y que a un no conocemos ninguna estructura de control, ¿Que hacemos?
pues lo que haríamos seria hacer un listado de los números y decir si es primo o no, en código seria algo como:
print("1 es un número impar") print("2 es un número par") print("3 es un número impar") ... ... ...
Bien seria un código de no terminar, tendríamos que buscar el número que necesitamos y que este en la lista, ahora intentemos usar una condición if para saber si un número es impar o no.
--- programa para saber si un numero es par o no print("digite un número") numero_in = io.read() if numero_in % 2 == 0 then print ("El número "..numero_in.." es par") else print ("El número "..numero_in.." es impar") end
Ahora queremos imprimir un listado con los números pares hasta un numero que escojamos digamos 1000, primero hagamos lo con una estructura while
print("digite un número para el listado") numero_in = io.read() contador = 1 while contador <= (numero_in/1) do if contador % 2 == 0 then print ("El número "..contador.." es par") end contador = contador + 1 end
¿Sencillo no ?, ahora con una estructura repeat
print("digite un número para el listado") numero_in = io.read() contador = 1 repeat if contador % 2 == 0 then print ("El número "..contador.." es par") end contador = contador + 1 until contador > (numero_in/1)
Ahora con un for
print("digite un número para el listado") numero_in = io.read() for contador = 1 , numero_in/1 ,1 do if contador % 2 == 0 then print ("El número "..contador.." es par") end end

Video

Comentarios

Entradas más populares de este blog

SAFE MODE en PS Vita