Está en la página 1de 4

Hackaton 1 – Programación –2020-II

Instrucciones generales:
• Luego de resolver cada problema debe subir su código al juez en la dirección
http://146.83.128.78/juez/
• Recuerde que el nombre del archivo no debe contener espacios ni caracteres
especiales. Por ejemplo, problemaA.py es un buen nombre
• La salida por pantalla debe ser exactamente igual a la presentada. Considere los
espacios y tildes en las salidas.
• Todos los archivos deben iniciar con un comentario con el nombre del equipo y el de
sus integrantes.
• Para que el juez revise correctamente los archivos debe simplemente suponer que
están en la misma carpeta.
• Para recibir parámetros numéricos por teclado deje el parámetro de la función input
vacío. Ejemplo: x = int(intput())
• Para imprimir números decimales, utilice la función round() para dejarlos solo con
dos decimales cuando el problema lo pida. Ejemplo: round(variable,2)
• Por temas de compatibilidad se recomienda abrir el archivo de la siguiente forma:
file = open(‘archivo.txt’, ‘r’, encoding='utf-8')

Problema A – SumaDivPerfecto
Cree una función que determine la suma de los divisores de un número y retorne verdadero
si el resultado de la suma es un número perfecto, o falso si no lo es. Considere que, si se
ingresa un número negativo o un cero, su programa debe devolver el mensaje “Error!”:

K = 12 K = 13 K = 0
True False Error!

La función solo recibirá el parámetro k para encontrar la respuesta.

Considere el siguiente código como referencia:


def sumaDivPerfecto(k):
### Acá debe ir tu código
### Acá debe ir tu código

####### NO MODIFICAR LO SIGUIENTE ##########


k = int(input())
print(sumaDivPerfecto(k))
Problema B – Los Puntajes

En una competencia deportiva existen dos categorías, una masculina y otra femenina. El
objetivo de esta competencia es ver quienes pasaran a la siguiente ronda de competición, los
clasificados serán quienes obtengan un puntaje mayor al promedio de la competencia.

El cálculo del puntaje obtenido por los competidores dependerá de la categoría a la que
pertenecen y se debe calcular de la siguiente manera:
𝑃𝑡𝑠𝑅𝑜𝑛𝑑𝑎1 𝑃𝑡𝑠𝑅𝑜𝑛𝑑𝑎2
Puntaje Hombres: (( 0.6
) + ( 0.8 )) ∗ 𝐸𝑟𝑟𝑜𝑟𝑒𝑠

𝑃𝑡𝑠𝑅𝑜𝑛𝑑𝑎1 𝑃𝑡𝑠𝑅𝑜𝑛𝑑𝑎2
Puntaje Mujeres: (( )+( )) ∗ 𝐸𝑟𝑟𝑜𝑟𝑒𝑠 − 0.5
0.7 0.5

Donde:
PtsRonda1: Puntaje obtenido en la primera ronda de la competencia.
PtsRonda2: Puntaje obtenido en la segunda ronda de la competencia.
Errores: Cantidad de errores cometidos en ambas rondas de la competencia y es el mismo
valor para todos los competidores.

Ustedes deben crear un programa que informe que participantes pasaran de ronda (según
lo indicado anteriormente) o quienes no pasaron de ronda, para ello se debe ingresar la letra
“C” para los clasificados y la letra “E” para los eliminados. Para resolver este desafío ustedes
deberán crear una función que reciba como parámetros el nombre del participante, sexo del
participante, puntajes obtenidos en la primera y segunda ronda y la cantidad de errores
cometidas en ambas rondas. La información de los participantes y sus puntajes deben ser
entregadas en listas.
La cantidad de participantes es variable y se deberán ingresar valores hasta que al ser
consultado el nombre se ingrese la palabra “fin”.

Nota: debe considerar todos los controles de error presentes en el desarrollo del programa.
Ejemplo de Ejecución
Ejemplo 1 Ejemplo 2
sexo:j sexo:F
sexo:M ingrese nombre:A
ingrese nombre:J ingrese ronda 1:30
ingrese ronda 1:-20 ingrese ronda 2:20
ingrese ronda 1:20 ingrese nombre:M
ingrese ronda 2:25 ingrese ronda 1:10
ingrese nombre:P ingrese ronda 2:12
ingrese ronda 1:10 ingrese nombre:S
ingrese ronda 2:-5 ingrese ronda 1:14
ingrese ronda 2:12 ingrese ronda 2:16
ingrese nombre:L ingrese nombre:FIN
ingrese ronda 1:26 Errores:2
ingrese ronda 2:27
ingrese nombre:C análisis: P
ingrese ronda 1:19 análisis: E
ingrese ronda 2:18 S 78.0
ingrese nombre:FIN M 57.429
Errores:3

análisis: C
L 231.25
J 193.75
Recuerde que al momento de probar su solución debe
borrar todos los textos de los input().
Problema C – El Aire
Un trabajador del ministerio del medio ambiente quiere analizar la calidad del aire en
diferentes ciudades del país. Necesita que lo ayuden con su sabiduría en programación.
Se les entregará un archivo de texto llamado indices.txt que tiene el siguiente formato:
inicio_de_datos
ciudad1,indice1*indice2*…* indiceN
ciudad2, indice1*indice2*…* indiceN

ciudadN, indice1*indice2*…* indiceN

inicio_de_datos: Indica el día desde donde se comenzaron a guardar los datos.


ciudadN: Es el nombre de la ciudad.
indiceN: Son índices de calidad del aire ICA por día (no habrá más de 31).

Como el técnico recién comenzó con la obtención de datos, solo se considerará el mes de
octubre para el análisis (el archivo corresponde a ese mes) que tiene 31 días. Con esta
información deberá calcular lo siguiente:

1) Peor calidad del aire por ciudad y el día que fue registrada.
2) Mejor calidad promedio entre ciudades.
3) Qué día tuvo los peores índices de calidad del aire.

NOTA: Considere que los datos no sobrepasarán los días del mes. Considere también que,
a mayor índice, peor es la calidad del aire.

Ejemplo de ejecución:

Archivo
7
La Serena,365*187*229*340*46*348*455*174*14*202*425*5*240*89*64*347
Coquimbo,378*97*459*324*145*428*265*220*15*373*380
Antofagasta,499*156*430*317*239*158*341*196*48*275*391*157*74*109*439*392
Iquique,311*233*353*450*99*232*210*400*53*254*302*303*464*460*363
Copiapó,22*217*286*227*134*249*14*163*15*478*279
Temuco,490*71*424*209*94*135*371*247*88*103*53*212*218*278*206*109
Santiago,275*21*242*376*238*376*80*72*32*158*185*183*362*124*255
Puerto Montt,355*124*94*296*273*338*253*15*30*397*500
Arica,344*157*380*236*242*151*200*199*90*109*475*93*375*199*65*68
Ovalle,478*233*473*450*96*450*457*305
Salida
La Serena - peor ICA: 455.0 el 14 oct
Coquimbo - peor ICA: 459.0 el 10 oct
Antofagasta - peor ICA: 499.0 el 8 oct
Iquique - peor ICA: 464.0 el 20 oct
Copiapó - peor ICA: 478.0 el 17 oct
Temuco - peor ICA: 490.0 el 8 oct
Santiago - peor ICA: 376.0 el 11 oct
Puerto Montt - peor ICA: 500.0 el 18 oct
Arica - peor ICA: 475.0 el 18 oct
Ovalle - peor ICA: 478.0 el 8 oct
La mejor calidad promedio es de: 38.5
El dia con peor calidad del aire fue el 8 de octubre

También podría gustarte