Ejercicio: 2Eva_IT2005_T4 Registrar mejores calificaciones
Propuesta de solución en Python: py_pdf, también en versión matlab: m_pdf
Se propone realizar el ejercicio mediante el uso de menú, separando las actividades, permitiendo luego añadir opciones.
Tarea: validar en el ingreso que las notas sean entre 0 y 100, y encontrar los datos de calificación más alta y más baja
Instrucciones en Python
# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# 2Eva_IT2005_T4 Registrar mejores calificaciones
# propuesta: edelros@espol.edu.ec
# Se usará menú y diccionario para cada registro
# Tarea: opcion 4 con nota mas alta y mas baja
# Tarea: aumentar opciones para grabar o leer archivo
# Tarea: Se puede hacer también con listas y sin menu
lista = []
suma = 0
opcion = '0'
while not(opcion=='5'):
print('1. Ingresar registro')
print('2. Ingresar ponderaciones')
print('3. Calcular calificaciones')
print('4. Mostrar lista y extremos')
print('5. Salir')
opcion = input('-cual opcion: ')
if (opcion=='1'):
print('REGISTRO ******')
nombre = input('nombre: ')
leccion = int(input('leccion: '))
proyecto = int(input('proyecto: '))
examen = int(input('examen: '))
estudiante = {'nombre':nombre,
'leccion':leccion,
'proyecto':proyecto,
'examen':examen,
'calif':0}
lista.append(estudiante)
elif (opcion=='2'):
print('PONDERACION')
pondlecc = int(input('% leccion: '))
pondproy = int(input('% proyecto: '))
pondexam = int(input('% examen: '))
suma = pondlecc + pondproy + pondexam
while not(suma==100):
print('ponderación no suma 100')
pondlecc = int(input('% leccion: '))
pondproy = int(input('% proyecto: '))
pondexam = int(input('% examen: '))
suma = pondlecc + pondproy + pondexam
elif (opcion=='3'):
print('CALCULAR')
tamano = len(lista)
if (suma==100):
for i in range(0,tamano,1):
suma = lista[i]['leccion']*pondlecc
suma = suma + lista[i]['proyecto']*pondproy
suma = suma + lista[i]['examen']*pondexam
prom = suma/100
lista[i]['calif'] = prom
print('Recalculadas las notas, proceder a mostrar')
else:
print('** las ponderaciones no son validas **')
print('** volver a opcion de ponderaciones **')
elif (opcion=='4'):
print('LISTA')
tamano = len(lista)
print('nombre, leccion, proyecto, examen, calif')
for i in range(0,tamano,1):
texto = lista[i]['nombre'] + ', ' + str(lista[i]['leccion'])
texto = texto + ', '+str(lista[i]['proyecto'])
texto = texto + ', ' + str(lista[i]['examen'])
texto = texto +', '+str(lista[i]['calif'])
print(texto)
elif (opcion=='5'):
print('Gracias por usar el software...')
else:
print('** NO es una opcion disponible **')
resultado de algoritmo
1. Ingresar registro
2. Ingresar ponderaciones
3. Calcular calificaciones
4. Mostrar lista y extremos
5. Salir
-cual opcion: 1
REGISTRO ******
nombre: juan
leccion: 50
proyecto: 70
examen: 80
1. Ingresar registro
2. Ingresar ponderaciones
3. Calcular calificaciones
4. Mostrar lista y extremos
5. Salir
-cual opcion: 1
REGISTRO ******
nombre: Maria
leccion: 70
proyecto: 60
examen: 90
1. Ingresar registro
2. Ingresar ponderaciones
3. Calcular calificaciones
4. Mostrar lista y extremos
5. Salir
-cual opcion: 2
PONDERACION
% leccion: 30
% proyecto: 20
% examen: 50
1. Ingresar registro
2. Ingresar ponderaciones
3. Calcular calificaciones
4. Mostrar lista y extremos
5. Salir
-cual opcion: 3
CALCULAR
Recalculadas las notas, proceder a mostrar
1. Ingresar registro
2. Ingresar ponderaciones
3. Calcular calificaciones
4. Mostrar lista y extremos
5. Salir
-cual opcion: 4
LISTA
nombre, leccion, proyecto, examen, calif
juan, 50, 70, 80, 69.0
Maria, 70, 60, 90, 78.0
1. Ingresar registro
2. Ingresar ponderaciones
3. Calcular calificaciones
4. Mostrar lista y extremos
5. Salir
-cual opcion: 5
Gracias por usar el software...
>>>
ejercicios resueltos Python final_it2005_t4 pdf
ejercicios resueltos Matlab final_it2005_t4 pdf