Ejercicio 2018 Part I - Exercici 4: Càlcul de l'IMC des de… · Recursos Informáticos UB 2016

Tema: Lectura i processament de conjunts de dades (teclat i fitxers) · Del examen Recull d'exàmens de Python (Part 1) (2016)

Enunciado

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)

Enunciado: Ejercicio 2018 Part I - Exercici 4: Càlcul de l'IMC des de… · Recursos Informáticos UB 2016

Solución

Según los criterios oficiales de corrección

Indiqueu els 6 errors trobats i la seva correcció:

Solución: 1. El nom del fitxer ha d'anar entre cometes: open('people.dat') 2. Cal separar per espais amb split() i no strip(): pes, altura_cm = linia.split() 3. Les dades contenen decimals; cal convertir amb float(): pes = float(pes) 4. L'alçada en centímetres pot contenir decimals: altura_cm = float(altura_cm) 5. Per passar de centímetres a metres s'ha de dividir per 100, no multiplicar: altura_m = altura_cm / 100 6. La fórmula de l'IMC eleva al quadrat només l'alçada al denominador: IMC = pes / (altura_m**2)

La explicación paso a paso, hecha con IA, es Premium. Premium

Resuélvelo aquí mismo: corrección automática, pistas y solución paso a paso.

‹ Exercici 3 · Exemples 2020 · Ejercicio 2016 Part II - Exercici 3: Concentració d'hidroxi… · 2016 ›

Más ejercicios de Lectura i processament de conjunts de dades (teclat i fitxers)