miércoles, 20 de marzo de 2013

Problema 10




Practica 10 problema 1



Pseudocodigo:

Inicio
valores[8] int
I int
Suma int
Promedio int
for( I=0 I to 8 step I= I+1)
{
Print "Introduce Valores ["<<I<<"]:"
Read valores[I]
}
suma=0
for(I=0 I to 8 step I= I+1)
{
suma=suma+valores[I]
}
promedio=suma/8
print “El Promedio es: ",promedio
print “Valores Mayor o Igual al Promedio: "
for(I=0 I to 7 I= I+1)
{
if(valores[I]>=promedio)
{
Print valores [I]
}
}
Fin



Practica 10 problema 2a

Pseudocodigo:

Inicio
primero [10] int
segundo [10] int
tercero [10] int
I int
for(i=0 I to 10 step i= i+1)
{
Print "primero ["<<i<<"]:"
Read primero[i]
print "segundo["<<i<<"]:"
read segundo[i]
}
Print "primero+segundo=tercero"
Print "_______________________"
for(i=0 I to 10 step i= i+1)
{
Print ""tercero[i]=primero[i]+segundo[i]
print primero[i], "\t", segundo[i] ,"\t", tercero[i]
}
Fin



Practica 10 problema 2b

Pseudocodigo:

Inicio
primero [10] int
segundo [10] int
tercero [10] int
I int
for(i=0 I to 10 step i= i+1)
{
Print primero ["<<i<<"]:"
Read primero[i]
Print segundo["<<i<<"]:"
Read segundo[i]
}
Print primero*segundo=tercero"
Print "_______________________"
for(i=0 I to 10 step i= i+1)
{
tercero[i]=primero[i]*segundo[i]
print primero[i],"\t",segundo[i],"\t",tercero[i]
}
Fin




Practica 10 problema 3a


Pseudocodigo:

Inicio
valores [10] real
desv [10] real
total=0.0 real
promedio real
I int
for(i=0 I to 10 step i= i+1)
{
Print "valores ["<<i<<"]:"
Read valores[i]
total=total+valores[i]
}
promedio=total/10
for(i=0 I to 10 step i= i+1)
{
desv[i]=valores[i]-promedio


}
Print "desviacion valores"
for(i=0 I to 10 step i= i+1)
{
Print desv[i], "\t\t\t",valores[i]
}


Practica 10 problema 3b


Pseudocodigo:

Inicio
valores [10] float
desv [10] float
total=0.0 float
promedio float
varianza float
suma=0.0 float
I int
for(i=0 I to 10 step i= i+1)
{
Print "valores ["<<i<<"]:"
Read valores[i]
total=total+valores[i]
}
promedio=total/10
for(i=0 I to 10 step i= i+1)
{
desv[i]=valores[i]-promedio
}
Print "desviacion valores"
for(i=0;i<10;i++)
{
Print desv[i],"\t\t\t",valores[i]
}
for(i=0 I to =9 step i= i+1)
{
suma=suma+pow(desv[i],2)
}
varianza=suma /10
print "la varianza es",varianza
Fin


Practica 10 problema 3c


Pseudocodigo:

Inicio
valores[10] Real
desv[10] Real
total=0.0 Real
prom Real
min=0 Real
max=0 Real
inter=0 Real
b=0 Real
a=0 Real
i int
for(i=0 to 10 step i=i+1)
{
print "Valores[", i , "]:"
read valores[i]
total=total+valores[i]
}
prom=total/10
for(i=0 to 10 step i=i+1)
{
desv[i]=valores[i]-prom
}
print "Desviacion valores”
for(i=0 to 10 step i=i+1)
{
print " ” , desv[i], " ", valores[i]
}
Print "Intervalo Minimo"
for(i=0 to 10 step i=i+1)
{
if(desv[i]<=min)
{
print desv[i]
a=a+desv[i]
}
}
print "Minimo"
print a
print "Intervalo Maximo"
for(i=0 to 10 step i=i+1)
{
if(desv[i]>=max)
{
print desv[i]
b=b+desv[i]
}
}
print "Maximo"
print b
inter=b-a
print "Intervalo= Maximo-Minimo= "
print inter
Fin


Practica 11 problema 1




Pseudocodigo:
Inicio
tabla [5] [5]int
r,cint
suma=0.0int
for(r=0 to 5 step r++)
{
for(c=0 to 5 step c++)
{
print,"tabla [ ",r,",",c," ]= "
read tabla[r] [c]
}
}
for(r=0 to 5 step r++)
{
suma=0
for(c=0 to 5 step c++)
{
suma=suma+tabla[r] [c]

Print ,tabla[r][c],"\t"
}
print,suma,
}
Fin

Practica 11 problema 2

Pseudocodigo:
Inicio
matriz[5][6] int
i,j,mayor=0,pos int
suma=0 int
for(i=0 to i<5 step i+1)
{
for(j=0 to j<5 step j+1)
print,"matriz [",i,",",",j,"]=?"
read matriz [i][j]
}
}
for(i=0 to i<5 step i+1)
{
suma=0
for(j=0 to j<5 step j+1)
{
suma=suma+matriz[i][j]
}
matriz[i][5]=suma
}
matriz[i][5]=suma
}
for(i=0 to i<5 step i+1)
{
for(j=0 to j<6 step j+1)
{
print,matriz[i][j],"\t"
}
print,
}
for(i=0 to i<5 step i+1)
{
if(matriz[i][5]>mayor)
{
mayor=matriz[i][5]
pos=i
}
}
print,"el dato mayor es",mayor
print,"el renglon donde esta localizado es:",pos,
Fin

Practica 11 problema 3

Pseudocodigo:
inicio
tabla [4] [5]int
r, cint
suma=0.0int
for(c=0 to 5 step c++)
{
suma=0.0
for(r=0 to 4 step r++)
{
print "tabla [ ", r,",", c,”]=“
readtabla[r] [c]
suma=suma + tabla[r] [c]
}
Print"la suma de columna ", c," es: ", suma
}
Fin



Practica 11 problema 4
Pseudocodigo:
Inicio
matriz[6][4], I, J, suma=0 int
for (I=0to5 step I+1)
{
for (J=0 to4 step J+1)
{
print,"matriz[",I,", ",J,"] = "
read matriz[I][J]
}
}
for (I=0 to 4 step I+1)
{
suma=0;
for (J=0 to5 step J+1)
{
suma=suma+matriz[J][I]
}
matriz[5][I]=suma;
}
for (I=0 to 6 step I+1)
{
for (J=0; to 4 stepJ+1)
{
print, matriz[I][J],"\t"
}
print.endl
}
Fin

Practica 11 problema 5

Pseudocodigo:
Inicio
matriz[7][8], r, c, suma=0, mayor1=0, posc=0, mayor2=0, posr=0 int
randomize
print,"Matriz Original",,
for (r=0 to6; step r+1)
{
suma=0;
for (c=0 to 7 step c+1)
{
matriz [r][c]=random (10)
suma=suma+matriz[r][c]
print,matriz[r][c],"\t"
}
matriz[r][7]=suma
print,
}
for (c=0 to 7 stepc+1)
{
suma=0;
for (r=0 to 6 step r+1)
{
suma=suma+matriz[r][c]
}
matriz[6][c]=suma;
}
matriz[6][7]=0;
for (c=0 to 7 step c+1)
{
if (matriz[6][c]>mayor1)
{
mayor1=matriz[6][c]
posc=c
}
}
for (r=0 to 6 step r+1)
{
if (matriz[r][7]>mayor2)
{
mayor2=matriz[r][7]
posr=r;
}
}
print,"\nMatriz con la suma de renglones y columnas",,
for (r=0; r<7; r=r+1)
{
for (c=0 to 8 step c+1)
{
print,matriz[r][c],"\t"
}
print,
}
print,"\n";
print,"La suma mayor del renglon ",posr," es = ",mayor2,
read,"\n"
print,"La suma mayor de la columnas ",posc," es = ",mayor1,
Fin

Practica 11 problema 6
Pseudocodigo:
Inicio
A[5][5], B[5][5] int
I,J int
random()
for(I=0 to 5 step I++)
{
for(J=0 to 5 step J++)
{
A[I][J]=random(1000)+1
B[J][I]=A[I][J]
}
}
Print "Matriz Original"
for(I=0 to 5 step I++)
{
for(J=0 to 5 step J++)
{
Print A[I][J] , "\t "
}
Print "\n"
}
Print "Matriz Transpuesta"
for(I=0 to 5 step I++)
{
for(J=0 to 5 step J++)
{
Print B[I][J] , "\t"
}
Print "\n"
}
Fin

Practica 11 problema 7

Pseudocodigo:
Inicio
A[5][5], B[5][5] int
I,J, suma=0 int
random()
for(I=0 to 5 step I++)
{
for(J=0 to 5 step J++)
{
A[I][J]=random(1000)+1
}
}
suma=0
for(I=0 to 5 step I++)
{
suma=suma+A[I][J]
}
Print "La Suma de la Diagonal Principal inversa es " , suma
suma=0
J=4
for(I=0 to 5 step I++)
{
suma=suma + A[I][J]
J=J-1
}
Print "La suma de la Diagonal Inversa es " , suma
Fin



Practica 11 problema 8
Pseudocodigo:
Inicio
a[10][10]int
maxint
minint
i,jint
randomize()
for(i=0 to 10 step i++)
{
for(j=0 to 10 step j++)
{
a[i][j]=random(1000)+1
}
}
Print"Matriz de 10 X 10"
print” “
for(i=0 to 10 step i++)
{
for(j=0 to 10 step j++)
{
Printa[i][j],""
}
print” “
}
for(i=0 to 10 step i++)
{
for(j=0 to 10 step j++)
{
if(a[i][j]>max)
max=a[i][j]
}
}
print "El numero máximo de la matriz es: ",max
print” “
for(i=0 to 10 step i++)
{
for(j=0 to 10 step j++)
{
if(a[i][j]<min)
min=a[i][j]
}
}
print “El numero mínimo de la matriz es: ",min
Fin


Practica 12 Problema 1



Pseudocodigo:
Inicio
registro producto
{
noProd int
descrip[30] char
precio real
cantidad int
}
producto Registro
FILE*alias
funcion void ALTA_SECUENCIAL()
{
no_prod int
clrscr()
Print "\n\rALTAS DE REGISTROS DE PRODUCTOS"
alias=fopen("c:\\Datos\\PRODUCTO.SEC","rb+")
if(alias==NULL)
alias=fopen("c:\\Datos\\PRODCTO.SEC","wb")
Print "\n\n\n\rNumero de producto:" Read no_prod;
fread(&Registro,sizeof(Registro),1,alias)
while(!feof(alias))
{
if(Registro.noProd==no_prod)
{
Print "\n\n\n\rRegistro duplicado!!!"
fclose(alias)
}
fread(&Registro,sizeof(Registro),1,alias)
}
Print "\n\rDescripcion:" gets(Registro.descrip)
Print "\n\rCantidad:" Read Registro.cantidad
Print "\n\rPrecio:" Read Registro.precio
Registro.noProd=no_prod
fwrite(&Registro,sizeof(Registro),1,alias)
fclose(alias)
Print "\n\n\n\rProducto registrado!!!"
Print "\n\r<<<Oprima cualquier tecla para continuar >>> "
}
Funcion void CONSULTA_SECUENCIAL(void)
{
no_prod int
clrscr()
Print "\n\rCONSULTA DE REGISTROS DE PRODUCTOS"
alias=fopen("c:\\Datos\\PRODUCTOS.SEC","rb")
if(alias==NULL)
{
Print "\n\n\n\rNo existe el archivo!!!"
Print "\n\r<<<Oprima cualquier tecla para continuar>>>"
}
Print "\n\n\n\rNumero de producto:" Read no_prod;
while(!feof(alias))
{
if(Registro.noProd==no_prod)
{
Print "\n\rNo Prod Descripcion Cantidad precio"
Print "\n\r------------------------------------------------------------\n\n"
Print Registro.noProd , setw(20) , Registro.descrip , setw(10) , Registro.cantidad , setw(10) , Registro.precio
fclose(alias)
Print "\n\r<<< Oprima cualquier tecla para continuar>>>"
}
fread(&Registro,sizeof(Registro),1,alias)
}
Print "\n\rNo se encuentra ese registro !!!"
fclose(alias)
Print "\n\r<<<Oprima cualquier tecla para continuar>>>"
}
funcion void LISTADO_SECUENCIAL(void)
{
clrscr()
Print "\n\rLISTADO DE REGISTRO DE PRODUCTOS"
alias=fopen("c:\\Datos\\PRODUCTO.SEC","rb")
if(alias==NULL)
{
Print "\n\n\n\rNo existe el archivo!!!"
Print "\n\r<<< Oprima cualquier tecla para continuar>>>"
}
Print "\n\rNo Prod Descripcion Cantidad Precio"
Print "\n\r------------------------------------------\n\n"
fread(&Registro,sizeof(Registro),1,alias);
while(!feof(alias))
{
Print Registro.noProd , setw(20) , Registro.descrip , setw(10) , Registro.cantidad , setw(10) , Registro.precio
fread(&Registro,sizeof(Registro),1,alias)
}
fclose(alias)
Print "\n\r-----------------------------------------------------------------\n\n"
Print "\n\rFin del listado!!!"
Print "\n\r<<<Oprima cualquier tecla para continuar>>>"
}
menu() int
{
opcion int
Print "\n\n1)alta de producto"
Print "\n2)Consulta de producto"
Print "\n3)Listado de productos"
Print "\n4)Modificar datos de productos"
Print "\n5)Salida programa"
Print "\n\nSeleccioa opcion=?"
Read opcion
return opcion
}
funcion void MODIFICACION_SECUENCIAL(void)
{
no_prod int
clrscr()
Print "\n\rMODIFICACION DE REGISTROS DE PRODUCTOS"
alias=fopen("c:\\Datos\\PRODUCTO.SEC","rb+")
if(alias==NULL)
{
Print "\n\n\n\r No existe el archivo!!!"
Print "\n\r<<< Oprima cualquier tecla para continuar>>>
}
Print "\n\n\n\rNumeros de producto:" Read no_prod
fread(&Registro,sizeof(Registro),1,alias)
while(!feof(alias))
{
if(Registro.noProd==no_prod)
{
Print "\n\rNo prod descripcion Cantidad precio\n\n"
Print "\n\r--------------------------------------------\n\n"
Print Registro.noProd , setw(20) , Registro.descrip , setw(10) , Registro.cantidad , setw(10) , Registro.precio
Print "\n\n\n\rAnote los nuevos datos..."
Print "\n\rDescripcion:";gets(Registro.descrip)
Print "\n\rCantidad:"; cin>>Registro.cantidad
Print "\n\rprecio:"; cin>>Registro.precio
fseek(alias,ftell(alias)-sizeof(Registro),SEEK_SET)
fwrite(&Registro,sizeof(Registro),1,alias)
fclose(alias)
Print "\n\n\n\rRegistro modificado!!!"
Print "\n\r<<< Oprima cualquier tecla para continuar>>>"
}
fread(&Registro,sizeof(Registro),1,alias)
}
Print "\n\rNo se encuentra ese registro!!!"
fclose(alias)
Print "\n\r<<<Oprima cualquier tecla para continuar>>>"
}
main() int
{
opc int
do
{
clrscr()
opc=menu()
switch(opc)
{
case 1:
ALTA_SECUENCIAL()
break
case 2:
CONSULTA_SECUENCIAL()
break
case 3:
LISTADO_SECUENCIAL()
break
case 4:
MODIFICACION_SECUENCIAL()
break
case 5: Print "\n\nFinal programa"
break;
default: Print "\nError en opcion"
}
}
while(opc !=5)
Fin


Practica 12 Problema 2


Pseudocodigo:
Inicio.
registro producto
{
noProd int
descrip[30] char
precio real
cantidad int
}
producto Registro
FILE*alias
funcion void ALTA_SECUENCIAL()
{
no_prod int
clrscr()
Print "\n\rALTAS DE REGISTROS DE PRODUCTOS"
alias=fopen("c:\\Datos\\PRODUCTO.SEC","rb+")
if(alias==NULL)
alias=fopen("c:\\Datos\\PRODCTO.SEC","wb")
Print "\n\n\n\rNumero de producto:" Read no_prod;
fread(&Registro,sizeof(Registro),1,alias)
while(!feof(alias))
{
if(Registro.noProd==no_prod)
{
Print "\n\n\n\rRegistro duplicado!!!"
fclose(alias)
}
fread(&Registro,sizeof(Registro),1,alias)
}
Print "\n\rDescripcion:" gets(Registro.descrip)
Print "\n\rCantidad:" Read Registro.cantidad
Print "\n\rPrecio:" Read Registro.precio
Registro.noProd=no_prod
fwrite(&Registro,sizeof(Registro),1,alias)
fclose(alias)
Print "\n\n\n\rProducto registrado!!!"
Print "\n\r<<<Oprima cualquier tecla para continuar >>> "
}
Funcion void CONSULTA_SECUENCIAL(void)
{
no_prod int
clrscr()
Print "\n\rCONSULTA DE REGISTROS DE PRODUCTOS"
alias=fopen("c:\\Datos\\PRODUCTOS.SEC","rb")
if(alias==NULL)
{
Print "\n\n\n\rNo existe el archivo!!!"
Print "\n\r<<<Oprima cualquier tecla para continuar>>>"


}
Print "\n\n\n\rNumero de producto:" Read no_prod;
while(!feof(alias))
{
if(Registro.noProd==no_prod)
{
Print "\n\rNo Prod Descripcion Cantidad precio"
Print "\n\r------------------------------------------------------------\n\n"
Print Registro.noProd , setw(20) , Registro.descrip , setw(10) , Registro.cantidad , setw(10) , Registro.precio
fclose(alias)
Print "\n\r<<< Oprima cualquier tecla para continuar>>>"
}
fread(&Registro,sizeof(Registro),1,alias)
}
Print "\n\rNo se encuentra ese registro !!!"
fclose(alias)
Print "\n\r<<<Oprima cualquier tecla para continuar>>>"
}
funcion void LISTADO_SECUENCIAL(void)
{
clrscr()
Print "\n\rLISTADO DE REGISTRO DE PRODUCTOS"
alias=fopen("c:\\Datos\\PRODUCTO.SEC","rb")
if(alias==NULL)
{
Print "\n\n\n\rNo existe el archivo!!!"
Print "\n\r<<< Oprima cualquier tecla para continuar>>>"
}
Print "\n\rNo Prod Descripcion Cantidad Precio"
Print "\n\r------------------------------------------\n\n"
fread(&Registro,sizeof(Registro),1,alias);
while(!feof(alias))
{
Print Registro.noProd , setw(20) , Registro.descrip , setw(10) , Registro.cantidad , setw(10) , Registro.precio
fread(&Registro,sizeof(Registro),1,alias)
}
fclose(alias)
Print "\n\r-----------------------------------------------------------------\n\n"
Print "\n\rFin del listado!!!"
Print "\n\r<<<Oprima cualquier tecla para continuar>>>"
}
menu() int
{
opcion int
Print "\n\n1)alta de producto"
Print "\n2)Consulta de producto"
Print "\n3)Listado de productos"
Print "\n4)Modificar datos de productos"
Print "\n5)Salida programa"
Print "\n\nSeleccioa opcion=?"
Read opcion
return opcion
}
funcion void MODIFICACION_SECUENCIAL(void)
{
no_prod int
clrscr()
Print "\n\rMODIFICACION DE REGISTROS DE PRODUCTOS"
alias=fopen("c:\\Datos\\PRODUCTO.SEC","rb+")
if(alias==NULL)
{
Print "\n\n\n\r No existe el archivo!!!"
Print "\n\r<<< Oprima cualquier tecla para continuar>>>"

}
Print "\n\n\n\rNumeros de producto:" Read no_prod
fread(&Registro,sizeof(Registro),1,alias)
while(!feof(alias))
{
if(Registro.noProd==no_prod)
{
Print "\n\rNo prod descripcion Cantidad precio\n\n"
Print "\n\r--------------------------------------------\n\n"
Print Registro.noProd , setw(20) , Registro.descrip , setw(10) , Registro.cantidad , setw(10) , Registro.precio
Print "\n\n\n\rAnote los nuevos datos..."
Print "\n\rDescripcion:";gets(Registro.descrip)
Print "\n\rCantidad:"; cin>>Registro.cantidad
Print "\n\rprecio:"; cin>>Registro.precio
fseek(alias,ftell(alias)-sizeof(Registro),SEEK_SET)
fwrite(&Registro,sizeof(Registro),1,alias)
fclose(alias)
Print "\n\n\n\rRegistro modificado!!!"
Print "\n\r<<< Oprima cualquier tecla para continuar>>>"
}
fread(&Registro,sizeof(Registro),1,alias)
}
Print "\n\rNo se encuentra ese registro!!!"
fclose(alias)
Print "\n\r<<<Oprima cualquier tecla para continuar>>>"

}
main() int
{
opc int
do
{
clrscr()
opc=menu()
switch(opc)
{
case 1:
ALTA_SECUENCIAL()
break
case 2:
CONSULTA_SECUENCIAL()
break
case 3:
LISTADO_SECUENCIAL()
break
case 4:
MODIFICACION_SECUENCIAL()
break
case 5: Print "\n\nFinal programa"
break;
default: Print "\nError en opcion"
}
}


while(opc !=5)


funcion void BAJA_LOGICA_SECUENCIAL(void)
{
no_prod int
op char
clrscr()
Print "\n\rBAJAS LOGICAS DE REGISTROS DE PRODUCTOS"
alias=fopen("c:\\datos\\PRODUCTO.SEC","rb+")
if(alias==NULL)
{
Print "\n\n\n\rNo existe el archivo !!!"
Print "\n\r<<< Oprima cualquier tecla para continuar >>>"
}
Print "\n\n\n\rNumero de producto: " Rad no_prod
fread(&Registro,sizeof(Registro),1,alias)
{
if(Registro.noProd==no_prod)
{
Print "\n\rNo Prod Descripcion Cantidad Precio "
Print "\n\r---------------------------------------------------------------\n\n"
Print Registro.noProd<<setw(20) , Registro.descrip , setw(10) , Registro.cantidad , setw(10) . Registro.precio
Registro.noProd=0
strcpy(Registro.descrip,"")
Registro.cantidad=0
Registro.precio=0.0
do {
Print "\n\n\rEsta seguro que desea borrarlo? [S/N] ---> "
op=toupper(getche())
}while(op!='S' && op!='N')
if(op=='S')
{
fseek(alias,ftell(alias)-sizeof(Registro),SEEK_SET)
fwrite(&Registro,sizeof(Registro),1,alias);
Print "\n\n\n\rRegistro eliminado !!!"
}
fclose(alias)
Print "\n\r<<< Oprima cualquier tecla para continuar >>>"
}
fread(&Registro,sizeof(Registro),1,alias)
}
Print "\n\rNo se encuentra ese registro !!!"
fclose(alias)
Print "\n\r<<< Oprima cualquier tecla para continuar >>>"
}
funcion void BAJA_FISICA_SECUENCIAL(void)
{
FILE *temporal
clrscr()
Print "\n\rBAJAS FISICAS DE REGISTROS DE PRODUCTOS" alias=fopen("C:\\datos\\PRODUCTO.SEC","rb");
if(alias==NULL)
{
Print "\n\n\n\rNo existe el archivo !!!"
Print "\n\r<<< Oprima cualquier tecla para continuar >>>"


}
temporal=fopen("C:\\datos\\TEMPORAL.TMP","wb");
fread(&Registro,sizeof(Registro),1,alias)


while(!feof(alias))
{
if(Registro.noProd!=0)
fwrite(&Registro,sizeof(Registro),1,temporal)
fread(&Registro,sizeof(Registro),1,alias)
}
fcloseall()
remove("C:\\datos\\PRODUCTO.SEC")
rename("C:\\datos\\TEMPORAL.TMP","C:\\datos\\PRODUCTO.SEC")
Print "\n\n\n\rArchivo compactado !!!"
Print "\n\r<<< Oprima cualquier tecla para continuar >>>"
}
Fin

No hay comentarios:

Publicar un comentario