Professional Documents
Culture Documents
La práctica desarrollada a continuación persigue una serie de objetivos, dentro de los cuales
figuran:
1. Practicar con cada uno de los problemas donde es necesaria la implementación de los
conocimientos obtenidos a cerca de arreglos bidimensionales o matrices. Para desarrollar los
programas de esta práctica, el alumno debe crear distintos archivos y obtener los ejecutables.
(Acompañados de una memoria escrita)
Para ello, nos centraremos en programas independientes que manejan matrices. Los problemas
que se proponen requieren ser realizados de la manera más eficiente, eficaz y estándar posible.
#3-) multiplicar matriz
def main():
MatrizA = []
MatrizB = []
MatrizR = []
if columnasA != filasB:
print "Operacion sin Solucion"
else:
print "**** Matriz A ****"
for i in range (filasA):
MatrizA.append ([0]*columnasA)
for f in range (filasA):
for c in range (columnasA):
MatrizA[f][c] = int(raw_input("Elemento %d,%d: "
% (f,c)))
for k in range(filasA):
MatrizR.append([0]*columnasB)
for i in range(columnasB):
MatrizR[k][i] = 0
for i in range(filasA):
for j in range(columnasA):
for k in range(columnasB):
MatrizR[i][k] = MatrizR[i][k] +
(MatrizA[i][j] * MatrizB[j][k])
print MatrizR
main()
#4-) mover los elementos de una matriz a otra
def main():
MatrizA = []
MatrizB = []
MatrizB = MatrizA
main()
#5-) volver nulos o ceros todos los elementos de una matriz
import random
def imprimir_matriz(matriz,fil,col):
for i in range(fil):
for p in range(col):
print matriz[i][p]
def main():
fil= random.randrange(1,8)#genera un numero aleatorio de 1
al 8
col= random.randrange(1,8)
matriz= matrizcero(fil,col)
imprimir_matriz(matriz,fil,col)#otra forma de imprimir la
matriz
print matrizcero(fil,col)#este es una forma de imprimir la
matriz
main()
#6-) imprimir una matriz o vector
import random
def vecto(x):#crea y llena el vector de elementos
return vector
def imprimir(vector,x):
for i in range (x):
print vector[i]#imprime cada elemento del vector
def main():
x= random.randrange(2,20)
vector1= vecto(x)
imprimir(vector1,x)
main()
#7-) intercambiar dos filas
else:
print "Solo son", m,"filas"
return
#8-) intercambiar dos columnas
else:
print "La matriz solo consta de", n, "columnas"
return
#9-) calculo de determinante
else:
c = 0
l = 0
k = 0
if matrix[k][k] == 0:
l = k + 1
c = 1
while matrix[l][k] == 0:
l = l + 1
i = 0
for j in range(n):
a = matrix[i][j]
matrix[i][j] = matrix[l][j]
matrix[l][j] = a
for k in range(n):
for i in range(k + 1, n):
if matrix[k ][k ] == 0:
print "No se puede realizar por este
método "
break
else:
m = (matrix[i][k] / matrix[k][k])
for j in range(n):
matrix[i][j] = matrix[i][j] - m *
matrix[k][j]
if c == 1:
d = -1.0
else:
d = 1.0
printMatrix(matrix, n, n)
for p in range(n):
d *= matrix[p][p]
print d
else:
print "Solo se aceptan matrices cuadradas"
return