Test Foro de elhacker.net SMF 2.1

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

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:


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