Se le ha pedido desarrollar un algoritmo que a partir de una muestra de N
estudiantes de la UNAD permita clasificarlos en dos grupos de la siguiente
manera:
Grupo A: Estudiante de la UNAD matriculado en el programa de Ingeniería
de Sistemas, que pertenezca a un equipo de fútbol, y que su rango de edad
esté entre los 16 a 25 años.
Grupo B: Estudiante de la UNAD de cualquier programa académico, que
pertenezca a grupos culturales, y que su rango de edad esté entre los 18 a
30 años.
La UNAD desea mostrar la cantidad total de estudiantes que hacen parte de la
muestra y, adicionalmente, para cada uno de los dos grupos desea saber lo
siguiente:
1. Cuántos estudiantes tienen promedio académico superior a 4
2. Cantidad de personas por grupo.
3. Promedio de la edad.
Me gustaría que me ayudaran con el algoritmo en PSEINT, gracias!
Respuestas a la pregunta
No recuerdo la sintaxis de PSEINT, pero creo que mi lógica se entenderá bien ya que a mi parecer, uso conceptos similares.
Comenzamos creando las dos variable que van a contener el número de personas en cada grupo:
grupoA=0;
grupoB=0;
Creamos un campo para que el usuario inserte el número de estudiantes usados en la muestra y guarda el número insertado por el usuario en una variable:
escribir "ingrese el número de estudiantes";
leer estudiantes;
Ahora, vamos a hacer un bucle for o para en PSEINT para iterar en la variable estudiantes y pedir los datos de cada uno:
los corchetes { } creo que en pseint no se usan, en todo caso recuerdo que se usa la palabra hacer.
para (i=1; hasta i=estudiantes; i=i+1){
imprimir "responda SI o NO";
escribir "¿el estudiante está estudiando ingeniería?";
leer respuestaIng;
si ( respuestaIng="SI"){
escribir "¿el estudiante está en algún equipo de fútbol?";
leer respuestaFootball;
si ( respuestaFootball="SI"){
escribir "¿Qué edad tiene el estudiante?"
leer edadEstA;
si ( edadEstA>=16 y edadEstA<=25){
grupoA=++;
cuando añades el ++ la variable incrementa 1 número, es como si escribieras grupoA = grupoA+1.
definir promEstGrupoA como real;
promEstGrupoA=0;
escribir "inserte el promedio de notas del estudiante";
leer notaEstA;
si(notaEstA>4){
promEstGrupoA=promEstGrupoA+1;
}
Éste condicional es para calcular qué estudiantes tienen un promedio de notas mayor a 4.
definir sumaEdadesA como entero;
sumaEdadesA=edadEstA+sumaEdadesA;
creé esta variable para calcular el promedio de la edad del grupo.
imprimir "El estudiante se ha agregado al grupo A";
}
}
}
sino{
imprimir "responda SI o NO";
escribir "¿el estudiante está matriculado en otra carrera de la UNAD?";
leer respuestaOtraCarrera;
si (respuestaOtraCarrera = "SI"){
escribir "¿El estudiante pertenece a algún grupo cultural?";
leer grupoCultural;
si (grupoCultural="SI"){
escribir "inserte la edad del estudiante";
leer edadEstB
si ( edadEstB>=18 y edadEst<=30{
grupoB=++;
definir promEstGrupoB como real;
promEstGrupoB=0;
escribir "inserte el promedio de notas del estudiante";
leer notaEstB;
si(notaEstB>4){
promEstGrupoB=promEstGrupoB+1;
}
definir sumaEdadesB como entero;
sumaEdadesB=edadEstB+sumaEdadesB;
}
}
}
}
imprimir "La cantidad de estudiantes que participaron en la muestra es de: " + estudiantes;
imprimir."La cantidad de estudiantes en el grupo A es de: " + grupoA + "personas.";
definir promedioEdadGrupoA como real;
promedioEdadGrupoA=sumaEdadesA/grupoA;
imprimir "el promedio de edad del grupo A es de: " + promedioEdadGrupoA;
imprimir "El número de estudiantes con promedio de notas mayor a 4 son: " + promEstGrupoB;
imprimir."La cantidad de estudiantes en el grupo B es de: " + grupoB + "personas.";
definir promedioEdadGrupoB como real;
promedioEdadGrupoB=sumaEdadesB/grupoB;
imprimir "el promedio de edad del grupo B es de: " + promedioEdadGrupoB;
imprimir "El número de estudiantes con promedio de notas mayor a 4 son: " + promEstGrupoB;
Los sino, te los dejo a ti, hay que poner unos pocos por si ninguna condición se cumple.
Eso sería todo, si tienes alguna duda, no dudes en comentar, con gusto ayudaré. Saludos.