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 end
Exemple
local x = 10 if x > 0 then print("x és positiu") elseif x < 0 then print("x és negatiu") else print("x és zero") end
Explicació
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 end
Exercicis
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") end
Exercici 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