En aquest tema, explorarem les estructures de control avançades que ens permeten escriure codi més eficient i flexible. Aquestes estructures inclouen l'ús de bucles i condicionals més complexos, així com altres tècniques que ens ajuden a gestionar el flux del nostre programa de manera més sofisticada.
Continguts
Condicionals en Cascada
Els condicionals en cascada ens permeten gestionar múltiples condicions de manera seqüencial. Això és útil quan tenim diverses condicions que necessiten ser avaluades en ordre.
Exemple en Python
nota = 85 if nota >= 90: print("Excel·lent") elif nota >= 80: print("Molt bé") elif nota >= 70: print("Bé") elif nota >= 60: print("Suficient") else: print("Insuficient")
Explicació
- if nota >= 90: Si la nota és 90 o més, imprimeix "Excel·lent".
- elif nota >= 80: Si la nota és 80 o més però menys de 90, imprimeix "Molt bé".
- elif nota >= 70: Si la nota és 70 o més però menys de 80, imprimeix "Bé".
- elif nota >= 60: Si la nota és 60 o més però menys de 70, imprimeix "Suficient".
- else: Si cap de les condicions anteriors es compleix, imprimeix "Insuficient".
Bucles amb Múltiples Condicions
Els bucles amb múltiples condicions ens permeten controlar el flux del bucle amb més precisió.
Exemple en Python
Explicació
- while i < 10: El bucle continua mentre
i
sigui menor que 10. - if i % 2 == 0: Si
i
és parell, imprimeix que és parell. - else: Si
i
no és parell, imprimeix que és senar. - i += 1: Incrementa
i
en 1 en cada iteració.
Estructures de Control amb Interrupcions
Les estructures de control amb interrupcions com break
i continue
ens permeten sortir d'un bucle o saltar a la següent iteració respectivament.
Exemple en Python
Explicació
- for i in range(10): Itera de 0 a 9.
- if i == 5: Si
i
és igual a 5, surt del bucle. - print(i): Imprimeix el valor de
i
en cada iteració fins quei
sigui 5.
Gestió d'Excepcions
La gestió d'excepcions ens permet manejar errors de manera controlada, evitant que el programa es bloquegi.
Exemple en Python
Explicació
- try: Intenta executar el codi dins del bloc
try
. - except ZeroDivisionError: Si es produeix una divisió per zero, executa el codi dins del bloc
except
.
Exercicis Pràctics
Exercici 1: Condicionals en Cascada
Escriu un programa que determini la categoria d'edat d'una persona basada en la seva edat.
edat = int(input("Introdueix la teva edat: ")) # Solució if edat < 13: print("Infant") elif edat < 20: print("Adolescent") elif edat < 65: print("Adult") else: print("Sènior")
Exercici 2: Bucles amb Múltiples Condicions
Escriu un programa que imprimeixi els nombres de l'1 al 20, però que indiqui si el nombre és múltiple de 3, 5 o ambdós.
# Solució for i in range(1, 21): if i % 3 == 0 and i % 5 == 0: print(f"{i} és múltiple de 3 i 5") elif i % 3 == 0: print(f"{i} és múltiple de 3") elif i % 5 == 0: print(f"{i} és múltiple de 5") else: print(i)
Exercici 3: Gestió d'Excepcions
Escriu un programa que demani a l'usuari que introdueixi dos nombres i que imprimeixi el resultat de la seva divisió. Gestiona l'error de divisió per zero.
# Solució try: num1 = float(input("Introdueix el primer nombre: ")) num2 = float(input("Introdueix el segon nombre: ")) resultat = num1 / num2 print(f"El resultat de la divisió és: {resultat}") except ZeroDivisionError: print("Error: No es pot dividir per zero") except ValueError: print("Error: Si us plau, introdueix nombres vàlids")
Conclusió
En aquesta secció, hem après sobre les estructures de control avançades, incloent condicionals en cascada, bucles amb múltiples condicions, estructures de control amb interrupcions i la gestió d'excepcions. Aquestes tècniques ens permeten escriure codi més robust i flexible. Practica aquests conceptes amb els exercicis proporcionats per consolidar el teu coneixement.
Fonaments de la Programació
Mòdul 1: Introducció a la Programació
- Què és la programació?
- Història de la programació
- Llenguatges de programació
- Entorns de desenvolupament