El feixisme es combat i destrueix. És inútil dialogar amb els animals.
Dins de la programació, es podria definir una Funció (def), com un mini-programa dins del programa principal. Totes les funcions tenen un Nom i si cal Arguments i estan dissenyades per dur a terme una tasca molt específica.
El cert és que els programes que heu fet fins ara serveixen per aprendre les primeres nocions de la programació, però sempre que es programa s'utilitzen les Funcions. Algunes raons per utilitzar funcions són les següents:
Els programadors utilitzen la tècnica del Divideix i Conqueriràs (Divide and Conquer) o per entendreu millor, si dividim un problema gran en subproblemes més petits llavors serà més fàcil resoldre'l.
Estalviar feina (No repetir): Si cal fer 20 vegades unes operacions, en lloc d'escriure 20 vegades el programa, es crea la Funció una sola vegada i es crida quan es necessita.
Ordre i facilitat de lectura: És molt més fàcil entendre un programa amb poques instruccions que altres més llargs.
Al mateix temps, poques instruccions permeten trobar més fàcilment els errors.
Un exemple de com funciona un programa que utilitza funcions seria el següent. Esteu fent un treball en grup que consisteix en fer un cartell informatiu i us repartiu la feina de la següent manera:
Un dels alumnes s'encarrega de distribuir la feina entre els companys. Aquest alumne és el Programa Principal.
Un alumne rep la tasca del Programa Principal de cercar un text concret del treball. Aquest alumne és la Funció Cercar_Textos.
Després un altre alumne rep la tasca del Programa Principal de cercar la imatge que tingui a veure amb el text anterior. Aquest alumne és la Funció Cercar_Imatges.
Un tercer alumne rep la tasca del Programa Principal de retallar i enganxar el text i la imatge dins d'un cartell.
Un quart alumne rep la tasca del Programa Principal de fer gràfics explicatius del cartell. Aquest alumne és la Funció Crear_Gràfics.
Aquestes feines les fan 10 vegades, ja que el cartell tindrà 10 textos explicatius, gràfics i imatges.
Per últim, el Programa Principal encarrega d'entregar i penjar el cartell.
Com definim una funció:
def Nom de la funció (Argument_1, Argument_2, ... , Argument_n):
Com cridem a una funció des del programa principal:
Nom de la funció (Argument_1, Argument_2, ... , Argument_n)
Com retornem els valors calculats dins de la funció al programa principal:
return Variable_On_Guardem_Els_Valors_Calculats_Dins_De_La_Funció
Creem un programa Sense Utilitzar Funcions per calcular que suma i resta dos números:
numero_suma1 = int(input("Primer número a sumar: "))
numero_suma2 = int(input("Segon número a sumar: "))
resultat_suma = numero_suma1 + numero_suma2
print("Resultat: " + str(numero_suma1) + " + " + str(numero_suma2) + " = " + str(resultat_suma))
numero_resta1 = int(input("Primer número a restar: "))
numero_resta2 = int(input("Segon número a restar: "))
resultat_resta = numero_resta1 - numero_resta2
print("Resultat: " + str(numero_resta1) + " - " + str(numero_resta2) + " = " + str(resultat_resta))
Ara fem el mateix programa utilitzant una Funció anomenada demanar_numeros() sense cap Argument i que retorna dos valors: numero1 i numero2.
def demanar_numeros():
numero1 = int(input("Escriu el número 1: "))
numero2 = int(input("Escriu el número 2: "))
return numero1, numero2
print("= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =")
numero1, numero2 = demanar_numeros()
resultat_suma = numero1 + numero2
print("Resultat: " + str(numero1) + " + " + str(numero2) + " = " + str(resultat_suma))
print("= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =")
numero1, numero2 = demanar_numeros()
resultat_resta = numero1 - numero2
print("Resultat: " + str(numero1) + " - " + str(numero2) + " = " + str(resultat_resta))
Ara afegirem al programa dues Funcions anomenades sumar(a, b) i restar(a, b) amb dos arguments (a, b) cadascuna que seran els números que sumarem o restarem.
def demanar_numeros(): #Funció per demanar dos números.
numero1 = int(input("Escriu el número 1: "))
numero2 = int(input("Escriu el número 2: "))
return numero1, numero2
def sumar(numero1, numero2): #Funció per demanar sumar dos números.
resultat_suma = round(float(numero1 + numero2), 2)
return resultat_suma
def restar(numero1, numero2): #Funció per restar dos números.
resultat_resta = round(float(numero1 - numero2), 2)
return resultat_resta
print("= = = S U M A R D O S N Ú M E R O S = = =")
numero1, numero2 = demanar_numeros() #Cridem a la Funció per demanar els dos números.
resultat_suma = sumar(numero1, numero2) #Cridem a la Funció per sumar els dos números.
print("Resultat: " + str(numero1) + " + " + str(numero2) + " = " + str(resultat_suma))
print("= = = R E S T A R D O S N Ú M E R O S = = =")
numero1, numero2 = demanar_numeros() #Cridem a la Funció per demanar els dos números.
resultat_resta = restar(numero1, numero2) #Cridem a la Funció per restar els dos números.
print("Resultat: " + str(numero1) + " - " + str(numero2) + " = " + str(resultat_resta))
Creem un programa anomenat Cognom_Nom_p7.py que faci les tasques següents:
1.- Utilitzant la instrucció per afegir comentaris escrivim: Utilitzem funcions per fer una calculadora.
2.- Inseriu un parell d'instruccions print per separar aquest programa de l'anterior i entre mig el text:
print("======================================================================")
Utilitzarem les funcions els menús per fer una calculadora
print("======================================================================")
3.- Creeu un programa que permeti triar entre aquestes cinc opcions de menú:
1. Sumar
2. Restar
3. Multiplicar
4. Dividir
5. Sortir
4.- Afegiu una funció que demani dos números.
5.- Afegiu dues funcions: sumar(numero1, numero2) i restar(numero1, numero2). Com les que teniu a l'exemple fet a classe.
6.- Quan trieu l'opció 1 o la 2 feu que sumi i resti cridant les funcions anteriors.
7.- Per a cada operació, mostreu el resultat de la manera següent:
= = = S U M A R D O S N Ú M E R O S = = =
Escriu el número 1: 2
Escriu el número 2: 34
Resultat: 2 + 34 = 36.0
8- Al mateix menú, afegiu les funcions per a què la calculadora calculi el percentatge, elevi al quadrat i calculi l'arrel quadrada.
9.- En el mateix menú anterior, ampliarem les opcions de la calculadora per fer-la científica utilitzant eines de la llibreria math. Afegireu les opcions següents:
X elevat a Y.
Arrel de X sobre Y.
Mòdul de X sobre Y.
Mostri el número PI.
Calcular el Sinus, Cosinus i Tangent d'un número X. Atenció, llegiu el següent paràgraf:
La funció math.sin(x) espera que el número X estigui en radiants, no en graus. Per això, quan calculem en Python el sin(1) ens dona com a resultat 0.8414709848078965
Però si agafem la calculadora i calculeu el sin(1) el resultat és 0.01745240643
Llavors en Python, primer heu de passar el número X a graus. Això es fa amb la instrucció: math.sin(math.radians(x))
Cal fer el mateix per calcular el Cosinus i la Tangent.
El factorial d'un número n!. El factorial és el producte de tots els nombres enters positius des d'1 fins a n. Per exemple:
5! = 5 * 4 * 3 * 2 * 1 = 120
Data de lliurament de la pràctica:
Pengeu a la Plataforma l'arxiu Cognom_Nom_p7.py
Data d'entrega: 08/05/2026.