martes, 13 de noviembre de 2012

Practica 11

Problema 1

Hacer un programa para hacer la lectura de una matriz 4x5 y desplegar la matriz y la suma de cada renglon.

Pseudocodigo

Inicio
i, j, p , n Entero
arreglo[4][5] Entero
for(p = 0 to 3 step p = p + 1)
{
for(n = 0 to 4 n++)
{
Print "Arreglo ", n + 1, ": "
Read arreglo[p][n]
}
}
for(i = 0 to 3 step i = i + 1)
{
for(j = 0 to 4 step j = j + 1)
{
Print arreglo[i][j], " | "
}
Print " = ", arreglo[i][0] + arreglo[i][1] + arreglo[i][2] + arreglo[i][3] + arreglo[i][4]
}
Fin

Codigo C++




Problema 2

Hacer el problema 1 pero agregar una columna para almacenar la suma de cada renglon.

Pseudocodigo

Inicio
 i, j, p , n Entero
arreglo[4][6] Entero
for(p = 0 to 3 p++)
{
for(n = 0 to 4 n++)
{
Print "Arreglo ", n + 1, ": "
Read arreglo[p][n]
arreglo[p][5] = arreglo[p][5] + arreglo[p][n]
}
}
for(i = 0 to 3 step i = i + 1)
{
for(j = 0 to 4 step j = j + 1)
{
Print arreglo[i][j], " | "
}
Print "= ", arreglo[i][5], ,
}
Fin

Codigo C++



Problema 3

Utilize la misma matriz del problema 1 y desplegar la suma de cada columna.

Pseudocodigo

i, j, p , n Entero
arreglo[4][5] Entero
for(p = 0 to 3 p++)
{
for(n = 0 to 4 n++)
{
Print "Arreglo ", n + 1, ": "
Read arreglo[p][n]
}
}
for(i = 0 to 3 step i = i + 1)
{
for(j = 0 to 4 step j = j + 1)
{
Print arreglo[i][j], " | "
}
}
for(i = 0 to 4 step i = i + 1)
{
Print setw(3), arreglo[0][i] + arreglo[1][i]
+ arreglo[2][i] + arreglo[3][i], " | "
}
Print " - suma de col."
Fin

C++




Problema 4. 

 Haga el problema 3 pero utilizando un renglon para almacenar la suma de cada columna. Desplegar toda la matriz.

Pseudocodigo 
Inicio
i, j, p , n Entero
arreglo[5][5] Entero
for(p = 0 to 4 step p = p + 1)
{
for(n = 0 to 3 step n = n + 1)
{
Print "Arreglo ", n + 1, ": "
Read arreglo[n][p]
arreglo[4][p] = arreglo[4][p] + arreglo[n][p]
}
}
for(i = 0 to 4 step i = i + 1)
{
if(i = = 4)
{
Print newline
}
for(j = 0 to 4 step j = j + 1)
{
Print arreglo[i][j], " | "
}
}
Fin

Codigo C++




Problema 5

 Hacer un programa para generar numeros aleatorios para almacenar en una matriz de 6x7 y agregar un renglon y una columna mas, para almecenar la suma de cada renglon y de cada columna. Desplegar toda la matriz y el renglon con mayor valor de la suma de columnas y la columna con valor mayor de la suma de renglones.

Pseudocodigo

Inicio
i, j, x, y, mayorR, mayorC Entero
time_t seconds
time(&seconds)
srand((unsigned int) seconds)
int arreglo[7][8] = {0}
for(i = 0 to 5 step i = i + 1)
{
for(j = 0 to 6 step j = j + 1)
{
arreglo[i][j] = random
}
}
for(i = 0 to 5 step i = i + 1)
{
for(j = 0 to 6 step j = j + 1)
{
Print arreglo[i][j], "|"
arreglo[i][7] = arreglo[i][7] + arreglo[i][j]
}
Print " = ", arreglo[i][7]
}
for(i = 0 to 6 step i = i + 1)
{
for(j = 0 j <=5 step j = j + 1)
{
arreglo[6][i] = arreglo[6][i] + arreglo[j][i]
}
Print setw(7), arreglo[6][i], "|"
}
mayorR = arreglo[0][7]
for(i = 0 to 5 step i = i + 1)
{
if(mayorR < arreglo[i][7])
{
mayorR = arreglo[i][7]
}
}
mayorC = arreglo[6][0]
for(i = 0 to 5 step i = i + 1)
{
if(mayorC < arreglo[6][i])
{
mayorC = arreglo[6][i]
}
}
Print " El mayor num. de los renglones es ", mayorR
Print " El mayor num. de las columnas es " , mayorC
Fin


C++




Problema 6

Utilizando la matriz de 8x8 con valores aleatorios hacer la traspuesta es decir intercambiar las columnas por los renglones.

Pseudocodigo

Inicio
srand(time(0))
matriz[8][8], r, c Entero
Print "matriz: \n"
for(r = 0 r < 8 r = r + 1)
{
for(c = 0 r < 8 c = c + 1)
{
matriz[r][c] = random % 100
Print matriz[r][c], "\t"
}
Print "\n"
}
Print "\n", "matriz traspuesta: ", "\n"
for(c = 0 c < 8 c = c + 1)
{
for(r = 0 r < 8 r = r + 1)
{
Print matriz[r][c], "\t"
}
Print "\n"
}
Fin

Codigo C++




Problema 7

Utilizando la matriz de 8x8 con valores aleatorios imprimir la suma de la diagonal principal e inversa.

Pseudocodigo

Inicio
time_t seconds
time(&seconds)
srand((unsigned int) seconds)
int arreglo[8][8], i, j, step n = 0, DiagSup = 0, DiagInf = 0
for(i = 0 to 7 step i = i + 1)
{
for(j = 0 to 7 step j = j + 1)
{
arreglo[i][j] = random
}
}
for(i = 0 to 7 step i = i + 1)
{
for(j = 0 to 7 step j = j + 1)
{
Print arreglo[i][j], "|"
}
}
for(i = 0 to 7 step i = i + 1)
{
DiagSup = DiagSup + arreglo[i][7-n]
n = n + 1
}
step n = 0
for(i = 0 to 7 step i = i + 1)
{
DiagInf = DiagInf + arreglo[i][0+n]
n = n + 1
}
Print , , "La suma diagonal superior es ", DiagSup
Print , , "La suma diagonal inferior es ", DiagInf
Fin

Codigo C++




Problema 8

Haga una matriz de 8x8 en forma aleatoria para encontrar el dato mayor y minimo. Desplegar la matriz, dato mayor y el dato menor.
 
Pseudocodigo

Inicio
i, j arreglo[8][8], mayor, menor Entero
for(i = 0 to 7 step i = i + 1)
{
for(j = 0 to 7 step j = j + 1)
{
arreglo[i][j] = random
}
}
for(i = 0 to 7 step i = i + 1)
{
for(j = 0 to 7 step j = j + 1)
{
Print setw(6), arreglo[i][j], "|"
}Print , }menor = arreglo[0][0]mayor = arreglo[0][0]
for(i = 0 to 7 step i = i + 1)
{
for(j = 0 to 7 step j = j + 1)
{
if(arreglo[i][j] < menor)
{
menor = arreglo[i][j]
}
if(arreglo[i][j] > mayor)
{
mayor = arreglo[i][j]
}}}
Print , , "El dato mayor es ", mayor
Print , , "El dato menor es ", menor
Fin

Codigo C++


martes, 6 de noviembre de 2012

Practica 10

Problema 1

Escriba un programa para introducir diez numeros enteros en un arreglo llamado valores. Conforme se introduce cada numero, sume los números en un total. Despues que se hayan introducido todos los números, despliegue los numeros que son mayores o iguales al promedio.

Pseudocodigo


Inicio
I Entero
suma1 = 0, suma2 = 0 Real
valores[10] = {0} Real
for(i = 0 to 9 step i = i + 1)
{
Print "Introduzca valor ", i + 1, ": "
Read valores[i]
suma1 = suma1 + valores[i]
suma2 = suma 2 + 1
Print
}
Print "Promedio = ", suma1/suma2
Print , "Valores mayores al promedio"
for(i = 0 i to 9 step i = i + 1)
{
if(valores[i] > suma1/suma2)
{
Print "Valor ", i + 1, " = ", valores[i]
}
}
Print , "Valores menores al promedio"
for(i = 0 to 9 step i = i + 1)
{
if(valores[i] < suma1/suma2)
{
Print "Valor ", i + 1, " = ", valores[i]
}
}
Print , "Valores igual al promedio"
for(i = 0 to 9 step i = i + 1)
{
if(valores[i] = = suma1/suma2)
{
Print "Valor ", i + 1, " = ", valores[i]
}
}
Fin

Codigo C++




Problema 2a

Haga un programa para introducir 10 valores flotantes. Conforme introduce cada número, sume los numeros a un total. Despues que todos los numeros son introducidos y se obtiene el total, calcule el promedio de los numeros y use el promedio para determinar la desviacion de cada valor del promedio.
Almacene cada desviacion en un arreglo llamado desviacion. Cada desviacion se obtiene como elv alor del elemento menos el promedio de todos los datos. Haga que el programa despliegue cada desviacion al lado de su elemento correspondiente del arreglo.

Pseudocodigo

Inicio
i Entero
suma1 = 0, suma2 = 0 Real
valores[10] = {0} Real
desviacion[10] = {0} Real
for(i = 0 to 9 step i = i + 1)
{
Print "Introduzca valor ", i + 1, ": "
Read valores[i]
suma1 = suma1 + valores[i]
suma2 = suma2 + 1
Print
}
Print "Promedio = ", suma1/suma2
for(i = 0 to 9 step i = i + 1)
{
desviacion[i] = valores[i] - (suma1/suma2)
Print "Valor ", i +1, " = ", valores[i]
, " Desviacion = ", desviacion[i]
}
Fin

Codigo C++



Problema 2b

Calcular la varianza de los elementos usados en el 2do problema. La varianza se obtiene elevando al cuadrado cada desviacion individual y dividiendo la suma de las desviacion al cuadradas entre el numero de desviaciones.

Pseudocodigo

Inicio
i Entero
suma1 = 0, suma2 = 0, varianza = 0 Real
valores[10] = {0} Real
desviacion[10] = {0} Real
for(i = 0 to 9 step i = i + 1)
{
Print "Introduzca valor ", i + 1, ": "
Read valores[i]
suma1 = suma1 + valores[i]
suma2 = suma2 + 1
}
Print "Promedio = ", suma1/suma2
for(i = 0 to 9 i = i + 1)
{
desviacion[i] = valores[i] - (suma1/suma2)
Print "Valor ", i +1, " = ", valores[i]
, " Desviacion = ", desviacion[i]
varianza = varianza + pow(desviacion[i],2.0)
}
Print , "La varianza es ", varianza/10
Fin

Codigo C++



Problema 3

Calcular el intervalo = Máximo (x1,x2...xn) - Minimo (x1,x2...xn). Desplegar el arreglo, el maximo, el minimo y el intervalo. Considere un arreglo X de 14 elementos.

Pseudocodigo

Inicio
x[14] Entero
maximo = 0, minimo = 0, intervalo = 0, i Entero
for(i = 0 i <= 13 i++)
{
Print "x[", i, "] = ? "
Read x[i]
}
maximo = x[0]
for(i = 0 to 13 i = i + 1)
{
if(x[i] > maximo)
{
maximo = x[i]
}
}
minimo = x[0]
for(i = 0 to 13 i = i + 1)
{
if(x[i] < minimo)
{
minimo = x[i]
}
}
intervalo = maximo - minimo
Print , "Lista de datos del arreglo: "
for(i = 0 to 13 i = i + 1)
{
Print x[i], "\t"
}
Print , "Maximo = ", maximo
Print , "Minimo = ", minimo
Print , "Intervalo= ", intervalo
Fin

Codigo C++



Problema 4

Haga un programa que considere un arreglo A de 15 elementos introducidos por teclado. Hacer una lista de los numeros pares y una lista de los valores impares.

Pseudocodigo

Inicio
arreglo[15] Entero
i Entero
for(i = 0 to 14 i = i + 1)
{
Print "[ ", i, " ] = ? "
Read arreglo[i]
}
Print "Listado de numeros pares e impares"
Print "Par impar"
for(i = 0 i <= 14 i++)
{
if((arreglo[i]%2) = = 0)
{
Print arreglo[i]
}
if((arreglo[i]%2) NOT 0)
{
Print " ", arreglo[i]
}
}
Fin

Codigo C++