0% encontró este documento útil (0 votos)
337 vistas

Proyecto Final Programacion

El documento describe una serie de objetivos para una práctica sobre matrices en Python. Los objetivos incluyen practicar con problemas que requieren conocimientos sobre arreglos bidimensionales, introducir conceptos básicos de matrices en Python, e implementar estándares de programación. La práctica consiste en varios programas independientes que manipulan matrices de manera eficiente y estándar.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
337 vistas

Proyecto Final Programacion

El documento describe una serie de objetivos para una práctica sobre matrices en Python. Los objetivos incluyen practicar con problemas que requieren conocimientos sobre arreglos bidimensionales, introducir conceptos básicos de matrices en Python, e implementar estándares de programación. La práctica consiste en varios programas independientes que manipulan matrices de manera eficiente y estándar.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 10

Objetivos de la Practica

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)

2. Introducirse en los conceptos básicos relacionados con matrices, en el lenguaje Python de


programación.

3. Implementar las recomendaciones y estándares de programación, aprendidos a lo largo del


trimestre Agosto - octubre 2016

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 = []

filasA = int(raw_input("Introduzca el numero de filas de la


matriz A: "))
columnasA = int(raw_input("Introduzca el numero de columnas
de la matriz A: "))
filasB = int(raw_input("Introduzca el numero de filas de la
matriz B: "))
columnasB = int(raw_input("Introduzca el numero de columnas
de la matriz B: "))

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)))

print "**** Matriz B ****"


for i in range (filasB):
MatrizB.append ([0]*columnasB)
for f in range (filasB):
for c in range (columnasB):
MatrizB[f][c] = int(raw_input("Elemento %d,%d: "
% (f,c)))

print "**** Matrices ****"


print "Matriz A"
print MatrizA
print "Matriz B"
print MatrizB

print "**** Multiplicar Matrices ****"

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 = []

filasA = int(raw_input("Introduzca el numero de filas de la


matriz A: "))
columnasA = int(raw_input("Introduzca el numero de columnas
de la matriz A: "))
filasB = filasA
columnasB = columnasA

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)))

MatrizB = MatrizA

print " La matriz con los elementos movidos es", MatrizB

main()
#5-) volver nulos o ceros todos los elementos de una matriz

import random

def matrizcero(fil,col): #crea la matriz


matriz = []
for i in range (fil):
matriz.append([5]*col)#se llena la matriz completa de 5

for i in range (fil):# recorre las filas


for p in range (col):# recorre las columnas
matriz[i][p]= 0 #vuelve todos los elementos 0 de la
matriz
return matriz

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

vector= []#se declara vector vacio


for i in range(x):#recorre el vector
n= random.randrange(0,100)#numero aleatorio de 1 a 100
vector.append(n)#se le a?ade el numero aleatorio
generado al vector

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

def intercambiarFilas(matriz, m, n):


p=int(raw_input("fila a intercambiar (0-" + str(m-1) +
str(")")))
q=int(raw_input("fila a intercabiar (0-" + str(m-1) +
str(")")))
if p < m and q < m:
for j in range(n):
a = matriz[q][j]
matriz[q][j] = matriz[p][j]
matriz[p][j] = a

print "intercambio filas \n"


printMatrix(matriz, m, n)

else:
print "Solo son", m,"filas"

return
#8-) intercambiar dos columnas

def intercambiarColumnas(matriz,m , n):


p=int(raw_input("columna a intercambiar (0-" + str(n-1) +
str(")")))
q=int(raw_input("columna a intercabiar (0-" + str(n-1) +
str(")")))

if (p < n) and (q < n):


for i in range(m):
a = matriz[i][p]
matriz[i][p] = matriz[i][q]
matriz[i][q] = a

print "intercambio columnas \n"


printMatrix(matriz, m, n)

else:
print "La matriz solo consta de", n, "columnas"

return
#9-) calculo de determinante

def determinanteGauss(matrix, m, n):


if m == n:
ver = 0
for i in range(n):
for j in range (n):
if matrix[i][j] == 0:
ver = ver + 1
if ver == (n * n):
print "EL determinante es 0"

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

También podría gustarte