Adrián Pedreira Bar PSEUDOCÓDIGO Visualizar “Introduce o número de alumnos: ” Pedir numero_alumnos Si (numero_alumnos > 40) Visualizar (O número máximo de alumnos e 40) Se non contador = 0 Mentres (numero_alumnos != contador) Visualizar “Introduce o nome do alumno: “ Nome_alumno = Pedir nome alumnos[posición_final] = nome_alumno Visualizar “Introduce o a nota de ‘nome_alumno’: “ nota_alumno = Pedir nota notas[posición_final] = nota_alummno Si (nota_alumno >= 5) num_aprobados++ Fin Si contador++ Visualizar “- Nota media: ‘nota_media’” Visualizar “- Número de aprobados: ‘num_aprobados’” Visualizar “- Número de suspensos: ‘notas.tamaño - num_aprobados’” Visualizar “- Listado aprobados: “ Para posición = 0 hasta i == alumnos.tamaño Si (notas[posición] >= 5) Visualizar “’alumno[posición]’ + : + notas[posición]” Fin Si Visualizar “- Listado suspensos: “ Para posición = 0 hasta i == alumnos.tamaño Si (notas[posición] < 5) Visualizar “’alumno[posición]’ + : + notas[posición]” Fin Si Fin Si Tarefa a entregar 02 Adrián Pedreira Bar Tarefa a entregar 02 IMPLEMENTACIÓN (Python 3.6) from functools import reduce #Importación do método reduce print("Introduce o número de alumnos") #Entrada do número de alumnos num_alumnos = int(input()) if (num_alumnos > 40): #Avaliación do número de alumnos print("O número máximo de alumnos e 40") else: #Declaración de variables notas = [] alumnos = [] num_aprobados = 0 espacios_branco = 20 #Bucle. Tantas veces como alumnos haxa, solicita a entrada de nome e nota # e os engade aos arrays "notas" e "alumnos", tamén calcula o Nº aprobados while num_alumnos != 0: print("Introduce o nome do alumno") nome_alumno = input() alumnos.append(nome_alumno) print("Introduce a nota de " + nome_alumno) nota_alumno = float(input()) notas.append(nota_alumno) if nota_alumno >=5 : num_aprobados += 1 num_alumnos -= 1 #Función para o sumatorio de notas e cálculo da media def suma(a,b): return a + b nota_media = reduce(suma,notas)/len(notas) #Visualización de nota media e Nº aprobados print("- Nota media: " + str(nota_media)) print("- Número de aprobados: " + str(num_aprobados)) print("- Número de suspensos: " + str(len(notas) - num_aprobados)) print("- Listado aprobados:") #Bucle. Itera sobre o array alumnos avaliando se está aprobado # en caso correcto, visualiza o seu nome e nota for i, alumno in enumerate(alumnos): if notas[i] >= 5: print(" "*espacios_branco + str(alumno) + ": " + str(notas[i])) #Bucle. Itera sobre o array alumnos avaliando se está aprobado # en caso correcto, visualiza o seu nome e nota print("- Listado suspensos:") for i, alumno in enumerate(alumnos): if notas[i] < 5: print(" "*espacios_branco + str(alumno) + ": " + str(notas[i])) Adrián Pedreira Bar EXECUCIÓN Tarefa a entregar 02