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
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.