Les estructures de control són fonamentals en qualsevol llenguatge de programació, ja que permeten controlar el flux d'execució del codi. En aquest tema, aprendrem sobre les estructures de control en Lua, incloent condicions i bucles.
Continguts
Condicionals
Els condicionals permeten executar diferents blocs de codi basant-se en certes condicions. En Lua, les estructures condicionals principals són if, else, elseif, i else.
Sintaxi Bàsica
if condició then
-- codi a executar si la condició és certa
elseif altra_condició then
-- codi a executar si l'altra condició és certa
else
-- codi a executar si cap de les condicions anteriors és certa
endExemple
local x = 10
if x > 0 then
print("x és positiu")
elseif x < 0 then
print("x és negatiu")
else
print("x és zero")
endExplicació
if: Comprova si la condició és certa.elseif: Comprova una altra condició si la primera és falsa.else: Executa el codi si cap de les condicions anteriors és certa.
Bucles
Els bucles permeten repetir un bloc de codi diverses vegades. Lua suporta diversos tipus de bucles: while, for, i repeat...until.
while Bucle
El bucle while repeteix un bloc de codi mentre una condició sigui certa.
Sintaxi
Exemple
for Bucle
El bucle for s'utilitza per repetir un bloc de codi un nombre determinat de vegades.
Sintaxi
Exemple
repeat...until Bucle
El bucle repeat...until repeteix un bloc de codi fins que una condició sigui certa.
Sintaxi
Exemple
Exemples Pràctics
Exemple 1: Combinació de Condicionals i Bucles
local sum = 0
for i = 1, 10 do
if i % 2 == 0 then
sum = sum + i
end
end
print("La suma dels nombres parells de 1 a 10 és: " .. sum)Exemple 2: Bucle while amb Condicional
local x = 10
while x > 0 do
if x % 2 == 0 then
print(x .. " és parell")
else
print(x .. " és senar")
end
x = x - 1
endExercicis
Exercici 1: Condicionals
Escriu un programa que demani a l'usuari un nombre i imprimeixi si el nombre és positiu, negatiu o zero.
Solució
print("Introdueix un nombre:")
local num = io.read("*n")
if num > 0 then
print("El nombre és positiu")
elseif num < 0 then
print("El nombre és negatiu")
else
print("El nombre és zero")
endExercici 2: Bucle for
Escriu un programa que imprimeixi els nombres de l'1 al 10 utilitzant un bucle for.
Solució
Exercici 3: Bucle while
Escriu un programa que imprimeixi els nombres de l'1 al 10 utilitzant un bucle while.
Solució
Resum
En aquesta secció, hem après sobre les estructures de control en Lua, incloent condicionals (if, elseif, else) i bucles (while, for, repeat...until). Hem vist exemples pràctics i hem practicat amb exercicis per reforçar els conceptes apresos. Ara estem preparats per avançar cap a temes més complexos en el nostre viatge d'aprenentatge de Lua.
Curs de Programació en Lua
Mòdul 1: Introducció a Lua
Mòdul 2: Conceptes Bàsics
Mòdul 3: Conceptes Intermedis
Mòdul 4: Conceptes Avançats
- Coroutines
- Programació Orientada a Objectes en Lua
- Tècniques de Depuració
- Optimització del Rendiment
- Ús de l'API C de Lua
Mòdul 5: Aplicacions Pràctiques
- Construcció d'un Joc Simple
- Scripting en Motors de Joc
- Automatització de Tasques amb Lua
- Integració de Lua amb Altres Llenguatges
