Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Programacion examen ISI, Exámenes de Programación Informática

Examen resuelto de Programacion

Tipo: Exámenes

2020/2021

Subido el 03/02/2023

Kawaii_bd
Kawaii_bd 🇪🇸

5

(1)

5 documentos

1 / 5

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Fundamentos de la programación, Curso 2022-23
Grado en Ingeniería de Sistemas de la Información
PEC1 - Grupo B Tarde – LAB.
Nombre:
NORMAS:
Si no se indica lo contrario, la única función de secuencias que puede utilizar es len(). Evaluamos su
diseño de los algoritmos necesarios para proporcionar los servicios solicitados.
Reutilice los códigos desarrollados para apartados anteriores. Aunque no haya hecho un ejercicio
puede reusar su código definiendo su cabecera.
Evite que un subprograma reciba más datos de los que necesita para hacer su trabajo.
Cuide especialmente las cabeceras, los identificadores y los casos de prueba.
CRITERIOS DE EVALUACIÓN: Eficacia, mantenibilidad, reusabilidad, y finalmente eficiencia.
ENUNCIADO:
Vamos a realizar parte del software que ayudará a realizar un análisis comparativo del precio de la
energía (€/Kvatio_h) de un determinado
conjunto de países.
Se le proporciona un ejemplo que puede usar como
caso de prueba para el ejercicio, pero
recuerde que su código deberá servir para
cualquier número de países y años. Aprecie que
sólo la parte sombreada de la tabla son datos
primarios. El resto son calculados (no están
almacenados), resultando el siguiente diseño de
datos:
NOM_PAISES=('P1','P2','P3','P4')
#tPais = lista de n float>=0 correspondientes a consumo cada año.
#tEnergia = tuple de tPais paralela a NOM_Paises
caso_prueba=([12.2,12.2,12.2],[1.0,2.0,0.33],[19.53,4.34,3.24],
[8.0,19.0,1.0])
1. (0,5) Escriba el código necesario para poder modificar fácilmente el año en que empieza la
estadística. El resto de años son necesariamente consecutivos.
2. (4 puntos) Haga un subprograma que devuelva los años que cada país ha mantenido el precio del
Kvatio por encima de un valor indicado. En el caso de prueba, superan 10.0€ Kvatio_hora todos
los años de P1, ninguno de P2…. la salida será, por tanto: [[2019, 2020, 2021], [], [2019], [2020]]
3. (2,25 puntos) Haga un subprograma que calcula el precio medio del coste del Kvatio_h, uno de los
años (es decir de una columna). Por ejemplo, si se pide año 2020 dará 37,54/4.
4. (1 punto) Diseñe un subprograma que deje cómodamente a disposición de la pieza llamante si un
país (conocidos sus precios) y un año, ha bajado sus precios respecto al año anterior. Por ejemplo,
el país P3 en el año 2021 redujo su consumo, pero en el 2020 no. Atienda a pasar al subprograma
solo los datos que necesita.
5. (2 puntos) Pensamos que cuanto más alto sea el precio del Kvatio-h de un país más desincentiva
el consumo. Con este criterio, podemos clasificar a los países en función del precio fijado en los
PAIS\año 2019 2020 2021 TOTAL
P1 12,20 12,20 12,20 36,60
P2 1,00 2,00 0,33 3,33
P3 19,53 4,34 3,24 27,11
P4 8,00 19,00 1,00 28,00
Total 40,73 37,54 16,77
Clase desde hasta
Rojo p>=0 p<10
Naranja p>=10 p<12.20
Verde p>=12.20
pf3
pf4
pf5

Vista previa parcial del texto

¡Descarga Programacion examen ISI y más Exámenes en PDF de Programación Informática solo en Docsity!

Grado en Ingeniería de Sistemas de la Información PEC1 - Grupo B Tarde – LAB. Nombre: NORMAS:  Si no se indica lo contrario, la única función de secuencias que puede utilizar es len(). Evaluamos su diseño de los algoritmos necesarios para proporcionar los servicios solicitados.  Reutilice los códigos desarrollados para apartados anteriores. Aunque no haya hecho un ejercicio puede reusar su código definiendo su cabecera.  Evite que un subprograma reciba más datos de los que necesita para hacer su trabajo.  Cuide especialmente las cabeceras, los identificadores y los casos de prueba. CRITERIOS DE EVALUACIÓN: Eficacia, mantenibilidad, reusabilidad, y finalmente eficiencia. ENUNCIADO: Vamos a realizar parte del software que ayudará a realizar un análisis comparativo del precio de la energía (€/Kvatio_h) de un determinado conjunto de países. Se le proporciona un ejemplo que puede usar como caso de prueba para el ejercicio, pero recuerde que su código deberá servir para cualquier número de países y años. Aprecie que sólo la parte sombreada de la tabla son datos primarios. El resto son calculados (no están almacenados), resultando el siguiente diseño de datos: NOM_PAISES=('P1','P2','P3','P4') #tPais = lista de n float>=0 correspondientes a consumo cada año. #tEnergia = tuple de tPais paralela a NOM_Paises caso_prueba=([12.2,12.2,12.2],[1.0,2.0,0.33],[19.53,4.34,3.24], [8.0,19.0,1.0])

  1. (0,5) Escriba el código necesario para poder modificar fácilmente el año en que empieza la estadística. El resto de años son necesariamente consecutivos.
  2. (4 puntos) Haga un subprograma que devuelva los años que cada país ha mantenido el precio del Kvatio por encima de un valor indicado. En el caso de prueba, superan 10.0€ Kvatio_hora todos los años de P1, ninguno de P2…. la salida será, por tanto: [[2019, 2020, 2021], [], [2019], [2020]]
  3. (2,25 puntos) Haga un subprograma que calcula el precio medio del coste del Kvatio_h, uno de los años (es decir de una columna). Por ejemplo, si se pide año 2020 dará 37,54/4.
  4. (1 punto) Diseñe un subprograma que deje cómodamente a disposición de la pieza llamante si un país (conocidos sus precios) y un año, ha bajado sus precios respecto al año anterior. Por ejemplo, el país P3 en el año 2021 redujo su consumo, pero en el 2020 no. Atienda a pasar al subprograma solo los datos que necesita.
  5. (2 puntos) Pensamos que cuanto más alto sea el precio del Kvatio-h de un país más desincentiva el consumo. Con este criterio, podemos clasificar a los países en función del precio fijado en los PAIS\año 2019 2020 2021 TOTAL P1 12,20 12,20 12,20 36, P2 1,00 2,00 0,33 3, P3 19,53 4,34 3,24 27, P4 8,00 19,00 1,00 28, Total 40,73 37,54 16, Clase desde hasta Rojo p>=0 p< Naranja p>=10 p<12. Verde p>=12.

Grado en Ingeniería de Sistemas de la Información PEC1 - Grupo B Tarde – LAB. Nombre: hogares, según se indica en la tabla. Haz un subprograma que muestre por pantalla la calificación de un país un año, conocido el precio que el país ha fijado un año. (0,5 puntos) El subprograma escribirá justo donde se esté el cursor en ese momento ocupando exactamente 12 posiciones y no saltará de línea tras la escritura En el caso de prueba, p2 es protector, p4 es tolerante y los otros abusones. Aquí puede usar sum().

Grado en Ingeniería de Sistemas de la Información PEC1 - Grupo B Tarde – LAB. Nombre:

  1. (2,25 puntos) Haga un subprograma que calcula el precio medio del coste del Kvatio_h, uno de los años (es decir de una columna). Por ejemplo, si se pide año 2020 dará 37,54/4. #LISI- def media_anno(anno,sec): """ int,tEnergia-->float OBJ: media de la col en posición anno-ANNO_INI ANNO_INI definido""" total=0. for pais in range (len(sec)): total+=sec[pais][anno-ANNO_INI] return total/len(sec) #PROBADOR print (media_anno(2020,caso_prueba),37.54/4)
  2. (1 punto) Diseñe un subprograma que deje cómodamente a disposición de la pieza llamante si un país (conocidos sus precios) y un año, ha bajado sus precios respecto al año anterior. Por ejemplo, el país P3 en el año 2021 redujo su consumo, pero en el 2020 no. Atienda a pasar al subprograma solo los datos que necesita. #LII- def ha_reducido (pais, anno): """tPais, int-->bool OBJ: consumo del año anno es menor que el del anterior PRE anno>ANNO_INI""" return pais[anno-ANNO_INI]<pais[anno-ANNO_INI]
  3. (2 puntos) Pensamos que cuanto más alto sea el precio del Kvatio-h de un país más desincentiva el consumo. Con este criterio, podemos clasificar a los países en función del precio fijado en los hogares, según se indica en la tabla. Haz un subprograma que muestre por pantalla la calificación de un país un año, conocido el precio que el país ha fijado un año. (0,5 puntos) El subprograma escribirá justo donde se esté el cursor en ese momento ocupando exactamente 12 posiciones y no saltará de línea tras la escritura En el caso de prueba, p2 es protector, p4 es tolerante y los otros abusones. Aquí puede usar sum(). #LII- 6 Clase desde hasta Rojo p>=0 p< Naranja p>=10 p<12. Verde p>=12.

Grado en Ingeniería de Sistemas de la Información PEC1 - Grupo B Tarde – LAB. Nombre: def clasificacion (precio): """float-->nada OBJ Clasificación según precio kvatio_hora PRE: precio>=0""" if porc<10: clase='Rojo' elif porc<11.95: clase='Naranja' else: clase='Verde' print(f'{ clase:12s}', end='') #PROBADOR ''' clasificacion (caso_prueba[2]) print( 'dará Abusón') clasificacion (caso_prueba[3]) print('dará Tolerante') clasificacion (caso_prueba[1]) print( 'Protector') '''