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

while condició do
    -- codi a executar mentre la condició sigui certa
end

Exemple

local i = 1

while i <= 5 do
    print(i)
    i = i + 1
end

for Bucle

El bucle for s'utilitza per repetir un bloc de codi un nombre determinat de vegades.

Sintaxi

for variable = inici, final, pas do
    -- codi a executar
end

Exemple

for i = 1, 5 do
    print(i)
end

repeat...until Bucle

El bucle repeat...until repeteix un bloc de codi fins que una condició sigui certa.

Sintaxi

repeat
    -- codi a executar
until condició

Exemple

local i = 1

repeat
    print(i)
    i = i + 1
until i > 5

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ó

for i = 1, 10 do
    print(i)
end

Exercici 3: Bucle while

Escriu un programa que imprimeixi els nombres de l'1 al 10 utilitzant un bucle while.

Solució

local i = 1

while i <= 10 do
    print(i)
    i = i + 1
end

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.

© Copyright 2024. Tots els drets reservats