Examen de Recursos Informáticos UB 2016 · Recull d'exàmens de Python (Part 1)

Examen de Recursos Informáticos de la UB (Grado en Química) 2016, Recull d'exàmens de Python (Part 1): 124 problemas con solución. Con corrección al momento.

Temas del examen: Tipus de dades, operadors i entrada/sortida bàsica · Estructures de control: condicionals i bucles · Cadenes de caràcters i llistes · Funcions definides per l'usuari · Arrays NumPy i càlcul vectorial · Sèries numèriques, aproximacions i errors · Lectura i processament de conjunts de dades (teclat i fitxers) · Tabulació i representació gràfica de funcions

Ejercicio 2018 Part I - Exercici 1: Bucle for i cadenes · Estructures de control: condicionals i bucles

Context

Aquest document recull els enunciats i les solucions de les proves parcials i finals de programació en Python (convocatòries de 2016 a 2018). Inclou preguntes de seguiment de codi, correcció d'errors de sintaxi i lògica, tractament de fitxers de dades, llibreries numpy i matplotlib, i desenvolupament d'algoritmes numèrics bàsics.

Aquest document recull diversos exercicis procedents de proves parcials oficials. S'avaluen competències fonamentals de sintaxi, estructures de control, manipulació de col·leccions i càlcul numèric o simbòlic amb llenguatges de propòsit científic.

1. 2018 Part I - Exercici 1: Bucle for i cadenes

Indiqueu quina serà la sortida exacta per pantalla produïda pel següent fragment de codi:

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

for i in llista:

at = i * '@'

print(at)

Ejercicio 2018 Part I - Exercici 2: Array de zeros i operac… · Arrays NumPy i càlcul vectorial

Context

Aquest document recull els enunciats i les solucions de les proves parcials i finals de programació en Python (convocatòries de 2016 a 2018). Inclou preguntes de seguiment de codi, correcció d'errors de sintaxi i lògica, tractament de fitxers de dades, llibreries numpy i matplotlib, i desenvolupament d'algoritmes numèrics bàsics.

Aquest document recull diversos exercicis procedents de proves parcials oficials. S'avaluen competències fonamentals de sintaxi, estructures de control, manipulació de col·leccions i càlcul numèric o simbòlic amb llenguatges de propòsit científic.

2. 2018 Part I - Exercici 2: Array de zeros i operacions

Indiqueu quins valors escriurà el següent programa per la consola:

import numpy

x = numpy.zeros(4)

for j in range(3):

x[j] = j % 2 + 1

print(x)

Ejercicio 2018 Part I - Exercici 3: Conversió de for a while · Estructures de control: condicionals i bucles

2018 Part I - Exercici 3: Conversió de for a while

Context

Aquest document recull els enunciats i les solucions de les proves parcials i finals de programació en Python (convocatòries de 2016 a 2018). Inclou preguntes de seguiment de codi, correcció d'errors de sintaxi i lògica, tractament de fitxers de dades, llibreries numpy i matplotlib, i desenvolupament d'algoritmes numèrics bàsics.

Aquest document recull diversos exercicis procedents de proves parcials oficials. S'avaluen competències fonamentals de sintaxi, estructures de control, manipulació de col·leccions i càlcul numèric o simbòlic amb llenguatges de propòsit científic.

Substituïu la instrucció for per una estructura iterativa while en el següent programa, afegint les línies necessàries perquè realitzi el mateix càlcul:

ini = 10

for i in range(3, 15, 3):

val = ini * i

ini = val

print(val)

Ejercicio 2018 Part I - Exercici 4: Càlcul de l'IMC des de… · Lectura i processament de conjunts de dades (teclat i fitxers)

Context

Aquest document recull els enunciats i les solucions de les proves parcials i finals de programació en Python (convocatòries de 2016 a 2018). Inclou preguntes de seguiment de codi, correcció d'errors de sintaxi i lògica, tractament de fitxers de dades, llibreries numpy i matplotlib, i desenvolupament d'algoritmes numèrics bàsics.

Aquest document recull diversos exercicis procedents de proves parcials oficials. S'avaluen competències fonamentals de sintaxi, estructures de control, manipulació de col·leccions i càlcul numèric o simbòlic amb llenguatges de propòsit científic.

El següent programa vol calcular i mostrar per pantalla l'Índex de Massa Corporal (IMC=mh2IMC = \frac{m}{h^2}, on mm és la massa en kg i hh l'alçada en metres) per a un conjunt de persones registrades al fitxer people.dat (on cada línia té: pes en kg i alçada en cm, separats per espai, p. ex. 64.5 170.5). Hi ha 6 errors (de sintaxi i/o concepte). Indiqueu-los i corregiu-los:

f_dades=open(people.dat)

for linia in f_dades:

pes,altura_cm=linia.strip()

pes=int(pes)

altura_cm=int(altura_cm)

altura_m = altura_cm*100

IMC = (pes/altura_m)**2

print(pes,altura_m,IMC)

Ejercicio 2018 Part I - Exercici 5: Ordenar línies suma ent… · Estructures de control: condicionals i bucles

Context

Aquest document recull els enunciats i les solucions de les proves parcials i finals de programació en Python (convocatòries de 2016 a 2018). Inclou preguntes de seguiment de codi, correcció d'errors de sintaxi i lògica, tractament de fitxers de dades, llibreries numpy i matplotlib, i desenvolupament d'algoritmes numèrics bàsics.

Aquest document recull diversos exercicis procedents de proves parcials oficials. S'avaluen competències fonamentals de sintaxi, estructures de control, manipulació de col·leccions i càlcul numèric o simbòlic amb llenguatges de propòsit científic.

Ordeneu i sagneu de forma adequada les següents instruccions per tal que el programa demani a l'usuari un enter nn, i calculi i escrigui la suma dels nn primers nombres naturals:

suma = suma + i

for i in range(1,n+1):

n=input("Entra el nombre fins el que vols sumar: ")

print("La suma total val: {}".format(suma))

n=int(n)

print("La suma parcial val: {}".format(suma))

suma=0

Ejercicio 2018 Part II - Exercici 1: Gas ideal vs Van der W… · Tabulació i representació gràfica de funcions

Context

Aquest document recull els enunciats i les solucions de les proves parcials i finals de programació en Python (convocatòries de 2016 a 2018). Inclou preguntes de seguiment de codi, correcció d'errors de sintaxi i lògica, tractament de fitxers de dades, llibreries numpy i matplotlib, i desenvolupament d'algoritmes numèrics bàsics.

Aquest document recull diversos exercicis procedents de proves parcials oficials. S'avaluen competències fonamentals de sintaxi, estructures de control, manipulació de col·leccions i càlcul numèric o simbòlic amb llenguatges de propòsit científic.

Escriviu un programa en Python que representi la pressió d'un gas en funció del volum segons l'equació de Van der Waals:

(p+n2aV2)(V−nb)=nRT\left(p + \frac{n^2 a}{V^2}\right)(V - nb) = nRT

També ha de representar en el mateix gràfic la corba de pressió corresponent a un comportament de gas ideal. Etiqueteu correctament els eixos, el títol i les corbes mitjançant una llegenda. Les dades s'han de demanar per teclat (volum inicial, volum final, nombre de punts, temperatura en graus Celsius i nombre de mols nn). Deseu els valors de pressió i volum calculats en dos fitxers de text independents ( pressio.txt i volum.txt).

Dades per a proves (SO2_2)

a=6,71 L2 atm mol−2,b=0,0564 L mol−1,R=0,082057 atm L mol−1 K−1a = 6{,}71\ \text{L}^2\,\text{atm}\,\text{mol}^{-2},\quad b = 0{,}0564\ \text{L}\,\text{mol}^{-1},\quad R = 0{,}082057\ \text{atm}\,\text{L}\,\text{mol}^{-1}\,\text{K}^{-1}

Ejercicio 2018 Part II - Exercici 2: Comprovació de palíndr… · Cadenes de caràcters i llistes

Context

Aquest document recull els enunciats i les solucions de les proves parcials i finals de programació en Python (convocatòries de 2016 a 2018). Inclou preguntes de seguiment de codi, correcció d'errors de sintaxi i lògica, tractament de fitxers de dades, llibreries numpy i matplotlib, i desenvolupament d'algoritmes numèrics bàsics.

Aquest document recull diversos exercicis procedents de proves parcials oficials. S'avaluen competències fonamentals de sintaxi, estructures de control, manipulació de col·leccions i càlcul numèric o simbòlic amb llenguatges de propòsit científic.

Un palíndrom és una paraula que es llegeix igual del dret que del revés (per exemple, rotor). Desenvolupeu un programa que demani una paraula a l'usuari i indiqui si és o no un palíndrom.

Ejercicio 2018 Part II - Exercici 3: Funció d'Agnesi i deri… · Tabulació i representació gràfica de funcions

Context

Aquest document recull els enunciats i les solucions de les proves parcials i finals de programació en Python (convocatòries de 2016 a 2018). Inclou preguntes de seguiment de codi, correcció d'errors de sintaxi i lògica, tractament de fitxers de dades, llibreries numpy i matplotlib, i desenvolupament d'algoritmes numèrics bàsics.

Aquest document recull diversos exercicis procedents de proves parcials oficials. S'avaluen competències fonamentals de sintaxi, estructures de control, manipulació de col·leccions i càlcul numèric o simbòlic amb llenguatges de propòsit científic.

Escriviu un programa que calculi i tabuli els valors de la funció d'Agnesi f(x)=1x2+1f(x) = \frac{1}{x^2+1} i de la seva derivada numèrica per a 100 punts equiespaiats en l'interval [−5,5][-5, 5]. Per al càlcul de la derivada utilitzeu l'aproximació centrada amb h=0,005h = 0{,}005:

f′(x0)≈f(x0+h)−f(x0−h)2hf'(x_0) \approx \frac{f(x_0 + h) - f(x_0 - h)}{2h}

Ejercicio 2017 Part I - Exercici 1: Operacions enteres i de… · Tipus de dades, operadors i entrada/sortida bàsica

2017 Part I - Exercici 1: Operacions enteres i decimals

Indiqueu quins valors escriurà el següent programa si l'usuari introdueix respectivament 7 i 2:

m = input("Entra un valor enter: ")

m = int(m)

n = input("Entra un altre valor enter: ")

n = int(n)

res1 = m / n

res2 = m // n

res3 = m % n

res4 = m / n * 5

print(res1, res2, res3, res4)

Indiqueu quins valors escriurà el següent programa si l'usuari introdueix respectivament 7 i 2:

m = input("Entra un valor enter: ")

m = int(m)

n = input("Entra un altre valor enter: ")

n = int(n)

res1 = m / n

res2 = m // n

res3 = m % n

res4 = m / n * 5

print(res1, res2, res3, res4) res1:

res2:

res3:

res4:

Ejercicio 2017 Part I - Exercici 2: Funcions bàsiques de Nu… · Arrays NumPy i càlcul vectorial

2017 Part I - Exercici 1: Operacions enteres i decimals

Indiqueu quins valors escriurà el següent programa si l'usuari introdueix respectivament 7 i 2:

m = input("Entra un valor enter: ")

m = int(m)

n = input("Entra un altre valor enter: ")

n = int(n)

res1 = m / n

res2 = m // n

res3 = m % n

res4 = m / n * 5

print(res1, res2, res3, res4)

Indiqueu la sortida per pantalla que generarà el següent codi de Python:

import numpy

num1 = numpy.ones(5)

print(num1)

num2 = num1 * 4

print(num2)

num3 = numpy.arange(5)

print(num3)

num4 = numpy.sqrt(num2)

print(num4)

num5 = num4 - num3

print(num5)

num6 = numpy.linspace(1, 6, 3)

print(num6)

Ejercicio 2017 Part I - Exercici 3: Operacions sobre llistes · Cadenes de caràcters i llistes

2017 Part I - Exercici 1: Operacions enteres i decimals

Indiqueu quins valors escriurà el següent programa si l'usuari introdueix respectivament 7 i 2:

m = input("Entra un valor enter: ")

m = int(m)

n = input("Entra un altre valor enter: ")

n = int(n)

res1 = m / n

res2 = m // n

res3 = m % n

res4 = m / n * 5

print(res1, res2, res3, res4)

2017 Part I - Exercici 3: Operacions sobre llistes

Indiqueu el resultat que escriurà per pantalla cadascuna de les sentències print del programa següent:

list_a = [1, 2, 3]

list_o = [3, 2, 1]

list_illo = list_a + list_o

print(list_illo)

list_on = 2 * list_a

print(list_on)

list_off = list_a[1:]

print(list_off)

list_no = list_a

list_no[0] = 10

print(list_a) 1.

2.

3.

4.

Ejercicio 2017 Part I - Exercici 4: Bucles niats i condicio… · Estructures de control: condicionals i bucles

2017 Part I - Exercici 1: Operacions enteres i decimals

Indiqueu quins valors escriurà el següent programa si l'usuari introdueix respectivament 7 i 2:

m = input("Entra un valor enter: ")

m = int(m)

n = input("Entra un altre valor enter: ")

n = int(n)

res1 = m / n

res2 = m // n

res3 = m % n

res4 = m / n * 5

print(res1, res2, res3, res4)

2017 Part I - Exercici 4: Bucles niats i condicionals

Indiqueu què i com escriurà el següent programa:

for do in range(1, 5, 2):

for re in range(1, 7, 3):

if do != re:

sol = 10 * re + do

print(sol)

Ejercicio 2017 Part I - Exercici 5: Producte escalar desord… · Cadenes de caràcters i llistes

2017 Part I - Exercici 1: Operacions enteres i decimals

Indiqueu quins valors escriurà el següent programa si l'usuari introdueix respectivament 7 i 2:

m = input("Entra un valor enter: ")

m = int(m)

n = input("Entra un altre valor enter: ")

n = int(n)

res1 = m / n

res2 = m // n

res3 = m % n

res4 = m / n * 5

print(res1, res2, res3, res4)

2017 Part I - Exercici 5: Producte escalar desordenat

Les següents línies formen un programa per calcular el producte escalar de dos vectors amb llistes. Totes les components del primer vector es llegeixen en una sola línia separades per espais; les de l'altre vector es llegeixen d'una en una en línies diferents. Ordeneu i sagneu les línies sense afegir ni esborrar cap instrucció:

w.append(w_elem)

print("El producte escalar és: ", prod)

v = []

v_list = v_line.split()

elem = float(elem)

for elem in v_list:

n = len(v)

v.append(elem)

w_elem = float(input("Dona'm la component {} del vector w: ".format(i)))

w = []

for i in range(n):

v_line = input("Entra les components del vector v separades per espais: ")

for i in range(n):

prod = prod + v[i]*w[i]

prod = 0

Ejercicio 2017 Part II - Exercici 1: Càlcul de la lletra de… · Cadenes de caràcters i llistes

2017 Part I - Exercici 1: Operacions enteres i decimals

Indiqueu quins valors escriurà el següent programa si l'usuari introdueix respectivament 7 i 2:

m = input("Entra un valor enter: ")

m = int(m)

n = input("Entra un altre valor enter: ")

n = int(n)

res1 = m / n

res2 = m // n

res3 = m % n

res4 = m / n * 5

print(res1, res2, res3, res4)

14 2017 Part II - Exercici 1: Càlcul de la lletra del DNI

Escriviu un programa que demani un número de DNI de 8 dígits (sense lletra), en calculi el residu respecte a 23 i n'assigni la lletra corresponent d'acord amb la taula estàndard: ['T', 'R', 'W', 'A', 'G', 'M', 'Y', 'F', 'P', 'D', 'X', 'B', 'N', 'J', 'Z', 'S', 'Q', 'V', 'H', 'L', 'C', 'K', 'E']. Verifiqueu prèviament que la cadena contingui exactament 8 caràcters.

Ejercicio 2017 Part II - Exercici 2: Combinacions sense rep… · Funcions definides per l'usuari

2017 Part I - Exercici 1: Operacions enteres i decimals

Indiqueu quins valors escriurà el següent programa si l'usuari introdueix respectivament 7 i 2:

m = input("Entra un valor enter: ")

m = int(m)

n = input("Entra un altre valor enter: ")

n = int(n)

res1 = m / n

res2 = m // n

res3 = m % n

res4 = m / n * 5

print(res1, res2, res3, res4)

15 2017 Part II - Exercici 2: Combinacions sense repetició

Escriviu una funció que rebi un nombre enter no negatiu i calculi el seu factorial (0!=10! = 1 per conveni). Després, mitjançant un programa principal, demaneu a l'usuari dos enters mm i nn (m≥n>0m \ge n > 0) i utilitzeu la funció definida per calcular el nombre de combinacions sense repetició:

Cm,n=m!n!(m−n)!C_{m,n} = \frac{m!}{n!(m-n)!}

Si no es compleix la condició m≥nm \ge n o algun nombre és negatiu, mostreu un missatge d'error i no feu el càlcul.

Ejercicio 2017 Part II - Exercici 3: Canvi d'entropia d'un… · Tabulació i representació gràfica de funcions

2017 Part I - Exercici 1: Operacions enteres i decimals

Indiqueu quins valors escriurà el següent programa si l'usuari introdueix respectivament 7 i 2:

m = input("Entra un valor enter: ")

m = int(m)

n = input("Entra un altre valor enter: ")

n = int(n)

res1 = m / n

res2 = m // n

res3 = m % n

res4 = m / n * 5

print(res1, res2, res3, res4)

16 2017 Part II - Exercici 3: Canvi d'entropia d'un gas ideal

La variació d'entropia d'un gas ideal monoatòmic en passar d'una temperatura T0T_0 a una temperatura TT ve donada per:

ΔS=32nRln⁡(TT0)\Delta S = \frac{3}{2} n R \ln\left(\frac{T}{T_0}\right)

on R=8,3144621 J K−1 mol−1R = 8{,}3144621\text{ J K}^{-1}\text{ mol}^{-1}. Escriviu un programa que demani per teclat T0T_0, la temperatura final TfT_f, el nombre de punts i el nombre de mols nn. Genereu un gràfic de ΔS\Delta S enfront de TT desant-lo com a augments_entropia.png (amb títol, etiquetes als eixos amb unitats i llegenda). Deseu addicionalment els valors de temperatura a temperatures.dat i els increments d'entropia a augments_entropia.dat.

Ejercicio 2016 Part I - Exercici 1: Traça de bucle while · Estructures de control: condicionals i bucles

2016 Part I

Indiqueu exactament què i com escriurà per pantalla el següent programa:

i = 15

j = 5

while i >= 2 and j > 1:

j = j - 2

i = i * j // 2 - 4

print(i, j)

Ejercicio 2016 Part I - Exercici 2: Slicing i indexació de… · Cadenes de caràcters i llistes

2016 Part I

Donada la següent llista:

listvar = ['1A', '2B', '3C', '4D', '5E', '6F', '7G', '8H', '9I'] Indiqueu quina instrucció print cal escriure per obtenir cadascun dels següents resultats:

a)

b)

c)

d)

Ejercicio 2016 Part I - Exercici 3: Sumatori d'una sèrie · Sèries numèriques, aproximacions i errors

2016 Part I

Completeu el següent codi de manera que calculi i escrigui el valor del sumatori:

∑j=1nzj−12j\sum_{j=1}^{n} \frac{z^{j-1}}{2j}

per a valors de nn (enter) i zz (real) demanats a l'usuari:

z = float(input("Introdueix un valor real de z: ")) 1.

2.

for j in 3.

4.

print("La suma val {}".format(suma))

Ejercicio 2016 Part I - Exercici 4: Matriu bidimensional en… · Arrays NumPy i càlcul vectorial

2016 Part I

Indiqueu què i com escriurà per pantalla el següent fragment de codi:

import numpy

mat = numpy.ones((4, 4))

for i in range(0, 4, 2):

for j in range(4):

mat[i, j] = 2 * mat[i, j]

print(mat[:, 1])

Ejercicio 2016 Part I - Exercici 5: Correcció de codi facto… · Estructures de control: condicionals i bucles

2016 Part I

2016 Part I - Exercici 5: Correcció de codi factorial

Reescriviu el següent programa corregint les 6 línies que contenen errors de manera que calculi i mostri el factorial d'un nombre introduït per l'usuari:

num = input("Entra un nombre enter ")

if num < 0

print("El factorial no existeix.")

elif num = 0:

print("El factorial de 0 es 1.")

else:

res = 0

for j in range(num+1):

res = res*j

print("El factorial de {} es {}".format(res))

Ejercicio 2016 Part I - Exercici 6: Llista range i elements… · Cadenes de caràcters i llistes

2016 Part I

2016 Part I - Exercici 6: Llista range i elements parells

Indiqueu què i com escriurà el següent programa:

a = list(range(9, 23, 3))

a.append(24)

alen = len(a)

print(alen)

for e in a:

if e % 2 == 0:

print(e)

Ejercicio 2016 Part II - Exercici 1: Palíndrom amb break · Estructures de control: condicionals i bucles

2016 Part I

2016 Part II - Exercici 1: Palíndrom amb break

Escriviu un programa que demani una paraula a l'usuari i indiqui mitjançant un bucle amb sortida prematura ( break) si és o no un palíndrom.

Ejercicio 2016 Part II - Exercici 2: Dipòsit d'oli i fitxers · Tabulació i representació gràfica de funcions

2016 Part I

2016 Part II - Exercici 2: Dipòsit d'oli i fitxers

En un sistema de circulació d'oli hi ha un dipòsit amb una entrada i una sortida. Es disposa de dos fitxers, oliE.dat i oliS.dat, que contenen els volums d'oli (en L, un valor per línia) que han entrat i sortit cada 3 minuts. Escriviu un programa que mostri una taula temps-volum de l'oli acumulat al dipòsit a cada instant (suposant que inicialment estava buit) i generi un gràfic del volum enfront del temps.

Pots comparar el teu codi amb la solució oficial mostrada a continuació.

Ejercicio 2016 Part II - Exercici 3: Concentració d'hidroxi… · Lectura i processament de conjunts de dades (teclat i fitxers)

2016 Part II - Exercici 3: Concentració d'hidroxils des de fitxer

2016 Part I

En un fitxer anomenat pOhvsConc.dat hi ha parelles de dades de concentració molar d'amoníac (mol/L) i el valor corresponent de pOH a cada línia. Feu un programa que defineixi una funció per calcular la concentració d'hidròxid ([OH−]=10−pOH[\mathrm{OH}^-] = 10^{-\mathrm{pOH}}), llegeixi les dades i guardi en un nou fitxer els valors màxim, mínim i mitjà de dita concentració.

Ejercicio 2016 2.0 Part I - Exercici 1: Indexació i llescat… · Cadenes de caràcters i llistes

2016 2.0 Part I - Exercici 1: Indexació i llescat de llistes

2016 Part I

Donada la següent llista en Python:

varlist = ['AA', 'BB', 'CC', 'DD', 'EE', 'FF', 'GG', 'HH', 'II'] Escriviu la instrucció que escrigui el valor o valors demanats a partir de varlist:

a.

b.

c.

d.

Ejercicio 2016 2.0 Part I - Exercici 2: Matriu amb condicio… · Arrays NumPy i càlcul vectorial

2016 2.0 Part I - Exercici 2: Matriu amb condicional

2016 Part I

Indiqueu què escriurà el següent programa per pantalla:

import numpy

m = numpy.zeros((5, 5))

for i in range(5):

for j in range(5):

if j > i:

m[i, j] = 1

else:

m[i, j] = 2

print(m[3,:])

Ejercicio 2016 2.0 Part I - Exercici 3: Conversió cm a polz… · Lectura i processament de conjunts de dades (teclat i fitxers)

2016 2.0 Part I - Exercici 3: Conversió cm a polzades

2016 Part I

El següent programa pretén llegir d'un fitxer anomenat dist_en_cm.dat una sèrie de distàncies en cm (una per línia) i mostrar per pantalla la conversió a polzades (1 cm=0,393701 inch1\text{ cm} = 0{,}393701\text{ inch}). Al programa li sobra una línia i en conté 3 amb errors. Corregiu-lo perquè funcioni adequadament:

f_cm = open("dist_en_cm.dat")

for valor in f_cm:

valor = f_cm.readline()

x_cm = valor.split()

x_cm = 0.393701*x_cm

print(x_cm, x_inch)

Ejercicio 2016 2.0 Part I - Exercici 4: Bucle while amb con… · Estructures de control: condicionals i bucles

2016 Part I

Indiqueu la sortida generada pel programa següent:

i = 6

j = 3

while (i >= 4 or i < 0):

j = j - 2

i = i * j // 2 - 4

print(i, j)

Ejercicio 2016 2.0 Part I - Exercici 5: Elements senars d'u… · Cadenes de caràcters i llistes

2016 Part I

Indiqueu què escriurà per pantalla el següent codi:

a = list(range(2, 20, 3))

a.append(20)

alen = len(a)

print(alen)

for e in a:

if e % 2 != 0:

print(e)

Ejercicio 2016 2.0 Part I - Exercici 6: Codi sumatori amb t… · Sèries numèriques, aproximacions i errors

2016 Part I

Completeu el següent codi perquè avaluï i imprimeixi el sumatori següent a partir d'un valor nn demanat a l'usuari:∑k=1n−1tan⁡(1/k)k\sum_{k=1}^{n-1} \frac{\tan(1/k)}{k}

n = input("Introdueix un valor de n: ") for k in suma = print("La suma val {}".format(suma))

Ejercicio 2016 2.0 Part II - Exercici 1: Conversió Fahrenhe… · Estructures de control: condicionals i bucles

2016 Part I

Per convertir de graus Fahrenheit a Celsius s'empra:T(∘C)=T(∘F)−321,8T(^{\circ}\text{C}) = \frac{T(^{\circ}\text{F}) - 32}{1{,}8}

Sabent que el zero absolut correspon a −459,67 ∘F-459{,}67\ ^{\circ}\text{F} (−273,15 ∘C-273{,}15\ ^{\circ}\text{C}), feu un programa que demani reiteradament valors de temperatura en ∘F^{\circ}\text{F} i mostri el seu equivalent en ∘C^{\circ}\text{C} amb 2 decimals. El programa ha d'aturar-se quan l'usuari entri un valor inferior a la temperatura mínima física possible.

Ejercicio 2016 2.0 Part II - Exercici 2: Distribució radial… · Tabulació i representació gràfica de funcions

2016 Part I

La funció de densitat de probabilitat radial per a l'orbital 2s de l'àtom d'hidrogen és:

p2s(r)=r22a03(1−r2a0)2e−r/a0p_{2s}(r) = \frac{r^2}{2a_0^3}\left(1 - \frac{r}{2a_0}\right)^2 e^{-r/a_0}

on rr és la distància al nucli i a0=0,5291772 A˚a_0 = 0{,}5291772\text{ \AA}. Feu un programa que:

Demani el valor final de radi (rfr_f) i el nombre de punts en l'interval [0,rf][0, r_f].

Calculi i mostri per pantalla una taula amb els valors de rr i p2s(r)p_{2s}(r).

Representi gràficament la corba etiquetant eixos (amb unitats A˚−1\text{\AA}^{-1}) i títol, i la desi com a rdf2s.png.

Gardi els valors de rr a radi.dat i els de p2s(r)p_{2s}(r) a rdf2s.dat.

Ejercicio 2016 2.0 Part II - Exercici 3: Moment dipolar de… · Lectura i processament de conjunts de dades (teclat i fitxers)

2016 Part I

Escriviu un programa que calculi el vector de moment dipolar d'un sistema de nn partícules carregades puntuals:

μ⃗=(μx,μy,μz)=(∑i=1nxiqi,∑i=1nyiqi,∑i=1nziqi)\vec{\mu} = (\mu_x, \mu_y, \mu_z) = \left( \sum_{i=1}^n x_i q_i, \sum_{i=1}^n y_i q_i, \sum_{i=1}^n z_i q_i \right)

L'usuari ha d'introduir primer el nombre de partícules i, a continuació, per cadascuna, la càrrega qiq_i i les coordenades xi,yi,zix_i, y_i, z_i en una sola línia separades per espais.

Ejercicio 2016 1019 Part I - Exercici 1: Correcció de suma… · Sèries numèriques, aproximacions i errors

2016 Part I

Corregiu els 5 errors presents al codi següent de manera que calculi i imprimeixi el sumatori:

∑n=010xn−13cos⁡(x)\sum_{n=0}^{10} \frac{x^{n-1}}{3\cos(x)}

x=input("Introdueix el valor de x: ")

x=float(x)

suma=0

n=0

while n<=10

suma = suma + (x*(n-1))/(3*cos(x))

n = n +1

print("La suma val: {}".format(n)) Descriu o escriu cadascun dels 5 errors corregits:

1.

2.

3.

4.

5.

Ejercicio 2016 1019 Part I - Exercici 2: Extracció numèrica… · Cadenes de caràcters i llistes

2016 Part I

Donada la cadena de text següent:

string = 'Tinc 3 monedes de 10 centims i 5 de 1 euro'

Escriviu un codi que n'extregui el nombre de monedes que té l'usuari i mostri la quantitat total de monedes.

Ejercicio 2016 1019 Part I - Exercici 3: Test cert o fals · Tipus de dades, operadors i entrada/sortida bàsica

2016 Part I

Indiqueu si cadascuna de les afirmacions següents és certa (Cert) o falsa (Fals):

.

Ejercicio 2016 1019 Part I - Exercici 4: Traça de vector en… · Arrays NumPy i càlcul vectorial

2016 Part I

Indiqueu quin valor s'escriurà després d'executar aquest programa:

import numpy

n = numpy.zeros(10)

for i in range(len(n)):

n[i] = i * 2 + 1

print(n[5])

Ejercicio 2016 1019 Part I - Exercici 5: Filtratge de nombr… · Cadenes de caràcters i llistes

2016 Part I

Indiqueu quina sortida generarà el programa següent:

a = [1, 2, 3, 4, 5, 6, 7, 8, 9]

a.append(10)

x = len(a)

print(x)

for n in a:

if n % 2 != 0:

print(n)

Ejercicio 2016 1019 Part II - Exercici 1: Comparació de mas… · Funcions definides per l'usuari

2016 Part I

Escriviu un programa en Python que:

Defineixi una funció ( massa_molec(C, H)) per calcular la massa molecular d'hidrocarburs (amb MC=12 g/molM_C = 12\text{ g/mol} i MH=1 g/molM_H = 1\text{ g/mol}).

Llegeixi per teclat el nombre d'àtoms de C i H de dos hidrocarburs diferents (nC1,nH1n_{C1}, n_{H1} i nC2,nH2n_{C2}, n_{H2}).

En calculi les masses moleculars fent ós de la funció.

Indiqui quin dels dos hidrocarburs és el més lleuger, o si tenen la mateixa massa.

Ejercicio 2016 1019 Part II - Exercici 2: Representació grà… · Tabulació i representació gràfica de funcions

2016 Part I

Escriviu un programa que representi de manera simultània les dues funcions:

f1(x)=(sin⁡(2x)+cos⁡(4x))cos⁡(x)f_1(x) = (\sin(2x) + \cos(4x)) \cos(x)f2(x)=−(sin⁡(2x)+cos⁡(4x))cos⁡(x)f_2(x) = -(\sin(2x) + \cos(4x)) \cos(x)

a l'interval [−4π,4π][-4\pi, 4\pi]. El codi ha de demanar a l'usuari el nombre de punts, retolar els eixos, posar títol, afegir llegenda i desar el resultat com a grafics.pdf.

Compara el teu codi amb la solució oficial mostrada a continuació.

Ejercicio 2016 1019 Part II - Exercici 3: Aproximació per s… · Sèries numèriques, aproximacions i errors

2016 Part I

La funció f(x)=1(1−x)2f(x) = \frac{1}{(1-x)^2} per a −1<x<1-1 < x < 1 es pot aproximar mitjançant la sèrie:

f(x)≈∑i=1ni⋅xi−1f(x) \approx \sum_{i=1}^{n} i \cdot x^{i-1}

Escriviu un programa que demani xx, verifiqui que es trobi a l'interval (−1,1)(-1, 1) i calculi el valor exacte i l'aproximació per a n=5,10,20,30n = 5, 10, 20, 30 per completar la següent taula quan x=0,5x = 0{,}5:

x=0.5x = 0.5 · nn · f(x)=1(1−x)2f(x) = \frac{1}{(1-x)^2} · f(x)≈∑i=1ni⋅xi−1f(x) \approx \sum_{i=1}^{n} i \cdot x^{i-1}

0.5 · 5

10

20

30

Ejercicio 2016 B1 Part I - Exercici 1: Bucle while i compta… · Estructures de control: condicionals i bucles

2016 Part I

Què escriurà el següent programa?

cont = 0

x = 22

while x != 0:

x = x - 3

cont = cont + 1

if cont > 1000:

print(cont)

exit()

print(x)

Ejercicio 2016 B1 Part I - Exercici 2: Avaluació d'operacio… · Tipus de dades, operadors i entrada/sortida bàsica

2016 Part I

2016 B1 Part I - Exercici 2: Avaluació d'operacions numèriques

Indiqueu quins valors escriurà el següent fragment de programa:

a = 2

b = 4

c = 6

print("a/b*c = {}".format(a/b*c))

print("a*b%c = {}".format(a*b%c))

print("ab//3 = {}".format(ab//3))

print("a+b*c = {}".format(a+b*c))

Ejercicio 2016 B1 Part I - Exercici 3: Representació gràfic… · Tabulació i representació gràfica de funcions

2016 Part I

Indiqueu els 6 errors o instruccions que falten al programa següent per tal que representi les funcions e−xe^{-x} i 11+2x\frac{1}{1+2x} a l'interval [0,5][0, 5], desi la gràfica com a arxiu_grafic.png i la mostri per pantalla:

import numpy as np

f1 = numpy.exp(-x)

f2 = 1/(1+2*x)

plt.title("Funcions exp(-x) i 1/(1+2x)")

plt.xtitle("x")

plt.plot(f1,x,'gx',label="exp(-x)")

plt.plot(x,f2,'bo',label="1/(1+2x)")

plt.legend()

plt.savefig(arxiu_grafic)

Ejercicio 2016 B1 Part I - Exercici 5: Conversió de tempera… · Arrays NumPy i càlcul vectorial

2016 Part I

Identifiqueu els 5 errors o instruccions que manquen en el següent codi, pensat per llegir un seguit de temperatures en graus Celsius en una línia separades per espais i transformar-les a Kelvin:

T=input("Escriu les temperatures Celsius separades per espais: ")

T=T.split()

for element in T

temp.append(element)

temp=numpy.array(temp)

temp = temp+273.15

print("Les temperatures en Kelvins son: {}".format(temp))

Ejercicio 2016 B1 Part II - Exercici 1 (6 punts): Càlcul de… · Funcions definides per l'usuari

2016 Part I

2016 B1 Part II - Exercici 1 (6 punts): Càlcul de notes i qualificació

Escriviu un programa que demani a l'usuari que entri en una mateixa línia les notes sobre 10 obtingudes en teoria i en problemes d'un examen. El programa ha de calcular la nota global tenint en compte que la teoria pondera un 60% i els problemes un 40%. A continuació, ha de cridar una funció que rebi la nota numèrica i retorni la qualificació qualitativa:

'suspens' si la nota és inferior a 5.

'aprovat' si està entre 5 i 7 (no inclòs).

'notable' si està entre 7 i 9 (no inclòs).

'excel·lent' si és igual o superior a 9.

El programa principal ha d'escriure la qualificació final obtinguda.

Ejercicio 2016 B1 Part II - Exercici 2: Anàlisi de paraules… · Cadenes de caràcters i llistes

2016 Part I

Escriviu un programa que demani a l'usuari un text. El programa ha de comptar i escriure:

El nombre total de paraules del text.

El nombre total de caràcters (sense comptar els espais).

El percentatge de paraules que contenen almenys una vegada la lletra 'e'.

Ejercicio 2016 B1 Part II - Exercici 3: Comprovació de nomb… · Estructures de control: condicionals i bucles

2016 Part I

Un nombre natural és perfecte si és igual a la suma de tots els seus divisors positius estrictament menors que ell mateix (per exemple, 6 és perfecte perquè 1+2+3=61 + 2 + 3 = 6; altres exemples són 28, 496...). Escriviu un programa que demani a l'usuari un nombre natural i determini si és o no perfecte.

Ejercicio 18 de març 2016 Part A - Exercici 1 (2 punts): Va… · Tipus de dades, operadors i entrada/sortida bàsica

Donada la següent llista en Python:

l_1 = [33, 44, 55, 66, 'final'] Escriviu en una única línia la instrucció que mostri el contingut sol·licitat:

50 18 de març 2016 Part A - Exercici 1 (2 punts): Validesa d'assignacions

Indica si les següents instruccions d'assignació són correctes o incorrectes en Python:

a.

i += 6

b.

0x = 3.0

c.

x = -1 > 0 or 3 > 5

d.

x = int(input("Valor? "))

e.

y = float(input("Valors? ").split())

Ejercicio 18 de març 2016 Part A - Exercici 2 (3 punts): Co… · Funcions definides per l'usuari

Donada la següent llista en Python:

l_1 = [33, 44, 55, 66, 'final'] Escriviu en una única línia la instrucció que mostri el contingut sol·licitat:

L'energia lliure estàndard de Gibbs per a la transformació de l'aigua líquida a gel a temperatures inferiors a la de fusió és:

ΔG∘(T)=9,26Tln⁡(T)−55,95T+1092,8 kcal/mol\Delta G^\circ(T) = 9{,}26 T \ln(T) - 55{,}95 T + 1092{,}8\text{ kcal/mol} Identifiqueu els 5 errors en el programa següent concebut per calcular ΔG\Delta G a partir d'una temperatura en graus Celsius introduïda per l'usuari:

def DeltaG(T):\n

DG = 9.26*T*ln(T) - 55.95*T + 1092.8\nTemp = input("Introdueix un valor de temperatura (Celsius): ")\nTemp = Temp + 273.15\nres = DeltaG(Temp)\nprint("La funció de Gibbs val: kcal/mol".format(res)) 1.

2.

3.

4.

5.

Ejercicio 18 de març 2016 Part A - Exercici 3 (2 punts): Op… · Arrays NumPy i càlcul vectorial

Donada la següent llista en Python:

l_1 = [33, 44, 55, 66, 'final'] Escriviu en una única línia la instrucció que mostri el contingut sol·licitat:

Què escriurà el següent programa?

import numpy

vec1 = numpy.ones(5)

vec1 = 3 * vec1

vec2 = numpy.arange(5)

vec3 = vec2 - vec1

print(vec3)

Ejercicio 18 de març 2016 Part A - Exercici 4 (2 punts): In… · Cadenes de caràcters i llistes

Donada la següent llista en Python:

l_1 = [33, 44, 55, 66, 'final'] Escriviu en una única línia la instrucció que mostri el contingut sol·licitat:

Donada la llista:

temp = [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60] Escriviu en una única línia la instrucció que n'escrigui els valors indicats:

a.

b.

c.

d.

Ejercicio 18 de març 2016 Part A - Exercici 5 (2 punts): So… · Estructures de control: condicionals i bucles

Donada la següent llista en Python:

l_1 = [33, 44, 55, 66, 'final'] Escriviu en una única línia la instrucció que mostri el contingut sol·licitat:

Què escriurà el programa següent per a cadascun dels tres casos especificats?

for i in range(j, n, k):

print(i) a.

b.

c.

Ejercicio 18 de març 2016 Part A - Exercici 6 (3 punts): Cà… · Estructures de control: condicionals i bucles

Donada la següent llista en Python:

l_1 = [33, 44, 55, 66, 'final'] Escriviu en una única línia la instrucció que mostri el contingut sol·licitat:

18 de març 2016 Part A - Exercici 6 (3 punts): Càlcul de productori (factorial)

Completeu el següent programa de manera que avaluï correctament el productori dels nn primers nombres naturals (n!=∏k=1nkn! = \prod_{k=1}^n k):

n = int(input("Introdueix un valor de n: "))

print("El factorial val {}".format(prod))

Ejercicio 18 de març 2016 Part B - Exercici 1 (2 punts): Va… · Tipus de dades, operadors i entrada/sortida bàsica

Donada la següent llista en Python:

l_1 = [33, 44, 55, 66, 'final'] Escriviu en una única línia la instrucció que mostri el contingut sol·licitat:

18 de març 2016 Part B - Exercici 1 (2 punts): Validesa d'assignacions

Indica si les següents instruccions d'assignació són correctes o incorrectes:

a.

i *= 5

b.

num = "acetona"

c.

x = x == 3

d.

x = float("25" + 273.15)

e.

y = input("Valors? ").split()

Ejercicio 18 de març 2016 Part B - Exercici 2 (3 punts): Co… · Funcions definides per l'usuari

Donada la següent llista en Python:

l_1 = [33, 44, 55, 66, 'final'] Escriviu en una única línia la instrucció que mostri el contingut sol·licitat:

18 de març 2016 Part B - Exercici 2 (3 punts): Correcció càlcul d'entropia

S'ha determinat la funció que descriu el valor de l'entropia de l'hidrogen a 1 bar de pressió:

S∘(T)=130,684+3R2ln⁡(T298,15) J⋅K−1⋅mol−1S^\circ(T) = 130{,}684 + \frac{3R}{2} \ln\left(\frac{T}{298{,}15}\right) \text{ J}\cdot\text{K}^{-1}\cdot\text{mol}^{-1}

amb R=8,314 J⋅K−1⋅mol−1R = 8{,}314 \text{ J}\cdot\text{K}^{-1}\cdot\text{mol}^{-1}. Identifiqueu els 5 errors en el codi següent, concebut per calcular l'entropia a partir d'una temperatura en Celsius:

def Sfunc(T):

R = 8.314

S = 130.684 + 3*R*ln(T/298.15)/2

Temp = input("Introdueix un valor de temperatura (Celsius): ")

Temp = Temp + 273.15

res = Sfunc(Temp)

print("L'entropia val J/K-mol".format(res))

Ejercicio 18 de març 2016 Part B - Exercici 3 (2 punts): Mo… · Arrays NumPy i càlcul vectorial

Donada la següent llista en Python:

l_1 = [33, 44, 55, 66, 'final'] Escriviu en una única línia la instrucció que mostri el contingut sol·licitat:

18 de març 2016 Part B - Exercici 3 (2 punts): Modificació de llesques en NumPy

Indiqueu què escriurà el programa següent:

import numpy

vec1 = numpy.zeros(5)

vec1[2:5] = 3

vec2 = numpy.arange(5)

vec3 = vec2 + vec1

print(vec3)

Ejercicio 18 de març 2016 Part B - Exercici 4 (2 punts): In… · Cadenes de caràcters i llistes

Donada la següent llista en Python:

l_1 = [33, 44, 55, 66, 'final'] Escriviu en una única línia la instrucció que mostri el contingut sol·licitat:

Donada la següent llista en Python:

l_1 = [33, 44, 55, 66, 'final'] Escriviu en una única línia la instrucció que mostri el contingut sol·licitat:

a.

b.

c.

Pregunta 5 (2 punts). Conversió de temperatures d… · Cadenes de caràcters i llistes

Completeu les línies de codi següents de manera que s'ompli la llista buida tK amb els valors corresponents en escala Kelvin a partir dels graus continguts a la llista tC:

Pregunta 6 (3 punts). Sumatori trigonomètric en b… · Sèries numèriques, aproximacions i errors

Identifiqueu i esmeneu els 5 errors que impedeixen calcular correctament la següent suma:

∑k=1nsin⁡(kθ)k\sum_{k=1}^{n} \frac{\sin(k\theta)}{k}

Codi amb errors que cal corregir:

Ejercicio 18 de març 2016 C - Pregunta 1 (1 punt). Concaten… · Tipus de dades, operadors i entrada/sortida bàsica

Donada la següent llista en Python:

l_1 = [33, 44, 55, 66, 'final'] Escriviu en una única línia la instrucció que mostri el contingut sol·licitat:

Quina sortida mostrarà per pantalla el següent fragment si l'usuari introdueix successivament els valors 3 i 5 ?

a = input("Introduïu un nombre")

b = input("Introduïu un nombre")

c = a + b

print(c)

Ejercicio 18 de març 2016 C - Pregunta 2 (2.5 punts). Index… · Cadenes de caràcters i llistes

Donada la següent llista en Python:

l_1 = [33, 44, 55, 66, 'final'] Escriviu en una única línia la instrucció que mostri el contingut sol·licitat:

Indiqueu el text exacte que s'escriurà en executar el programa següent:

a = "edcba"

b = "abcde"

c = a + b

d = a[1:]

e = b[:-2]

f = c[:]

print(a, b, c, d, e, f)

Ejercicio 18 de març 2016 C - Pregunta 3 (1.5 punts). Corre… · Funcions definides per l'usuari

Donada la següent llista en Python:

l_1 = [33, 44, 55, 66, 'final'] Escriviu en una única línia la instrucció que mostri el contingut sol·licitat:

Corregiu el programa perquè s'executi sense fallades:

import math as m

x = float(input("Introduïu un valor numèric"))

y = m.sin(x)

print("El valor del sinus de {} és {}".format(x, y))

Ejercicio 18 de març 2016 C - Pregunta 4 (2.5 punts). Llesc… · Cadenes de caràcters i llistes

Donada la següent llista en Python:

l_1 = [33, 44, 55, 66, 'final'] Escriviu en una única línia la instrucció que mostri el contingut sol·licitat:

Donada la definició elements = 'HCONPIF', escriviu per a cada cas una única instrucció de Python que imprimeixi el resultat requerit:

a.

b.

c.

d.

e.

Ejercicio 18 de març 2016 C - Pregunta 5 (2.5 punts). Lectu… · Lectura i processament de conjunts de dades (teclat i fitxers)

Donada la següent llista en Python:

l_1 = [33, 44, 55, 66, 'final'] Escriviu en una única línia la instrucció que mostri el contingut sol·licitat:

Reescriviu el codi següent de manera que, en lloc de demanar les dades per teclat, llegeixi els valors de x i y de les dues primeres línies de l'arxiu input.dat i guardi el missatge final dins del fitxer output.res:

x = float(input("Entra el valor d'x"))

y = float(input("Entra el valor d'y"))

mitjana = (x + y)/2

print("La mitjana és {}".format(mitjana))

Ejercicio 18 de març 2016 C - Pregunta 6 (2 punts). Bucle w… · Estructures de control: condicionals i bucles

Donada la següent llista en Python:

l_1 = [33, 44, 55, 66, 'final'] Escriviu en una única línia la instrucció que mostri el contingut sol·licitat:

Completeu i modifiqueu l'esquema de codi per mostrar per pantalla tots els enters imparells entre 1 i 39:

Ejercicio 18 de març 2016 C - Pregunta 7 (2 punts). Bucles… · Estructures de control: condicionals i bucles

Donada la següent llista en Python:

l_1 = [33, 44, 55, 66, 'final'] Escriviu en una única línia la instrucció que mostri el contingut sol·licitat:

Quin resultat s'imprimeix en executar aquest fragment de codi?

for i in range(1):

for j in range(2):

print(10*i + j)

Ejercicio 18 de març 2016 D - Pregunta 1 (3 punts). Append… · Cadenes de caràcters i llistes

Donada la següent llista en Python:

l_1 = [33, 44, 55, 66, 'final'] Escriviu en una única línia la instrucció que mostri el contingut sol·licitat:

Indiqueu quines dades escriurà el següent programa:

a = [8, 3, 11, 24, 37, 16]

a.append(10)

x = len(a)

print(x)

for n in a:

if n % 2 == 0:

print(n)

Ejercicio 18 de març 2016 D - Pregunta 2 (3 punts). Composi… · Funcions definides per l'usuari

Donada la següent llista en Python:

l_1 = [33, 44, 55, 66, 'final'] Escriviu en una única línia la instrucció que mostri el contingut sol·licitat:

Quin és el resultat que es mostra si l'usuari introdueix el valor 3 ?

def f_x(x):

z = x * x

return z

def f_k(k):

c = f_x((2 * k) * (-1)**k)

return c

a = int(input("Introdueix un valor enter: "))

b = f_k(a)

print(b)

Ejercicio 18 de març 2016 D - Pregunta 3 (2 punts). Condici… · Estructures de control: condicionals i bucles

Donada la següent llista en Python:

l_1 = [33, 44, 55, 66, 'final'] Escriviu en una única línia la instrucció que mostri el contingut sol·licitat:

18 de març 2016 D - Pregunta 3 (2 punts). Condicional per al signe d'un nombre

Completeu el codi perquè determini de forma exhaustiva si el valor enter introduït és positiu, zero o negatiu:

n = int(input("Introdueix un valor sencer [n]: ")) if:

print("El valor {} es positiu".format(n))

elif:

print("El valor {} es zero".format(n))

:

print("El valor {} es negatiu".format(n))

Ejercicio 18 de març 2016 D - Pregunta 4 (3 punts). Correcc… · Sèries numèriques, aproximacions i errors

Donada la següent llista en Python:

l_1 = [33, 44, 55, 66, 'final'] Escriviu en una única línia la instrucció que mostri el contingut sol·licitat:

18 de març 2016 D - Pregunta 4 (3 punts). Correcció de càlcul de sumatori

Esmenau els 5 errors presents al codi per avaluar correctament l'expressió matemàtica següent:

∑n=010x2n−12n\sum_{n=0}^{10} \frac{x^{2n-1}}{2\sqrt{n}}

per a un valor xx facilitat per l'usuari.

Escriu el codi Python complet i corregit (amb els 5 errors esmenats):

Ejercicio 18 de març 2016 D - Pregunta 5 (2 punts). Extracc… · Cadenes de caràcters i llistes

Donada la següent llista en Python:

l_1 = [33, 44, 55, 66, 'final'] Escriviu en una única línia la instrucció que mostri el contingut sol·licitat:

Donada la frase:

string = 'El grup 2P te 20 alumnes i el 2Q en te 17' Escriviu les instruccions en Python necessàries per obtenir el nombre d'alumnes dels grups 2P i 2Q i calcular-ne el valor total.

Ejercicio 18 de març 2016 D - Pregunta 6 (1 punt). Modifica… · Arrays NumPy i càlcul vectorial

Donada la següent llista en Python:

l_1 = [33, 44, 55, 66, 'final'] Escriviu en una única línia la instrucció que mostri el contingut sol·licitat:

Què mostrarà el programa següent?

import numpy

n = numpy.zeros(5)

for i in range(5):

n[i] = i**2 + 1

print(n[2])

Ejercicio 18 de març 2016 D - Pregunta 7 (2 punts). Nombre… · Estructures de control: condicionals i bucles

Donada la següent llista en Python:

l_1 = [33, 44, 55, 66, 'final'] Escriviu en una única línia la instrucció que mostri el contingut sol·licitat:

Indiqueu quantes iteracions executa el cos de cadascun dels següents bucles for:

a.

for i in range(1, 10):

b.

for i in range(8):

c.

for i in range(3, 35, 5):

d.

for i in range(100, 10, -10):

Ejercicio 19 d'octubre 2016 A - Pregunta 1 (2 punts). Gràfi… · Tabulació i representació gràfica de funcions

19 de març 2018 A

19 d'octubre 2016 A - Pregunta 1 (2 punts). Gràfica amb Matplotlib

Indiqueu els errors i instruccions que manquen en el codi següent, dissenyat per dibuixar les funcions e−xe^{-x} i 1/(1+x)1/(1+x) a l'interval [0,5][0, 5], emmagatzemar la imatge com a fitxer anomenat arxiu_de_dibuix i obrir-la a la pantalla:

import numpy as np

import matplotlib.pyplot as plt

x = np.linspace(0, 5)

f1 = np.exp(-x)

f2 = 1 / (1 + x)

plt.title("Funcions exp(-x) i 1/(1+x)")

plt.xlabel("x")

plt.plot(x, f1, 'gx', label="exp(-x)")

plt.plot(x, f2, 'bo', label="1/(1+x)")

plt.legend()

plt.savefig("arxiu_de_dibuix")

plt.show()

Ejercicio 19 d'octubre 2016 A - Pregunta 2 (3 punts). Conve… · Arrays NumPy i càlcul vectorial

19 de març 2018 A

Localitzeu els 5 errors o carències del següent codi per convertir valors de graus Celsius a Kelvin introduïts per l'usuari en una sola línia:

import numpy as np

T = input("Escriu les temperatures Celsius separades per espais: ")

T = T.split()

temp = []

for element in T:

temp.append(float(element))

temp = np.array(temp)

temp = temp + 273.15

print("Les temperatures en Kelvins son: {}".format(temp))

Ejercicio 19 d'octubre 2016 A - Pregunta 3 (2 punts). Bucle… · Estructures de control: condicionals i bucles

19 d'octubre 2016 A - Pregunta 1 (2 punts). Gràfica amb Matplotlib

Indiqueu els errors i instruccions que manquen en el codi següent, dissenyat per dibuixar les funcions e−xe^{-x} i 1/(1+x)1/(1 + x) a l'interval [0,5][0, 5], emmagatzemar la imatge com a fitxer anomenat arxiu_de_dibuix i obrir-la a la pantalla:

19 d'octubre 2016 A - Pregunta 3 (2 punts). Bucle while amb decrements

Quin valor final mostrarà el programa següent?

cont = 0

x = 20

while x != 0:

x = x - 3

cont = cont + 1

if cont > 1000:

print(cont)

exit()

print(x)

Ejercicio 19 d'octubre 2016 A - Pregunta 4 (2 punts). Opera… · Tipus de dades, operadors i entrada/sortida bàsica

19 d'octubre 2016 A - Pregunta 1 (2 punts). Gràfica amb Matplotlib

Indiqueu els errors i instruccions que manquen en el codi següent, dissenyat per dibuixar les funcions e−xe^{-x} i 1/(1+x)1/(1 + x) a l'interval [0,5][0, 5], emmagatzemar la imatge com a fitxer anomenat arxiu_de_dibuix i obrir-la a la pantalla:

Indiqueu quins quatre valors s'escriuran per pantalla:

a = 2

b = 4

c = 6

print("a+b*c = {}".format(a + b*c))

print("a/b*c = {}".format(a / b*c))

print("ab//3 = {}".format(ab // 3))

print("a*b%c = {}".format(a*b % c))

Ejercicio 19 d'octubre 2016 A - Pregunta 5 (1 punt). Conver… · Tipus de dades, operadors i entrada/sortida bàsica

19 d'octubre 2016 A - Pregunta 5 (1 punt). Conversió de decimal a binari (216)

19 de març 2018 A

Calculeu la representació binària del nombre decimal (216)10(216)_{10}.

Ejercicio 19 d'octubre 2016 B - Pregunta 1 (2 punts). Bucle… · Estructures de control: condicionals i bucles

19 d'octubre 2016 A - Pregunta 1 (2 punts). Gràfica amb Matplotlib

Indiqueu els errors i instruccions que manquen en el codi següent, dissenyat per dibuixar les funcions e−xe^{-x} i 1/(1+x)1/(1 + x) a l'interval [0,5][0, 5], emmagatzemar la imatge com a fitxer anomenat arxiu_de_dibuix i obrir-la a la pantalla:

19 d'octubre 2016 B - Pregunta 1 (2 punts). Bucle while amb decrements (x=22)

Quin resultat mostrarà per pantalla aquest programa?

cont = 0

x = 22

while x != 0:

x = x - 3

cont = cont + 1

if cont > 1000:

print(cont)

exit()

print(x)

Ejercicio 19 d'octubre 2016 B - Pregunta 2 (2 punts). Prece… · Tipus de dades, operadors i entrada/sortida bàsica

19 d'octubre 2016 A - Pregunta 1 (2 punts). Gràfica amb Matplotlib

Indiqueu els errors i instruccions que manquen en el codi següent, dissenyat per dibuixar les funcions e−xe^{-x} i 1/(1+x)1/(1 + x) a l'interval [0,5][0, 5], emmagatzemar la imatge com a fitxer anomenat arxiu_de_dibuix i obrir-la a la pantalla:

19 d'octubre 2016 B - Pregunta 2 (2 punts). Precedència d'operadors aritmètics

Determineu la sortida de cadascuna de les impressions:

a = 2

b = 4

c = 6

print("a/b*c = {}".format(a / b * c))

print("a*b%c = {}".format(a * b % c))

print("ab//3 = {}".format(ab // 3))

print("a+b*c = {}".format(a + b * c))

Ejercicio 19 d'octubre 2016 B - Pregunta 3 (2 punts). Gràfi… · Tabulació i representació gràfica de funcions

19 de març 2018 A

Corregiu els 6 errors del programa per dibuixar e−xe^{-x} i 1/(1+2x)1/(1+2x) a l'interval [0,5][0, 5] i desar la imatge a arxiu_grafic:

import numpy as np

import matplotlib.pyplot as plt

x = np.linspace(0, 5)

f1 = np.exp(-x)

f2 = 1 / (1 + 2 * x)

plt.title("Funcions exp(-x) i 1/(1+2x)")

plt.xlabel("x")

plt.plot(x, f1, 'gx', label="exp(-x)")

plt.plot(x, f2, 'bo', label="1/(1+2x)")

plt.legend()

plt.savefig("arxiu_grafic")

plt.show() Escriu el codi Python complet corregit o explica/esmena cadascun dels errors:

Ejercicio 19 d'octubre 2016 B - Pregunta 4 (1 punt). Conver… · Tipus de dades, operadors i entrada/sortida bàsica

19 d'octubre 2016 A - Pregunta 1 (2 punts). Gràfica amb Matplotlib

Indiqueu els errors i instruccions que manquen en el codi següent, dissenyat per dibuixar les funcions e−xe^{-x} i 1/(1+x)1/(1 + x) a l'interval [0,5][0, 5], emmagatzemar la imatge com a fitxer anomenat arxiu_de_dibuix i obrir-la a la pantalla:

19 d'octubre 2016 B - Pregunta 4 (1 punt). Conversió de decimal a binari (218)

Trobeu la codificació binària del nombre decimal (218)10(218)_{10}.

Ejercicio 19 d'octubre 2016 B - Pregunta 5 (3 punts). Conve… · Arrays NumPy i càlcul vectorial

19 de març 2018 A

Solucioneu els 5 errors de programació per transformar una cadena amb temperatures en graus Celsius a valors en Kelvin:

import numpy as np

T = input("Escriu les temperatures Celsius separades per espais: ")

T = T.split()

temp = []

for element in T:

temp.append(float(element))

temp = np.array(temp)

temp = temp + 273.15

print("Les temperatures en Kelvins son: {}".format(temp)) Escriu el codi corregit o indica les correccions fetes:

Ejercicio 19 d'octubre 2016 - Pregunta 1 (3 punts). Sumator… · Sèries numèriques, aproximacions i errors

19 de març 2018 A

86. 19 d'octubre 2016 - Pregunta 1 (3 punts). Sumatori amb funcions trigonomètriques

Localitzeu i corregiu els 5 errors en aquest codi per calcular el resultat de:

∑n=010xn−13cos⁡(x)\sum_{n=0}^{10} \frac{x^{n-1}}{3\cos(x)}

Codi amb errors:

import math in m

x = float(input("Introdueix el valor de x: "))

suma = 0

n = 0

while n < 10:

suma = suma + (x*(n - 1)) / (3 * cos(x))

n = n + 1

print("La suma val: {}".format(n))

Escriviu el codi complet corregit:

Ejercicio 19 d'octubre 2016 - Pregunta 2 (2 punts). Extracc… · Cadenes de caràcters i llistes

19 de març 2018 A

Escriu un programa per sumar les quantitats de monedes a partir de la cadena següent:

string = 'Tinc 3 monedes de 10 centims i 5 de 1 euro'

Ejercicio 19 d'octubre 2016 - Pregunta 3 (3 punts). Qüestio… · Tipus de dades, operadors i entrada/sortida bàsica

19 de març 2018 A

Indiqueu la certesa o falsedat de cadascuna de les afirmacions següents:

.

Cert

Fals

Ejercicio 19 d'octubre 2016 - Pregunta 4 (2 punts). Modific… · Arrays NumPy i càlcul vectorial

19 de març 2018 A

Quin serà el valor mostrat en pantalla?

import numpy

n = numpy.zeros(10)

for i in range(len(n)):

n[i] = i * 2 + 1

print(n[5])

Ejercicio 19 d'octubre 2016 - Pregunta 5 (2 punts). Iteraci… · Cadenes de caràcters i llistes

19 de març 2018 A

19 d'octubre 2016 - Pregunta 5 (2 punts). Iteració sobre llista filtrant senars

Quina sortida generarà el programa?

a = [1, 2, 3, 4, 5, 6, 7, 8, 9]

a.append(10)

x = len(a)

print(x)

for n in a:

if n % 2 != 0:

print(n)

Ejercicio 28 d'octubre 2016 IA A - Pregunta 1 (2 punts). In… · Cadenes de caràcters i llistes

28 d'octubre 2016 IA A - Pregunta 1 (2 punts). Indexació sobre llista de cadenes

Tenint en compte la llista:

varlist = ['AA', 'BB', 'CC', 'DD', 'EE', 'FF', 'GG', 'HH', 'II'] Escriviu la instrucció precisa per obtenir:

Tenint en compte la llista:

varlist = ['AA', 'BB', 'CC', 'DD', 'EE', 'FF', 'GG', 'HH', 'II']

Escriviu la instrucció precisa per obtenir:

a.

b.

c.

d.

Ejercicio 28 d'octubre 2016 IA A - Pregunta 2 (3 punts). Mo… · Arrays NumPy i càlcul vectorial

28 d'octubre 2016 IA A - Pregunta 1 (2 punts). Indexació sobre llista de cadenes

Tenint en compte la llista:

varlist = ['AA', 'BB', 'CC', 'DD', 'EE', 'FF', 'GG', 'HH', 'II'] Escriviu la instrucció precisa per obtenir:

Què mostrarà el següent fragment de codi?

import numpy

m = numpy.zeros((5, 5))

for i in range(5):

for j in range(5):

if j > i:

m[i, j] = 1

else:

m[i, j] = 2

print(m[3,:])

Ejercicio 28 d'octubre 2016 IA A - Pregunta 3 (2 punts). Co… · Lectura i processament de conjunts de dades (teclat i fitxers)

28 d'octubre 2016 IA A - Pregunta 1 (2 punts). Indexació sobre llista de cadenes

Tenint en compte la llista:

varlist = ['AA', 'BB', 'CC', 'DD', 'EE', 'FF', 'GG', 'HH', 'II'] Escriviu la instrucció precisa per obtenir:

El codi següent ha de transformar centímetres a polzades llegint un nombre per línia del fitxer dist_en_cm.dat (1 cm=0.393701 in1\text{ cm} = 0.393701\text{ in}). Sobra una línia i 3 tenen errors. Corregiu-lo:

f_cm = open("dist_en_cm.dat")

for valor in f_cm:

x_cm = float(valor)

x_inch = 0.393701 * x_cm

print(x_cm, x_inch)

f_cm.close()

Ejercicio 28 d'octubre 2016 IA A - Pregunta 4 (2 punts). Bu… · Estructures de control: condicionals i bucles

28 d'octubre 2016 IA A - Pregunta 1 (2 punts). Indexació sobre llista de cadenes

Tenint en compte la llista:

varlist = ['AA', 'BB', 'CC', 'DD', 'EE', 'FF', 'GG', 'HH', 'II'] Escriviu la instrucció precisa per obtenir:

Quina sortida genera el programa següent?

i = 6

j = 3

while (i >= 4 or i < 0):

j = j - 2

i = i * j // 2 - 4

print(i, j)

Ejercicio 28 d'octubre 2016 IA A - Pregunta 5 (2 punts). Bu… · Cadenes de caràcters i llistes

28 d'octubre 2016 IA A - Pregunta 1 (2 punts). Indexació sobre llista de cadenes

Tenint en compte la llista:

varlist = ['AA', 'BB', 'CC', 'DD', 'EE', 'FF', 'GG', 'HH', 'II'] Escriviu la instrucció precisa per obtenir:

Indiqueu què escriurà el següent programa:

a = list(range(2, 20, 3))

a.append(20)

alen = len(a)

print(alen)

for e in a:

if e % 2 != 0:

print(e)

Ejercicio 28 d'octubre 2016 IA A - Pregunta 6 (3 punts). Su… · Sèries numèriques, aproximacions i errors

28 d'octubre 2016 IA A - Pregunta 1 (2 punts). Indexació sobre llista de cadenes

Tenint en compte la llista:

varlist = ['AA', 'BB', 'CC', 'DD', 'EE', 'FF', 'GG', 'HH', 'II'] Escriviu la instrucció precisa per obtenir:

28 d'octubre 2016 IA A - Pregunta 6 (3 punts). Sumatori trigonomètric de la tangent

Completeu el codi per calcular el següent sumatori a partir d'un nombre nn demanat a l'usuari:

∑k=1n−1tan⁡(1/k)k\sum_{k=1}^{n-1} \frac{\tan(1/k)}{k}

Ejercicio 28 d'octubre 2016 IA P - Pregunta 1 (2 punts). Tr… · Estructures de control: condicionals i bucles

28 d'octubre 2016 IA A - Pregunta 1 (2 punts). Indexació sobre llista de cadenes

Tenint en compte la llista:

varlist = ['AA', 'BB', 'CC', 'DD', 'EE', 'FF', 'GG', 'HH', 'II'] Escriviu la instrucció precisa per obtenir:

Indiqueu quins valors escriurà el programa:

i = 15

j = 5

while i >= 2 and j > 1:

j = j - 2

i = i * j // 2 - 4

print(i, j) 1.

2.

Ejercicio 28 d'octubre 2016 IA P - Pregunta 2 (2 punts). In… · Cadenes de caràcters i llistes

28 d'octubre 2016 IA A - Pregunta 1 (2 punts). Indexació sobre llista de cadenes

Tenint en compte la llista:

varlist = ['AA', 'BB', 'CC', 'DD', 'EE', 'FF', 'GG', 'HH', 'II'] Escriviu la instrucció precisa per obtenir:

Donada la llista:

listvar = ['1A', '2B', '3C', '4D', '5E', '6F', '7G', '8H', '9I'] Proporcioneu la instrucció per obtenir:

a.

b.

c.

d.

Ejercicio 28 d'octubre 2016 IA P - Pregunta 3 (3 punts). Su… · Sèries numèriques, aproximacions i errors

28 d'octubre 2016 IA A - Pregunta 1 (2 punts). Indexació sobre llista de cadenes

Tenint en compte la llista:

varlist = ['AA', 'BB', 'CC', 'DD', 'EE', 'FF', 'GG', 'HH', 'II'] Escriviu la instrucció precisa per obtenir:

Completeu el programa per avaluar la suma següent per a valors donats de nn i zz:

∑j=1nzj−12j\sum_{j=1}^{n} \frac{z^{j-1}}{2j}

z = float(input("Introdueix un valor real de z: "))

print("La suma val {}".format(suma))

Ejercicio 28 d'octubre 2016 IA P - Pregunta 4 (2 punts). Do… · Arrays NumPy i càlcul vectorial

28 d'octubre 2016 IA A - Pregunta 1 (2 punts). Indexació sobre llista de cadenes

Tenint en compte la llista:

varlist = ['AA', 'BB', 'CC', 'DD', 'EE', 'FF', 'GG', 'HH', 'II'] Escriviu la instrucció precisa per obtenir:

Quin resultat s'escriurà en pantalla?

import numpy

mat = numpy.ones((4, 4))

for i in range(0, 4, 2):

for j in range(4):

mat[i, j] = 2 * mat[i, j]

print(mat[:, 1])

Ejercicio 28 d'octubre 2016 IA P - Pregunta 5 (3 punts). Co… · Estructures de control: condicionals i bucles

28 d'octubre 2016 IA A - Pregunta 1 (2 punts). Indexació sobre llista de cadenes

Tenint en compte la llista:

varlist = ['AA', 'BB', 'CC', 'DD', 'EE', 'FF', 'GG', 'HH', 'II'] Escriviu la instrucció precisa per obtenir:

Reescriviu el programa següent esmenant les 6 línies errònies per calcular correctament el factorial d'un enter no negatiu:

num = int(input("Entra un nombre enter "))

if num < 0:

print("El factorial no existeix.")

elif num == 0:

print("El factorial de 0 es 1.")

else:

res = 1

for j in range(1, num + 1):

res = res * j

print("El factorial de {} es {}".format(num, res))

Ejercicio 28 d'octubre 2016 IA P - Pregunta 6 (2 punts). Re… · Cadenes de caràcters i llistes

28 d'octubre 2016 IA A - Pregunta 1 (2 punts). Indexació sobre llista de cadenes

Tenint en compte la llista:

varlist = ['AA', 'BB', 'CC', 'DD', 'EE', 'FF', 'GG', 'HH', 'II'] Escriviu la instrucció precisa per obtenir:

Indiqueu quins nombres escriurà el següent codi:

a = list(range(9, 23, 3))

a.append(24)

alen = len(a)

print(alen)

for e in a:

if e % 2 == 0:

print(e)

Ejercicio 20 de març 2017 A - Pregunta 1 (2 punts). Lectura… · Funcions definides per l'usuari

20 de març 2017 A - Pregunta 2 (2 punts). Slicing sobre llista de cadenes de nombres

Donada la llista:

llista = ['un', 'dos', 'tres', 'quatre', 'cinc', 'sis', 'set', 'vuit', 'nou', 'deu'] Escriviu la instrucció per aconseguir cadascuna de les impressions:

20 de març 2017 A - Pregunta 1 (2 punts). Lectura de fitxer i afegir constant

El programa següent llegeix línies amb dues dades numèriques (xx i yy) separades per espai d'un arxiu dades.txt, afegeix 40 a cada valor de yy i desa les dades en dues llistes. Identifiqueu i corregiu els tres errors:

def f(z):

return z + 40

funcio = open("dades.txt")

X = []

Y = []

for linia in funcio:

x, y = linia.split()

x = float(x)

y = float(y)

y = f(y)

X.append(x)

Y.append(y)

print(X)

print(Y)

funcio.close() 1.

2.

3.

Ejercicio 20 de març 2017 A - Pregunta 2 (2 punts). Slicing… · Cadenes de caràcters i llistes

20 de març 2017 A - Pregunta 2 (2 punts). Slicing sobre llista de cadenes de nombres

Donada la llista:

llista = ['un', 'dos', 'tres', 'quatre', 'cinc', 'sis', 'set', 'vuit', 'nou', 'deu'] Escriviu la instrucció per aconseguir cadascuna de les impressions:

20 de març 2017 A - Pregunta 2 (2 punts). Slicing sobre llista de cadenes de nombres

Donada la llista:

llista = ['un', 'dos', 'tres', 'quatre', 'cinc', 'sis', 'set', 'vuit', 'nou', 'deu'] Escriviu la instrucció per aconseguir cadascuna de les impressions:

a.

b.

c.

d.

Ejercicio 20 de març 2017 A - Pregunta 3 (2 punts). Traça d… · Estructures de control: condicionals i bucles

20 de març 2017 A - Pregunta 2 (2 punts). Slicing sobre llista de cadenes de nombres

Donada la llista:

llista = ['un', 'dos', 'tres', 'quatre', 'cinc', 'sis', 'set', 'vuit', 'nou', 'deu'] Escriviu la instrucció per aconseguir cadascuna de les impressions:

Quins valors mostrarà aquest programa en finalitzar?

x = 1

i = 0

while x > 0.1:

x = x / 2

i = i + 1

print(x, i)

Ejercicio 20 de març 2017 A - Pregunta 4 (2 punts). Multipl… · Arrays NumPy i càlcul vectorial

20 de març 2017 A - Pregunta 2 (2 punts). Slicing sobre llista de cadenes de nombres

Donada la llista:

llista = ['un', 'dos', 'tres', 'quatre', 'cinc', 'sis', 'set', 'vuit', 'nou', 'deu'] Escriviu la instrucció per aconseguir cadascuna de les impressions:

Indiqueu quina matriu escriurà el següent programa:

import numpy

llista = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

array = numpy.array(llista)

fil, col = array.shape

for i in range(fil):

for j in range(col):

array[i, j] = array[i, j] * j

print(array)

Ejercicio 20 de març 2017 A - Pregunta 5 (2 punts). Correcc… · Tipus de dades, operadors i entrada/sortida bàsica

20 de març 2017 A - Pregunta 2 (2 punts). Slicing sobre llista de cadenes de nombres

Donada la llista:

llista = ['un', 'dos', 'tres', 'quatre', 'cinc', 'sis', 'set', 'vuit', 'nou', 'deu'] Escriviu la instrucció per aconseguir cadascuna de les impressions:

El codi següent genera un error quan s'executa. Indiqueu quina és la fallada i com cal corregir-la:

num_l = []

for i in range(5):

n = input('entra un nombre enter: ')

num_l.append(int(n))

print(num_l) a)

b)

Ejercicio 3 de novembre 2017 A - Pregunta 1 (2 punts). Oper… · Tipus de dades, operadors i entrada/sortida bàsica

Quins valors mostrarà aquest programa en finalitzar?

x = 1

i = 0

while x > 0.1:

x = x / 2

i = i + 1

print(x, i)

Què escriurà el programa si l'usuari introdueix successivament els valors 7 i 2?

m = input("Entra un valor enter: ")

m = int(m)

n = input("Entra un altre valor enter: ")

n = int(n)

res1 = m / n

res2 = m // n

res3 = m % n

res4 = m / n * 5

print(res1, res2, res3, res4) 1.

2.

3.

4.

Ejercicio 3 de novembre 2017 A - Pregunta 2 (2 punts). Oper… · Arrays NumPy i càlcul vectorial

Quins valors mostrarà aquest programa en finalitzar?

x = 1

i = 0

while x > 0.1:

x = x / 2

i = i + 1

print(x, i)

3 de novembre 2017 A - Pregunta 2 (2 punts). Operacions element a element amb NumPy

Indiqueu els valors impresos per cadascuna de les sentències:

import numpy

num1 = numpy.ones(5)

print(num1)

num2 = num1 * 4

print(num2)

num3 = numpy.arange(5)

print(num3)

num4 = numpy.sqrt(num2)

print(num4)

num5 = num4 - num3

print(num5)

num6 = numpy.linspace(1, 6, 3)

print(num6) 1.

2.

3.

4.

5.

6.

Ejercicio 3 de novembre 2017 A - Pregunta 3 (2 punts). Oper… · Cadenes de caràcters i llistes

Quins valors mostrarà aquest programa en finalitzar?

x = 1

i = 0

while x > 0.1:

x = x / 2

i = i + 1

print(x, i)

3 de novembre 2017 A - Pregunta 3 (2 punts). Operacions sobre llistes i mutabilitat

Indiqueu quines llistes s'imprimiran:

list_a = [1, 2, 3]

list_o = [3, 2, 1]

list_illo = list_a + list_o

print(list_illo)

list_on = 2 * list_a

print(list_on)

list_off = list_a[1:]

print(list_off)

list_no = list_a

list_no[0] = 10

print(list_a) 1.

2.

3.

4.

Ejercicio 3 de novembre 2017 A - Pregunta 4 (2 punts). Bucl… · Estructures de control: condicionals i bucles

Quins valors mostrarà aquest programa en finalitzar?

x = 1

i = 0

while x > 0.1:

x = x / 2

i = i + 1

print(x, i)

Què escriurà el següent fragment?

for do in range(1, 5, 2):

for re in range(1, 7, 3):

if do != re:

sol = 10 * re + do

print(sol)

Ejercicio 3 de novembre 2017 A - Pregunta 5 (2 punts). Orde… · Cadenes de caràcters i llistes

Quins valors mostrarà aquest programa en finalitzar?

x = 1

i = 0

while x > 0.1:

x = x / 2

i = i + 1

print(x, i)

Ordeneu i sagneu de manera vàlida el programa desordenat per calcular el producte escalar de dos vectors:

v_line = input("Entra les components del vector v separades per espais: ")

v_list = v_line.split()

v = []

for elem in v_list:

v.append(float(elem))

n = len(v)

w = []

for i in range(n):

w_elem = float(input("Dona'm la component {} del vector w: ".format(i)))

w.append(w_elem)

prod = 0

for i in range(n):

prod = prod + v[i] * w[i]

print("El producte escalar és: ", prod)

Ejercicio 19 de març 2018 A - Pregunta 1 (2 punts). Multipl… · Estructures de control: condicionals i bucles

19 de març 2018 A

Indiqueu quina serà la sortida generada pel codi següent:

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

for i in llista:

at = i * "@"

print(at)

Ejercicio 19 de març 2018 A - Pregunta 2 (2 punts). Assigna… · Arrays NumPy i càlcul vectorial

19 de març 2018 A

Quins valors mostrarà el programa següent?

import numpy

x = numpy.zeros(4)

for j in range(3):

x[j] = j % 2 + 1

print(x)

Ejercicio 19 de març 2018 A - Pregunta 3 (2 punts). Transfo… · Estructures de control: condicionals i bucles

19 de març 2018 A

Reescriviu el fragment canviant la sentència for per una estructura equivalent amb while:

ini = 10

for i in range(3, 15, 3):

val = ini * i

ini = val

print(val)

Ejercicio 19 de març 2018 A - Pregunta 4 (2 punts). Càlcul… · Lectura i processament de conjunts de dades (teclat i fitxers)

19 de març 2018 A

L'arxiu people.dat conté en cada línia el pes en kg i l'alçada en cm separats per un espai (per exemple: 64.5 170.5). Corregiu els 6 errors del programa per calcular l'índex de massa corporal (IMC=m/h2IMC = m/h^2, amb hh en metres):

f_dades = open("people.dat")

for linia in f_dades:

pes_str, altura_str = linia.split()

pes = float(pes_str)

altura_cm = float(altura_str)

altura_m = altura_cm / 100

IMC = pes / (altura_m**2)

print(pes, altura_m, IMC)

f_dades.close()

Ejercicio 19 de març 2018 A - Pregunta 5 (2 punts). Reorden… · Estructures de control: condicionals i bucles

19 de març 2018 A

19 de març 2018 A - Pregunta 5 (2 punts). Reordenació de codi per al sumatori fins a n

Ordeneu i apliqueu el sagnat convenient a les següents sentències perquè el programa calculi i mostri les sumes parcials i la suma total dels primers nn enters demanats a l'usuari:

n = input("Entra el nombre fins el que vols sumar: ")

n = int(n)

suma = 0

for i in range(1, n + 1):

suma = suma + i

print("La suma parcial val: {}".format(suma))

print("La suma total val: {}".format(suma))

Ejercicio 22 de desembre 2021 - Pregunta 1 (3 punts). Defin… · Funcions definides per l'usuari

22 de desembre 2021

Les següents instruccions pretenen definir en Maxima la funció f(x,a)=ax2+x−7f(x, a) = ax^2 + x - 7, trobar-ne les arrels respecte a xx per a a=1a = 1, assignar-les a la variable solucion i finalment avaluar-ne el valor numèric. Corregiu els 5 errors:

f(x, a):= a*x^2 + x - 7;

solucion: solve(f(x, 1) = 0, x);

solucion, numer;

Ejercicio 22 de desembre 2021 - Pregunta 2 (3 punts). Inter… · Tabulació i representació gràfica de funcions

22 de desembre 2021

Donats els vectors de dades de temperatura TT i pressió de vapor PvPv:

T = [46, 56, 66, 76, 86, 96, 106, 116, 126];

Pv = [259.5, 373.1, 525.0, 724.4, 981.8, 1308.7, 1718.2, 2224.4, 2842.6];

Completeu el programa en Octave per calcular per interpolació lineal la pressió ( Pvi) en 11 punts equiespaiats de temperatura ( Ti) compresos entre 50 i 120 K, i dibuixar ambdues corbes en una mateixa finestra (les dades experimentals amb + i la interpolació amb línia contínua).

Ejercicio 22 de desembre 2021 - Pregunta 3 (3 punts). Repre… · Tabulació i representació gràfica de funcions

22 de desembre 2021

Realitzeu un programa en Octave que representi la funció z=x+y2z = x + y^2 per a valors de xx entre -1 i 1 a intervals de 0.1, i valors de yy entre -2 i 2 a intervals de 0.2, utilitzant la funció meshgrid.

Ejercicio 22 de desembre 2021 - Pregunta 4 (3 punts). Resol… · Arrays NumPy i càlcul vectorial

22 de desembre 2021

Escriu un codi en Octave que resolgui el següent sistema lineal mitjançant matrius:

6x−5y+z=9x−3z=4x−y+2z=1\begin{aligned} 6x - 5y + z &= 9 \\ x - 3z &= 4 \\ x - y + 2z &= 1 \end{aligned}

Ejercicio Octave - Pregunta 2 (8 punts). EDO aplicada a la… · Tabulació i representació gràfica de funcions

Sigui yy l'oferta d'un determinat producte (en unitats) i xx el preu unitari (en euros/ud). L'oferta varia segons l'equació diferencial:dydx=y(2x+3)x(x+3)\frac{dy}{dx} = \frac{y(2x + 3)}{x(x + 3)}amb la condició inicial que per a un preu x0=2x_0 = 2 euros/ud, l'oferta és y0=20y_0 = 20 uds.

Implementeu un programa en Octave per:

a)

Resoldre numèricament l'equació per a preus fins a 10 euros/ud definint un vector xx de 100 valors equiespaiats entre el mínim adequat i 10:

b)

Representar en un mateix gràfic la solució numèrica (mitjançant el símbol + i llegenda 'sol. ec. dif.') i la solució analítica yan(x)=2x(x+3)y_{\text{an}}(x) = 2x(x + 3) en línia contínua amb la llegenda 'sol. analítica'. Etiqueteu els eixos com a 'preu unitari (euros/ud)' i 'oferta (uds)':

Ejercicio Maxima - Pregunta 3 (6 punts). Intersecció de cir… · Funcions definides per l'usuari

Resoleu els dos apartats següents mitjançant programes en Maxima:

a)

Trobeu la solució general de la intersecció de les circumferències x2+y2=a2x^2 + y^2 = a^2 i (x−1)2+y2=b2(x - 1)^2 + y^2 = b^2. Calculeu també la solució particular per a a=1a = 1 i b=1b = 1.

b)

Donada la funció de la semicircumferència f(x)=+r2−x2f(x) = +\sqrt{r^2 - x^2}: definiu la funció en Maxima, creeu una funció fint(r)fint(r) que sigui la integral definida entre −r-r i rr, i assigneu a la variable area el valor de fint(1)fint(1).

Ejercicio Full de càlcul - Pregunta 1 (6 punts). Anàlisi de… · Lectura i processament de conjunts de dades (teclat i fitxers)

A partir del fitxer conductividad.csv amb 20 mesures experimentals d'addició de NaCl a un volum inicial d'aigua (casella B24, en ml), la columna A conté el volum de NaCl afegit (en ml) i la columna D conté la conductivitat molar (en S⋅m2/mol\text{S}\cdot\text{m}^2/\text{mol}). Indiqueu quines fórmules cal aplicar per:

a)

Omplir la columna B amb el volum total de la dissolució sumant el volum de la casella B24 a cada fila:

b)

Calcular a la columna C la concentració molar segons:[NaCl]=0.25⋅Volum NaClVolum total[\text{NaCl}] = 0.25 \cdot \frac{\text{Volum NaCl}}{\text{Volum total}}

c)

Calcular a la columna adjacent l'arrel quadrada de la concentració en (mol/m3)1/2(\text{mol}/\text{m}^3)^{1/2}:

d)

Descriure els paràmetres per crear el gràfic de dispersió de la conductivitat molar enfront de l'arrel de la concentració i afegir-hi la recta de regressió lineal amb la seva equació:

También puedes estudiar por temas

Practica un tema con ejercicios de los exámenes de todos los años, mezclados.

Ver los 8 temas