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
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
Comentarios
Publicar un comentario