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, explorarem les estructures de control més comunes en Groovy, incloent condicions, bucles i altres mecanismes per gestionar el flux del programa.

Continguts

Condicionals

if, else if, else

La instrucció if s'utilitza per executar un bloc de codi si una condició és certa. Es pot complementar amb else if i else per gestionar múltiples condicions.

Sintaxi:

if (condició) {
    // codi a executar si la condició és certa
} else if (altraCondició) {
    // codi a executar si l'altra condició és certa
} else {
    // codi a executar si cap de les condicions anteriors és certa
}

Exemple:

def x = 10

if (x > 0) {
    println("x és positiu")
} else if (x < 0) {
    println("x és negatiu")
} else {
    println("x és zero")
}

switch

La instrucció switch permet seleccionar una de moltes opcions basant-se en el valor d'una expressió.

Sintaxi:

switch (expressió) {
    case valor1:
        // codi a executar si expressió == valor1
        break
    case valor2:
        // codi a executar si expressió == valor2
        break
    default:
        // codi a executar si cap cas coincideix
}

Exemple:

def dia = "dilluns"

switch (dia) {
    case "dilluns":
        println("Avui és dilluns")
        break
    case "dimarts":
        println("Avui és dimarts")
        break
    default:
        println("No és ni dilluns ni dimarts")
}

Bucles

for

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

Sintaxi:

for (inicialització; condició; actualització) {
    // codi a executar en cada iteració
}

Exemple:

for (int i = 0; i < 5; i++) {
    println("Iteració: $i")
}

for-in

Groovy també permet utilitzar una sintaxi simplificada per iterar sobre col·leccions.

Exemple:

def llista = [1, 2, 3, 4, 5]

for (element in llista) {
    println("Element: $element")
}

while

El bucle while repeteix un bloc de codi mentre una condició sigui certa.

Sintaxi:

while (condició) {
    // codi a executar mentre la condició sigui certa
}

Exemple:

int i = 0

while (i < 5) {
    println("Iteració: $i")
    i++
}

do-while

El bucle do-while és similar al while, però la condició es comprova després d'executar el bloc de codi, garantint que el codi s'executi almenys una vegada.

Sintaxi:

do {
    // codi a executar
} while (condició)

Exemple:

int i = 0

do {
    println("Iteració: $i")
    i++
} while (i < 5)

Estructures de Control Addicionals

break i continue

  • break: S'utilitza per sortir d'un bucle abans que aquest acabi.
  • continue: S'utilitza per saltar a la següent iteració del bucle.

Exemple:

for (int i = 0; i < 10; i++) {
    if (i == 5) {
        break // surt del bucle quan i és 5
    }
    println("Iteració: $i")
}

for (int i = 0; i < 10; i++) {
    if (i % 2 == 0) {
        continue // salta a la següent iteració si i és parell
    }
    println("Iteració: $i")
}

Exercicis Pràctics

Exercici 1: Condicionals

Escriu un programa que demani a l'usuari un número i imprimeixi si el número és positiu, negatiu o zero.

Solució:

print "Introdueix un número: "
def numero = System.console().readLine() as Integer

if (numero > 0) {
    println("El número és positiu")
} else if (numero < 0) {
    println("El número és negatiu")
} else {
    println("El número és zero")
}

Exercici 2: Bucles

Escriu un programa que imprimeixi els números del 1 al 10 utilitzant un bucle for.

Solució:

for (int i = 1; i <= 10; i++) {
    println(i)
}

Exercici 3: switch

Escriu un programa que demani a l'usuari un dia de la setmana i imprimeixi un missatge corresponent utilitzant switch.

Solució:

print "Introdueix un dia de la setmana: "
def dia = System.console().readLine()

switch (dia.toLowerCase()) {
    case "dilluns":
        println("Avui és dilluns")
        break
    case "dimarts":
        println("Avui és dimarts")
        break
    case "dimecres":
        println("Avui és dimecres")
        break
    case "dijous":
        println("Avui és dijous")
        break
    case "divendres":
        println("Avui és divendres")
        break
    case "dissabte":
        println("Avui és dissabte")
        break
    case "diumenge":
        println("Avui és diumenge")
        break
    default:
        println("Dia no vàlid")
}

Conclusió

En aquesta secció, hem après sobre les estructures de control en Groovy, incloent condicionals (if, else if, else, switch), bucles (for, while, do-while) i instruccions addicionals (break, continue). Aquestes eines són essencials per controlar el flux del programa i escriure codi més dinàmic i flexible. Practica amb els exercicis proporcionats per consolidar els teus coneixements abans de passar al següent tema.

© Copyright 2024. Tots els drets reservats