#Cambios
#Cambio 1: If statement, notifica que nota obtuvo el estudiante
#Cambio 2: While loop, pregunta si desea ingresar un nuevo estudiante
# Mensaje inicial
puts "Calcule el promedio de notas para una cantidad de estudiantes especificada."
# Cambio 2: loop para procesar conjuntos de estudiantes
control = "y"
while control == "y"
# Solicitar la cantidad de estudiantes
print "¿Cuántos estudiantes se le va a calcular el promedio? "
student_count = gets.to_i
# loop para calcular el promedio de cada estudiante
(1..student_count).each do |count|
notas = []
# Solicitar las tres notas del estudiante actual con validación
3.times do |i|
loop do
print "Ingrese la nota ##{i + 1} del estudiante #{count}: "
nota = gets.to_i
if nota >= 0 && nota <= 100
notas << nota
break
else
puts "Valor no valido. Intente de nuevo."
end
end
end
# Calcular el promedio
promedio = notas.sum / notas.size
# Mostrar el promedio
puts "El promedio del estudiante #{count} es de #{promedio}"
# Cambio 1: Pone la nota según el promedio
if promedio >= 90
puts "El estudiante tiene una A"
elsif promedio >= 80
puts "El estudiante tiene una B"
elsif promedio >= 70
puts "El estudiante tiene una C"
elsif promedio >= 60
puts "El estudiante tiene una D"
else
puts "El estudiante tiene una F"
end
end
# Preguntar si desea procesar otro conjunto de estudiantes
loop do
print "¿Desea calcular el promedio de otro grupo de estudiantes? (y/n): "
control = gets.chomp.downcase
break if control == "y" || control == "n"
puts "Por favor, ingrese 'y' o 'n'."
end
end
puts "Programa terminado."