You are on page 1of 10
ssittian 1228 Sessio2 Operadors. Composicié Alternativa.Operadors logics. Avaluacié d'expressions. Operadors Els operadors variaran en funcié del tipus de la variable. Stutilitzen a les expressions. En tenim de diferents tipus: 1. Aritmatics Suma + (enters i reals) També per concatenacid d'strings «Resta - (enters i reals) « Multiplicacié * (enters i reals) * Divisié / (enters i reals) « Divisié entera // (enters) « Madul o residu % (enters) * Potenciaci6 ** (enters i reals) 2.Canvi de signe + (enters i reals) ‘* (enters i reals) 3. Relacional « Igual == (tots els tipus) * Diferent != (tots els tipus) «Major > (tots els tipus) «Major o igual >= (tots els tipus) «Menor < (tots els tipus) «Menor o igual <= (tots els tipus) 4, Lagies « Land (booleans) * or (booleans) ‘* No not (booleans) 5. Conversié de tipus * Convertir a enter int( (tots els tipus, sempre que és pugui) « Convertir a real float() (tots els tipus, sempre que és pugui) «Convertir a string strQ (tots els tipus, sempre que és pugui) fie:1C:UsorsjosepiDownloads/Sessio2 html ano ssa 1229 Sessio2 * Convertir a booled bool) (tots els tipus, sempre que és pugui). Si és zero llavors dona False altrament dona Tue * Arrodoneix roundi) (reals o enters) Sempre és poden utilitzar paréntesis () I ### exenples d’operadors a=16.98765**(1/3) print (a) print(int(a.78)) print (round(8.56@00001) ) a=int ("88765876") print(a) 8.987" befloat (c) print(b) print(c) print(* bbb=70<8 print (bbb) #a=float(input(‘entre el primer nimero ‘)) ¥b=float (input(‘entre el segon nimero *)) bScnot(as=b) and acb print("el resultat de l'expessié é bs) print("-- 244) 4742, print(a) b-2**10 print(b) 9/8 . eoecceesaeencca90000R00000000001 print(c) 83//18 print(a) aaa=78 % 5 print(aaa) “hola “s"josep" print(c) {ie:13C:UsorsjosepiDownloads/Sessio2 html 210 ssittian 1228 {ie:13C:UsorsjosepiDownloads/Sessio2 html Sessio2 +" i joan” print(d) 2,5706587863343096 8 3 88765876 8.987 8.987 alse el resultat de l'expessié és: False 44. 1024 6,8999999999999990+34 78 hola josep hola Josep i joan Composicié Alternativa Hi ha una o varies accions que només s‘executen en el cas de que es compleixi una determina condicid Diferéncia de 'esquema sequiencial * no stexecuten totes les accions * només s‘executen les que compleixen la condicié, La condicié alternativa més genérica seria if condicié_booleana_1: accions_1 elif condicié_booleana_2: accions_2 elif condicié_booleana_n: accions_n else: accions_else Les condicions (1,2, .., n) han de ser mutuament excloents i cobrir tots els casos. Sind cobrim tots els casos podem utiltzar else s poden treure les part que no necessitem llavat del primer if. Sempre sha d'indentar. # ENUNCIAT: Trobar el maxim de dues variables enteres entrades per teclat a = int(input("entra un valor enter per a la variable a: ")) ano ssittian 1228 Sessio2 b = int(input("entra un valor enter per a la variable b : *)) print("la variable a conpte el valor : ",a) print("la variable b compte el valor : ",b) ifacb max = b else: max = a print("el valor maxim entre ai b és : “,max) weterminar també quin és el major si ao b entra un valor enter per a la variable a : 89 entra un valor enter per a la variable b : 78 Ja variable a compte el valor : 8¢ la variable b compte el valor : 78 el valor maxim entre a ib és: 8 In [59]: # ENUNCIAT: Entrar per teclat un numero i dir el seu valor absolut nunero = float(input("entra un nimero : *)) if nuneroco: valorAbsolut = -numero else: valorabsolut = numero print("el valor absolut del nimero :",numero,” és :", valorAbsolut) entra un nimero : 78 el valor absolut del niimero : 78.0 és : 78.0 I # ENUNCIAT: Determinar si un numero entrat per teclat es pareLl o senar numero = int(input("entra un niimero : ")) if numero % 2 == @: print("és parell") else: print("és senar") entra un nimero : 876 és parell # ENUNCIAT: Demana una nota (pot ser amb decimals) i dir si ha aprovat o suspés nota = float(input(“entra una nota : ")) if notarie or notaco: if notarie: print("nota mal entrada ja que és més gran que 10") else: print("nota mal entrada ja que és més petita que 0") elif notar=5.0: print("has aprovat!!!") else: print(*has suspés!!!") print(‘adeu') {ie:13C:UsorsjosepiDownloads/Sessio2 html ano ssittian 1228 ‘Sessio2 pensar que passa si entrem un 11. Mirar de soluctuonar-ho entra una nota : 8 nota mal entrada ja que és més gran que 1¢ adeu In [76]: # ENUNCIAT: EL taxi val 1 euros, el bus 2.5. Determineu si anb La quantitat de diners # primera opcié, © puc agafar el bus (segona opcid) o tine que anar a peu diners = float(input("entreu 1a quantitat de diners que tinc :")) if diners>=10: print("afago el taxi") if diners<1@ and diners>=2.5: print("afago el bus”) if diners<2.5: print("vaig a peu" entreu la quantitat de diners que tinc :78 afago el taxi In [8 # ENUNCIAT: EL taxi val 10 euros, el bus 2.5. Determineu si anb La quantitat de diners # primera opcis, 0 puc agafar el bus (segona opcid) 0 tine que anar a peu diners = float(input("entreu la quantitat de diners que tinc :")) if diners>=2.5 and diners<10: print(“afago el bus") elif diners>=10: print(“afago el taxi") elif diners>=0: print("vaig 2 peu") else: print(“diners mal entrats") print (‘acaba el prograna') entreu la quantitat de diners que tinc :78 afago el bus acaba el programe In [89]: | # ENUNCIAT: Donada una LLetra per teclat, dissenyeu un algorisme que determini si és un Letra = str(input(“entreu una Letra :")) if Lletra='a" and lletrac='2": print(“has entrat una lletra mindscula") elif letra>='A' and letrac='Z": print(“has entrat una letra majdscula") else: print("has entrat un caracter que no és Lletra") entreu una lletra :9 has entrat un caracter que no és lletra In [9 # ENUNCIAT: Demana una nota (pot ser amb decimals) i dir si ha suspés, té un aprovat, n nota = float(input("entra una nota : ")) {ie:13C:UsorsjosepiDownloads/Sessio2 html 510 ssittian 1228 ‘Sessio2 Af notaco.0 or notari0.. print(*nota mal entrada!!! elif notacs.0: print("tens un suspens") elif notac7.0: — #nota>=5.@ and notac7.0: print("tens un aprovat") elif notac9.0: — #nota>=7.@ and notac9.0: print("tens un notable") else: print("tens un excel-lent") entra una nota : 889 nota mal entrada!!! Ih # ENUNCIAT: Trobar eL minim de tres variables entrades enteres per teclat. a = int(input("entra un valor enter per a la variable b = int(input("entra un valor enter per a la variable ¢ = int(input("entra un valor enter per a la variable print("la variable a conpte el valor :",a) print("la variable b conpte el valor :",b) print("la variable ¢ compte el valor :",¢) ifacbandacc: min =a elif bcc min = b else: min = ¢ print("el valor minim entre a, bi c és. woeterminar quin és el menor si ao boc entra un valor enter per a la variable a :34 entra un valor enter per a la variable b :45 entra un valor enter per a la variable ¢ :-3 la variable a compte el valor : 34 la variable b compte el valor : 45 la variable c compte el valor : -3 el valor minim entre a, bic és In # ENUNCIAT: Calcul arrels d’un polinomt de segon grau ax**2+bx+c=0 Float(input("entra el valor del coeficient a Float(input("entra el valor del coeficient b : = float(input("entra el valor del coeficient ¢ : a b « discriminant = b*2 - 4.0%a%¢ if discriminant < 0.0: print(“no té solucié real") elif a == 0.0: print("No és equacié de segon grau") else: x1 = (-b + discriminant**(1/2)) / (2.0%) {ie:13C:UsorsjosepiDownloads/Sessio2 html )) #eoeficient de x quadrada )) #eoeficient de x }) #terme independent 60 ssittian 1228 Sessio2 x2 = discriminant**(1/2)) / (2-0%a) print(" xa: ",x1) print(" x2: ",x2) entra el valor del coeficient a : entra el valor del coeficient b entra el valor del coeficient ¢ Xi: 1.8 Operadors Logics © and (conjuncié) and TRUE FALSE TRUE True False FALSE False False * or (dijunci6) or TRUE FALSE TRUE Tue Tue FALSE True False # not (negaci6) not TRUE FALSE Fale Tue #Conjuncié: and clsabandb>c print("cl :",e1," €2 :",¢2," ¢3 :",¢3,"e4 :",¢4) cl: True c2: False c3: False cf : False woisjuncié: or ass b=7 c=8 disacborbborb>c {ie:13C:UsorsjosepiDownloads/Sessio2 html m0 ssittian 1228 Sessio2 print("di :",d1," d2 :",d2," d3 :",03,"d4 :",da) a1: True d2: True d3: True d4 : False ‘#Negacié: not a=6 b=7 c=8 mi = not (a < b) n2 = not (a > b) print(*nd :",nt," nd :",n2) mi: False n2: True Logica LLeis de De Morgar not(A and B) --> (not A) or (not B) not(A or B) --> (not A) and (not B) not (x <= y and y >= 8) ==> not(x <= y) or not(y >= 8) => x > y ory = @)) print(not (x¢=y) or not(y>=@)) print(xsy or y<@) print(* print(not(x <= y or y >= @)) print(not(xe=y) and not (y>=0)) print(xey and y<@) Avaluacié d'expressions Els operadors s‘avaluen segons les segiients regles de precedéncia i associativitat fie:1C:UsorsjosepiDownloads/Sessio2 html ano ssittian 1228 Sessio2 © +, +,not (Operadors unaris) (assignacié) Tots els operands tenen associatvitat d'esquerra a drete sl2a+3*2<9 B= 26 52 = (8 <= 25) 53 = (10 < B <= 25) # MAT fer-ho aixt. Canviar per s3 = 10 < B and B <= 25 sas tate tc Tetra = 'F* 5 = 'A' <= Letra and Letra < 86 = (((1letra == 'a' or letra == ‘e') or (letra == ‘i")) or (Lletra=='o")) or (1letr A=6 ST=A* 20/344 SB = (float(A) * 20.0) / 3.0 * float(4) > 0.0 print("s1 si," s2 :",82," 53 :")53," s@: "185," $6 :",56," s7 :",37," 38 sl: False s2: False s3: False s4: True sS : True s6: False s7: 160.8 s8:T ue ENUNCIAT. Dissenyeu un algorisme que calculi la nota final nf d'un estudiant a partir de la nota de teoria nt ila nota de practiques np donant el 60% del pes a la nota de teoria iel 40% del pes ale nota de practiques. Si aquest calcul porta a una nota final nf més gran o igual a 4.5 i més petita que 5.0, la nota defintiva total s‘ajustara de la forma segiient: La nota final sera 5.0 si nf és més gran o igual a 4.75 0 bé si nf és més petita que 4.75 ila nota de teoria és més gran o igual a 7.0. Altrament, la nota final sera 45. nt = float(input ("Entre nota Teoria : ")) np = float(input("Entre nota Practiques : *)) nf = nt * 0.60 + np * 0.40 if npco or np>10: print("nota practiques mal entrada") elif nti0: print(*nota teoria mal entrada") else: if nf >= 4.5 and nf < 5.0: Af nf >= 4.75: nf = 5.0 elif nf < 4.75 and nt >= 7.0: nf = 5.0 else: nf = 4.5 print ("La nota final és {ie:13C:UsorsjosepiDownloads/Sessio2 html eno ssittian 1228 Sessio2 controlar que Les notes estiguin entre @ 1 10 re nota Teoria : 89 Entre nota Practiques : 98 nota practiques mal entrada fie:1C:UsorsjosepiDownloads/Sessio2 html s010

You might also like