Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: johnnyBsc17 en 2 Octubre 2011, 17:21 pm



Título: ayuda con pseudocodigo xfa
Publicado por: johnnyBsc17 en 2 Octubre 2011, 17:21 pm
se tienen registradas las calificaciones obtenidas en un examen por 50 estudiantes. los datos son cal1,cal2,......cal50, dond cal es un numero entero comprendido entre los valores de 0y 10 (0<=cal,0<=10).
escriba un programa q calcule e imprima la frecuencia de cada uno de los posibles valores.
la salida del progrma debe ser como se muestra acontinuacion:

--------calificacion-------- ------frecuencia--------
0 >>>>>>>>>>>>> 1 ALUMNOS
1 >>>>>>>>>>>>> ....
2 >>>>>>>>>>>>> ....
3 >>>>>>>>>>>>> 4 ALUMNOS
4 >>>>>>>>>>>>> 2 ALUMNOS
.. >>>>>>>>>>>>> .......
10 >>>>>>>>>>>>> 3 ALUMNOS





ayudenme si puedo hacerlo de una forma mas facil o resumida

Proceso sin_titulo
estudiante<-1;
cal <-0;
con0<-0;
con1<-0;
con2<-0;
con3<-0;
con4<-0;
con5<-0;
con6<-0;
cont7<-0;
cont8<-0;
con9<-0;
con10<-0;

Escribir "calficaciones Alumnos";
  Para estudiante<-1 Hasta 50 Hacer
   Repetir
    Escribir "ingrese la nota del estudiante ", estudiante;
    Leer notas;
   Hasta Que (cal >= 0) & (cal <=10)
    Si cal = 0 Entonces
      con0<-con0 + 1;
    Si cal = 1 Entonces
      con1<-con1 + 1;
    FinSi
    Si cal = 2 Entonces
      con2<-con2 + 1;
    FinSi
    Si cal = 3 Entonces
      con3<-con3 + 1;
    FinSi
    Si cal = 4 Entonces
     con4<-con4 + 1;
    FinSi
    Si cal = 5 Entonces
     con5<-con5 + 1;
    FinSi
    Si cal = 6 Entonces
     con6<-con6 + 1;
    FinSi
    Si cal = 7 Entonces
     con7<-con7 + 1;
    FinSi
    Si cal = 8 Entonces
     con8<-con8 + 1;
    FinSi
    Si cal = 9 Entonces
     con9<-con9 + 1;
    FinSi
    Si cal = 10 Entonces
     con10<-con10 + 1;
    FinSi
  FinPara
Escribir " Calificacion--------Frecuencia ";
Escribir " nota 0 : ", con0;
Escribir " nota 1 : ", con1;
Escribir " nota 2 : ", con2;
Escribir " nota 3 : ", con3;
Escribir " nota 4 : ", con4;
Escribir " nota 5 : ", con5;
Escribir " nota 6 : ", con6;
Escribir " nota 7 : ", con7;
Escribir " nota 8 : ", con8;
Escribir " nota 9 : ", con9;
Escribir " nota 10 :", con10;

FinProceso


Título: Re: ayuda con pseudocodigo xfa
Publicado por: $Edu$ en 2 Octubre 2011, 17:54 pm
Sabes usar arreglos? eso solucionaria lo de las 10 variables que tienes. En ves de esas 10, tendrias un arreglo donde arreglo(i) es el arreglo y la variable i ira aumentando de 0 a 9 para tener tus 10 variables.


Título: Re: ayuda con pseudocodigo xfa
Publicado por: bash en 2 Octubre 2011, 20:03 pm
en c++ puedes usar un vector<T>, es eficiente y puede crecer en tiempo de ejecucion dependiendo de tu nececidad.

te recomiendo que busco informacion acerca de la stl ,te puedes nutrir de eso.

y lo de el pseudocodigo :

bueno ese switch se resuelve solo debes incrementar el valor de casa indice en el arreglo , si usas vector o otro container te recomiendo que lo inicializes en 0 para ir incrementando.


Título: Re: ayuda con pseudocodigo xfa
Publicado por: johnnyBsc17 en 3 Octubre 2011, 04:58 am
asi seria ???

Código:
FRECUENCIA()
Inicio
FRECUENCIA=ARREGLO[1..10] de entero
CALIFICACION=ARREGLO[1..50] de entero
i, k de entero
  Repetir con i desde 1 hasta 50
     ++FRECUENCIA[ i [CALIFICACION]]
  Fin Repetir
  Escribir "Calificacion:         Frecuencia:"
  Repetir con k desde 1 hasta 10
     Escribir k,     frecuencia[k]
  Fin Repetir
Fin


Título: Re: ayuda con pseudocodigo xfa
Publicado por: $Edu$ en 3 Octubre 2011, 05:47 am
No se pseudocodigo pero lo haces asi:

Código:
Inicio

i, k entero
nota entero
frecuencia arreglo[1..10]

Repetir con i desde 1 hasta 50
     Guardar en nota : "Ingrese nota del estudiante: "
        Repetir con k desde 1 hasta 10
          Si nota es igual a k entonces
             frecuencia[k] = frecuencia[k] + 1
        Fin Repetir
Fin Repetir i

Escribir "Calificacion:           Frecuencia:"

Repetir con k desde 1 hasta 10
     Escribir k,    frecuencia[k]
Fin Repetir

Fin


Título: Re: ayuda con pseudocodigo xfa
Publicado por: johnnyBsc17 en 4 Octubre 2011, 02:10 am
graxias brother te lo agradezco  :D