martes, 29 de mayo de 2012

practica 14 (practicas).

problema 1.
Elabora un programa que leea el nombre de 10 trabajadores y su producción mensual por cada uno de los 12 meses del ano, en dos arreglos uno para nombres y otro para producciones, en los cuales el elemento N corresponde al trabajador N. Se requiere que imprima el siguiente reporte:
análisis de producción.

                                                   nombre                                      total de producción
promedio de producción:
debe imprimir solo los que tengan producción por arriba del promedio.


P-seudo codigo.
1.- Inicio
void tabla0(int prod[10][12])
{int t,y
for (t=0 to t<10 step t++)
{for(y=0 to y<12 step y++)
{prod[t][y]=0}}}

void datos(int prod[10][12],int N, char nombres[10][20])
{int t,r
Print  "Nombre del trabajador " ,N, "= "
gets(nombres[N-1])
srand(time(NULL))
for(t=0 to t<10 step t++)
{for(r=0 to r<12 step r++)
{prod[t][r]=rand()%10+1}}}

template <class T>
void tabla (T prod[10][12])
{int t,r
const int reng=10
const int colm=12
Print  endl
Print  "\t\t\tMeses"
Print  "   1   2   3   4   5   6   7   8   9   10  11  12"
Print  "------------------------------------------------"
for(t=0 to t<reng step t++)
{Print "Trabajador ", (t+1)
for(r=0 to r<colm step r++)
{prod[t][r]
Print  setw(4), prod[t][r]}
Print endl
Print  endl}}

int prom(int prod[10][12])
{int suma=0,t ,r
for(t=0 to t<10 step t++)
{for(r=0 to r<12 step r++)
{suma=suma+prod[t][r]}}
return suma/120}

void analisis(int prod[10][12], char nombres[10][20])
{int t,r,suma,promedio
promedio=prom(prod)
Print  "Analisis de produccion"
Print endl
Print  "Nombre\t\t Total de produccion"
for(t=0 to t<10 step t++)
{suma=0
for(r=0 to r<12 step r++)
{suma=suma+prod[t][r]}
if(suma/12>promedio)
{Print nombres[t], "\t\t\t", suma/12}}
Print  "Promedio de produccion= ", promedio}

1.- Inicio de programa
void main()
{int t
char nombres[10][20]
int prod[10][12]
tabla0(prod)
for(t=1 to t<=10 step t++)
{datos(prod,t,nombres)}
tabla(prod)
Print endl
analisis(prod,nombres)
fin.


problema 2.
se tienen varios empleados, por cada empleados se tienen los siguientes datos:
nombre y la producción de los 30 días del mes. Elaborar un programa que lea y genere los siguientes reporte.
                                                      Reporte mensual de producción.
Nombre                   Produccion              Promedio           Días arriba
                                Mes                         diario                 del promedio 




P-seudo codigo.
inicio.
void limpiartabla(int produccion[10][30])
{int r,c
const int reng=10
const int colm=30
for (r=0 to r<reng step r++)
{for (c=0 to c<colm step c++)
{produccion[r][c]=0}}}


void insertadatosdeproduccion(int produccion[10][30], int n, char nombres[10][10])
{int r,c
const int reng=10
const int colm=30
print" nombre trabajador ",n,"="
gets (nombres[n-1]);
'\t\n';
srand(time(NULL));
for (r=0 to r<reng step r++)
{for (c=0 to c<colm step c++)
{produccion[r][c]=rand()%9+1;}}}


void despliegatabla (int produccion[10][30],char nombre[10][10])
{int r,c
const int reng=10
const int colm=30
cout<<"\t\t datos dela produccion"<<endl;
for (r=0; r<reng; r++)
{print"\t\n"
for (c=0 to c<colm step c++)
{produccion[r][c]
print,setw (2),produccion[r][c]}
print""}}

int calcularpromedio(int produccion[10][30])
{int suma=0
int r,c
for (r=0 to r<10 step r++)
{for (c=0 to c<30 step c++)
{suma=suma+produccion[r][c]}}
return suma/300}


void desplegarreporte( int produccion[10][30], char nombres[10][10])
{int r,c
int suma
int promedio
promedio=calcularpromedio(produccion)
print" analissis dela produccion"
print" nombre        prod.mes.mayor que el prom"
for (r=0 to r<10 step r++)
{suma=0
for (c=0 to c<30 step c++)
{suma=suma+produccion[r][c]}
if (suma/30>promedio)
{print,nombres [r],"\t\t\t",suma/30}}
print" promedio dela  produccion =",promedio}

int main ()
inicio del programa.
system("color 7")
int n
real promdia
char nombres[10][10]
int produccion[10][30]
limpiartabla(produccion)
for (n=1to n<=10 step n++)
{insertadatosdeproduccion(produccion,n,nombres)}
despliegatabla(produccion,nombres)
print""
desplegarreporte(produccion,nombres)
fin.



problema 3.
Se tienen 15 estaciones de trabajo, cada una de las cuales tiene un encargado, del cual se conoce su nombre y la producción que se tuve por cada 1 de los meses del ano. elaborar un programa que lea 10 nombres y los guarde en un arregle; que haga lo mismo con los 12 meses de producción de cada una de las estaciones y que los almacene en una matriz de 10x12. Se requiere que imprima el siguiente reporte:
Análisis de producción
Estacion             Total de producción
Total                  XXXXX
Estación mas productiva:

Encargado de la estación:

Cantidad producida:




P-seudo codigo.
inicio.
void limpiartabla(int produccion[10][12])
{int r,c
const int reng=10
const int colm=12
for (r=0; r<reng; r++)
{for (c=0; c<colm; c++)
{produccion[r][c]=0}}}

void insertadatosdeproduccion(int produccion[10][12], int n, char nombres[10][10])
{int r,c
const int reng=10
const int colm=12
print" nombre trabajador ",n,"="
gets (nombres[n-1])
srand(time(NULL))
for (r=0 to r<reng step r++)
{for (c=0 to c<colm step c++)
{produccion[r][c]=rand()%10+1}}}


template <class t>
void despliegatabla (t produccion[10][12])
{int r,c
const int reng=10
const int colm=12
"\t\t datos dela produccion"
for (r=0 to r<reng step r++)
{for (c=0 to c<colm step c++)
{produccion[r][c]
print,setw (4),produccion[r][c]}
print""}}

void desplegarreporte(int produccion[10][12])
{int r,c,suma,total
const int reng=10
const int colm=12
print" \n\t analisis de la produccion \n"
for(r=0 to r<reng step r++)
{suma++
for (c=0 to c<colm step c++)
{suma=suma+produccion[r][c]}}
cout<<"total dela produccion es =",suma
for (r=0 to r<reng step r++)
{suma=0
for(c=0 to c<colm step c++)
{suma=suma+produccion[r][c]}}
print"cantidad producida en la estacion mas producctiva = ",suma}

int main ()
inicio.
int n
char nombres[10][10]
int produccion[10][12]
limpiartabla(produccion)
for (n=1 to n<=10 step n++)
{insertadatosdeproduccion(produccion,n,nombres)}
despliegatabla(produccion)
print""
desplegarreporte(produccion)
fin.


No hay comentarios:

Publicar un comentario