Las calificaciones de los estudiantes para un curso específico se basan en el siguiente porcentaje:
4 Parciales 40%
1 Semestral 30%
2 Proyectos 30%
Diseñe un algoritmo en PSEINT que permita realizar las tareas siguientes para un número no determinado de estudiantes:
• Leer los valores para cada parcial, el semestral y los 2 proyectos
• Se debe leer el nombre y apellido de cada estudiante.
• Se debe obtener la calificación final en base a las notas leídas en el punto anterior.
• Se debe calcular la nota final en base a la siguiente tabla:
Calificación Nota
>=91 A
Entre 81 y 90 B
Entre 71 y 80 C
Entre 61 y 70 D
<=60 F
• Para cada estudiante se debe mostrar la calificación final y la nota final.
• Se debe calcular la cantidad de cada nota e imprimirá al final. Es decir cantidad de A, B, C, D y F en total.
• Se debe indicar cuál es la calificación más alta y cuál es la calificación más baja, junto con el nombre y apellido del estudiante que las obtuvo.
A. ¿Cuál es la duda? Ayudará ver tu programa para entender tu planteamiento y a qué te refieres
B. No hace falta que repitas la preguntas tres veces
Proceso ejercicio
definir p1,p2,p3,p4,p,pr1,pr2,pr,sem,s,nf como real
definir a,b,c como real
definir cont,cont2,conteo como entero
definir nom,continuar como caracter
definir max,min como real
p=0;pr=0;s=0;nf=0;continuar='s';cont=0;cont2=0;a=0;b=0;c=0
max=0;min=100;conteo=0
imprimir "desea procesar a un estudiante (s/n)"
leer continuar
mientras continuar='s' hacer
cont=cont+1
cont2=cont2+1
imprimir "Nombre del estudiante #",cont2
leer nom
imprimir "Parciales del estudiante #",cont2
leer p1,p2,p3,p4
imprimir "proyectos del estudiante #",cont2
leer pr1,pr2
imprimir "semestral del estudiante #",cont2
leer sem
p=((p1+p2+p3+p4)/4)*0.40
pr=((pr1+pr2)/2)*0.30
s=sem*0.30
nf=p+pr+s
imprimir ""
imprimir ""
imprimir "TABLA DE PROMEDIOS ESTUDIANTE #",cont2
imprimir "==============================="
Imprimir "Estudiante: ",nom
imprimir "promedio parciales: ",p
imprimir "promedio proyectos: ",pr
imprimir "promedio semestrales: ",s
imprimir "=================================================="
si nf>=91 entonces
imprimir "su calificacion final es A y su promedio fue de ",nf
imprimir ""
sino
si nf<=90&&nf>=81 entonces
imprimir "su calificacion final es B y su promedio fue de ",nf
imprimir ""
sino
si nf<=80&&nf>=71 Entonces
imprimir "su calificacion final es C y su promedio fue de ",nf
imprimir ""
sino
si nf<=70&&nf>=61 entonces
imprimir "su calificacion final es D y su promedio fue de ",nf
imprimir ""
sino
imprimir "su calificacion final es F y su promedio fue de ",nf
imprimir ""
FinSi
FinSi
FinSi
FinSi
si nf>max entonces
max=nf
sino
FinSi
si nf<min entonces
min=nf
FinSi
conteo=conteo+1
imprimir "desea agregar un estudiante (s/n)"
leer continuar
imprimir ""
imprimir ""
fin mientras
imprimir "el promedio maximo fue: ",max " y pertenece a ",nom
imprimir "el promedio minimo fue : ",min " y pertenece a ",nom
FinProceso
// A. no logro conseguir que el código imprima a quien pertenece el nombre del promedio mas alto y el nombre del promedio mas bajo.
Perdona el (enorme) retraso en contestar. Te basta con, a la vez que anotas el valor del máximo o del mínimo, anotar el nombre correspondiente, por ejemplo así:
Proceso ejercicio
definir p1,p2,p3,p4,p,pr1,pr2,pr,sem,s,nf como real
definir a,b,c como real
definir cont,cont2,conteo como entero
definir nom,continuar como caracter
definir max,min como real
p=0;pr=0;s=0;nf=0;continuar='s';cont=0;cont2=0;a=0;b=0;c=0
max=0;min=100;conteo=0
// Primer cambio
// ---
nombreMax = ""
nombreMin = ""
// ---
imprimir "desea procesar a un estudiante (s/n)"
leer continuar
mientras continuar='s' hacer
cont=cont+1
cont2=cont2+1
imprimir "Nombre del estudiante #",cont2
leer nom
imprimir "Parciales del estudiante #",cont2
leer p1,p2,p3,p4
imprimir "proyectos del estudiante #",cont2
leer pr1,pr2
imprimir "semestral del estudiante #",cont2
leer sem
p=((p1+p2+p3+p4)/4)*0.40
pr=((pr1+pr2)/2)*0.30
s=sem*0.30
nf=p+pr+s
imprimir ""
imprimir ""
imprimir "TABLA DE PROMEDIOS ESTUDIANTE #",cont2
imprimir "==============================="
Imprimir "Estudiante: ",nom
imprimir "promedio parciales: ",p
imprimir "promedio proyectos: ",pr
imprimir "promedio semestrales: ",s
imprimir "=================================================="
si nf>=91 entonces
imprimir "su calificacion final es A y su promedio fue de ",nf
imprimir ""
sino
si nf<=90&&nf>=81 entonces
imprimir "su calificacion final es B y su promedio fue de ",nf
imprimir ""
sino
si nf<=80&&nf>=71 Entonces
imprimir "su calificacion final es C y su promedio fue de ",nf
imprimir ""
sino
si nf<=70&&nf>=61 entonces
imprimir "su calificacion final es D y su promedio fue de ",nf
imprimir ""
sino
imprimir "su calificacion final es F y su promedio fue de ",nf
imprimir ""
FinSi
FinSi
FinSi
FinSi
// Segundo cambio
// ---
si nf>max entonces
max = nf
nombreMax = nom
FinSi
si nf<min entonces
min=nf
nombreMin = nom
FinSi
// ---
conteo=conteo+1
imprimir "desea agregar un estudiante (s/n)"
leer continuar
imprimir ""
imprimir ""
fin mientras
// Tercer cambio
// ---
imprimir "el promedio maximo fue: ",max " y pertenece a ",nombreMax
imprimir "el promedio minimo fue : ",min " y pertenece a ",nombreMin
// ---
FinProceso
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)