jueves, 17 de mayo de 2012

PRACTICA 14.

PRACTICA 14.
Pseudocódigo Practica 14 Problema 1.

template<class t>
Funcion void introducedatosarreglo(t tabla[20][5], int numalumnos,int numexam, char name[20][30])
{
r,c       int
Print "Introduce los sig. datos: "
for (r=0 to r<numalumnos step r++)
{
Print "Nombre Alumno: "
read(name[r])
for(c=0 to c<numexam step c++)
{
Print "tabla[" ,(r+1) ,"," ,(c+1) ,"]="
Read tabla[r][c]
}
}
}
Fin Funcion
template <class t>
Funcion t calcularpromedio(t tabla[20][5], int numalumnos, int numexam, char name[20][30])
{
r,c,nmayor   int
mayor=0       real
suma=0, promediog=0    t
Print "Nombre: \t\tCalificaciones\t\tPromedio"
for(r=0  to r<numalumnos step r++)
{
suma=0
Print name[r] ,"\t"
for(c=0 to c<numexam step c++)
{
Print "\t" ,tabla[r][c] suma=suma+tabla[r][c]
}
promediog=promediog+(suma/numexam)
Print "\t\tPromedio:" ,suma/numexam
if((suma/numexam)>mayor)
{mayor=(suma/numexam) nmayor=r }
}
Print "\n\n\tPromedio general: " ,(promediog/numalumnos)
Print "\n\n\tMEJOR PROMEDIO\n\nNombre: " ,name[nmayor]
Print "\n\tMejor promedio: " ,mayor
return (promediog/numalumnos)
}
Fin Funcion
Inicio programa()
{
numalumnos, numexam             int
name[20][30]          char
tabla[20][5] real
Print "Numero de alumnos: "
Read numalumnos
Print "Numero de examenes por alumnos: "
Read numexam
introducedatosarreglo(tabla, numalumnos, numexam, name)
calcularpromedio(tabla, numalumnos, numexam, name)
}
Fin Programa



Pseudocódigo Practica 14 Problema 2.

Funcion void datosarreglo(int datos[4][4])
{
r,c int
Print “\n”
randomize()
for(r=0 to r<4 step r++)
{
for(c=0 to  c<4 step c++)
{
datos[r][c]=random(10)+1
 Print datos[r][c],"  "
}
Print “\n”
}
}
Fin Funcion
Funcion void sumacolumnas(int datos[4][4])
{
r,c       int
suma int
Print “\n”
for(c=0 to  c<4 step c++)
{
suma=0
for(r=0 to  r<4 step r++)
{
suma=suma+datos[r][c]
}
 Print "SUMA COLUMNA ",(c+1)," = ",suma
}
}
Fin Funcion
Funcion void sumarenglones(int datos[4][4])
{
r,c       int
suma=0         int
Print “\n”
for(r=0 to  r<4 step r++)
{
suma=0
for(c=0 c<4 c++)
{
suma=suma+datos[r][c]
}
 Print "SUMA RENGLON ",(r+1)," = ",suma
}
}
Fin Funcion
Funcion void sumadiagonalp(int datos[4][4])
{
z int
suma=0 int
Print “\n”
for(z=0 to z<4 step z++)
{
suma=suma+datos[z][z]
}
Print "SUMA DIAGONAL PRINCIPAL = ",suma
}
Fin Funcion

Funcion void sumadiagonali(int datos[4][4])
{
r,c       int
suma=0         int
Print”\n”
c=3
for(r=0 to r<4 step r++)
{
suma=suma+datos[r][c]
c--
}
Print "SUMA DIAGONAL INVERSA= ",suma
}
Fin Funcion
Inicio de programa()
{
datos[4][4]   int
datosarreglo(datos)
sumacolumnas(datos)
sumarenglones(datos)
sumadiagonalp(datos)
sumadiagonali(datos)
}
Fin de programa.

 




Pseudocódigo Practica 14 Problema 3.
Funcion void datosproduccion(int produccion[13][8], char nombreemp[12][30])
{
r,c       int
randomize()
for(r=0 to  r<12 step r++)
{
Print "Nombre Planta ",(r+1)," : "
Read (nombreemp[r])
for(c=0 to c<7 step c++)
{
produccion[r][c]=random(10)+1
}
}
}Fin funciónFuncion void produccionsemanal(int produccion[13][8])
{
r,c,suma        int
for(r=0 to r<12 step r++)
{
suma=0
for(c=0 to c<7 step c++)
{
suma=suma+produccion[r][c]
}
produccion[r][7]=suma
}
}
Fin Funcion
Funcion void producciondia(int produccion[13][8],int & sumatotal)
{
r,c       int
mayor=0  int
suma int
sumatotal=0
for(c=0 to  c<7 step c++
{
suma=0
for(r=0 to r<12 step r++)
{
suma=suma+produccion[r][c]
}
produccion[12][c]=suma
sumatotal=sumatotal+suma
}
}
Fin Funcion
Funcion void plantamayor(int produccion[13][8], int & mayor, int & posmayor)
{
r           int
mayor=0
posmayor=0
for (r=0 to r<12 step r++)
{
if (produccion[r][7]> mayor)
{mayor=produccion[r][7]
posmayor=r }
}
}
Fin Funcion
Funcion void diamayor(int produccion[13][8], int & mayord, int & posmayord)
{
c          int
mayord=0
posmayord=0
for (c=0 to  c<7 step c++)
{
if (produccion[12][c]> mayord)
{mayord=produccion[12][c]
posmayord=c }
}
}
Fin Funcion
Funcion programa principal()
{
produccion[13][8], r, c     int
posmayor, mayor, posmayord,mayord,sumatotal            int
nombreemp[12][30]         char
datosproduccion(produccion,nombreemp)
producciondia(produccion, sumatotal)
produccionsemanal(produccion)
plantamayor(produccion, mayor, posmayor)
diamayor(produccion, mayord, posmayord)
Print "REPORTE SEMANAL DE PRODUCCION\n"
Print "Planta\tDia 1\tDia 2\tDia 3\tDia 4\tDia 5\tDia 6\tDia7\tPro.
Semanal\n"
for(r=0 to  r<12 step r++)
{
Print “\n”
Print nombreemp[r],"\t"
for(c=0 to c<7 step c++)
{
Print setw(4),produccion[r][c],"\t"
}
Print setw(4),produccion[r][7]
}
Print “\n”
for(c=0 to  c<7 step c++)
{
Print "\t"
Print setw(4),produccion[12][c]
}
Print "\t",setw(4),sumatotal
Print “\n”
Print "Planta mas productiva: ",(nombreemp[posmayor])
Print "Mayor produccion de planta: ",mayor
Print "Dia mas productiva: ",(posmayord+1)
Print "Mayor produccion en un dia: ",mayord
}
Fin programa

No hay comentarios:

Publicar un comentario