martes, 29 de mayo de 2012


Practica 14
1.-Escribir un programa interactivo para procesar las noticias de un grupo de estudiantes en un curso de programacion.Empezar especificamente el numero de notas de examenes para cada estudiante(asumir que este valor es el mismo para todos los estudiantes de la clase).Despues introducir el nombre de cada estudiante y las notas de los examenes .Calcular una medida para cada estudiante y una medida general de la clase(una media de las medidas de los estudiantes ) .Escribir la media de la clase seguida por el nombre , las noticias individuales de los examenes y la media para cada estudiante .Tambien desplegar el nombre del estudiante de mayor calificacion

Pseudocodigo
template <class t>
void introducirdatos(t Arreglo[20][5],entero n, entero m, flotante name[20][30]){
entero r,c
print "Introducir los siguientes datos"
for(r=0 to n-1 step r=r+1){
print "Nombre Alumno ",(r+1),": "
read name[r]
for(c=0; c<=m-1; c=c+1){
print "Calificacion de examen No.",(c+1),": "
read Arreglo[r][c]}}}
template<class t>
void imprimirdatos(t Arreglo[20][5],int n,int m,char name[20][30]){
int r,c,mayor=0,nummayor=0
t suma,promedio=0
for(r=0 to n-1 step r=r+1){
print "Alumno: ",name[r]
suma=0;
for(c=0 to m-1 step c=c+1){
print " Calificacion ",(c+1),": ",Arreglo[r][c]
suma=suma+Arreglo[r][c]}
print " Promedio: ",suma/m
if((suma/m)>mayor){
mayor=suma/m
nummayor=r}
promedio=promedio+(suma/m)}
print " Promedio general: ",(promedio/n)
print " Alumno con mejor promedio: ",name[nummayor]
getch()}
void main(){
flotante Arreglo[20][5]
entero n,m
flotante name[20][30]
print "Numero de alumnos a evaluar: "
read n
print "Numero de examenes de cada alumno: "
read m
introducirdatos(Arreglo,n,m,name)
imprimirdatos(Arreglo,n,m,name)}








































2.-Haga un programa que considere un arreglo bidemencional cuadrada de 4x4 de numeros enteros.
realizar las siguientes funciones:
a)generar numeros aleatorios para el arreglo bidimencional de 4x4
d)una funcion para sumar las columnas y desplegar cada suma
era b*
c)una funcion paras sumar los renglones y desplegar cada suma
d)una funcion para sumar las diagonal principal
e)una funcion para sumar la diagonal inversa
f) Una funcion para desplegar todo el arreglo bidimencional


Pseudocodigo
void introducirdatos(entero A[4][4]){
entero r,c;randomize()
for(r=0 to  4 step  r=r+1){
for(c=0 to  4 step c=c+1){
A[r][c]=random(10)+1
Print A[r][c]}
Print "\n"}}
void sumacolum(int A[4][4]){
entero suma,r,c
for(c=0 to 4 step c=c+1){
suma=0
for(r=0 to 4 step  r=r+1){
suma=suma+A[r][c]}
Print "Suma de columnas ",(c+1),": ",suma}}
void sumarengl(int A[4][4]){
entero suma=0,r,c
for(r=0 to  4 step r=r+1){
suma=0
for(c=0 to 4 step c=c+1){
suma=suma+A[r][c]}
Print "Suma de renglon ",(r+1),": ",suma}}
void sumadiagonalinver(int A[4][4]){
entero suma=0,d
for(d=0 to 4 step  d=d+1){
suma +=A[d][d]}


Print "Suma de diagonal inversa: ",suma}
void sumadiagonaln(int A[4][4]){
entero suma=0,r,c
c=3
for(r=0 to 4 step  r=r+1){
suma=suma+A[r][c]
c--
}
Print "Suma de diagonal: ",suma}
void main (){
entero A[4][4]
introducirdatos(A)
sumacolum(A)
sumarengl(A)
sumadiagonaln(A)
sumadiagonalinver(A)
getch()}







































3,.-Una compañia manufacturera tiene 10 plantas .Elaborar un programa que permita leer de nombres de cada empresa y la produccion que se hizo en cada uno de los siete dias de la semana ;utilizar un arreglo de una dimesion para leer los nombres de las plantas y un arreglo de dos dimeciones (12x7) para leer la produccion de las 10 plantas en los siete dias m una columna para cada dia ,La idea es leer el nombre de la primera planta y luego la produccion hecha en cada uno de los siete dias , luego procesar la empresa 2 y asi sucesivamente.Imprime el siguiente reporte
Reporte de producción
Planta dia1|dia2|dia3|dia4|dia5|dia6|dia7|proxima semana
Totales:
planta mas productiva produccion de la planta mas productiva
dia con mayor produccion : mayor produccion en el dia
listo es todo


Pseudocodigo
void datosproduccion(int P[13][8],char name[12][30]){
entero r,c
randomize()
for(r=0 to 12 step r+1){
print “Nombre de la planta ",(r+1),": "
gets (name[r])
for(c=0 to 7 step c=c+1){
P[r][c]=random(1000)+1}}}
void producciondia(int producc[13][8]){
entero suma=0, r,c
for(c=0 to 7 step c+1){
suma=0
for(r=0 to 12 step r+1){
suma=suma+producc[r][c]}
producc[12][c]=suma}}
void produccionplanta(int producc[13][8]){
entero r,c,suma
for(r=0 to 12 step r+1){
suma=0
for(c=0 to 7 step c+1){
suma=suma+producc[r][c]}
producc[r][7]=suma}}
void diamayorproduccion(entero producc[13][8],entero & mayor,entero& posmayor){
entero c
for(c=0 to 7 step c+1){
if(producc[12][c]>mayor){
mayor=producc[12][c]
posmayor=c}}}
plantamayorproduccion(entero producc[13][8],entero& mayor,entero& posmayor){
entero r
for(r=0 to 12 step r+1){
if(producc[r][7]>mayor){
mayor=producc[r][7]
posmayor=r}}}
void desplegardatos(flotante name[12][30],entero producc[13][8],entero mayor,entero posmayor){
entero r,c
print “\n\t\tReporte semanal de produccion"
print “Planta\tDia1\tDia2\tDia3\tDia4\tDia5\tDia6\tDia7\tProd. Semanal";
for(r=0 to 12 step r+1){
print "\n\n",name[r]
for(c=0 to 8 step c+1){
print "\t",producc[r][c]}}
print “\n\nTotales: "
for(c=0 to 7  step c+1){
print “"\t",producc[12][c]}
plantamayorproduccion(producc,mayor,posmayor)
print “\n\nPlanta mas productiva: ",name[posmayor]
print “Produccion de la planta mas productiva: "mayor
diamayorproduccion(producc,mayor,posmayor);
print “Dia con mayor produccion: ",(posmayor+1)
print “Mayor Produccion en un Dia: ",mayor}
void main (){
entero producc[13][8],r,c,mayor,posmayor
flotante name[12][30]
datosproduccion(producc,name)
produccionplanta(producc)
producciondia(producc)
plantamayorproduccion(producc,mayor,posmayor)
desplegardatos(name,producc,mayor,posmayor)
getch()}




No hay comentarios:

Publicar un comentario