Proyecto Calculadora de Matrices
Proyecto Calculadora de Matrices
ALGORITMO EN PYTHON
import numpy as a
import numpy as np
#Menu
print('Nota:\nEsta calculadora permite sumar, restar, multiplicar dos
matrices, también permite transponer y mostrar valores máximos y mínimos de
una matriz')
i=0
while i<1:
print('\nMENU\n')
print('0 - Definir matriz 1 y matriz 2\n')
A=int(input('Seleccione la opción: '))
if A<0 or A>0:
#Mensaje de Error
print('\nLa opción del menú seleccionada es incorrecta')
elif A==0:
i=i+1
#dimension de la matriz 1
if A==0:
N1=int(input("\nIngrese número de filas y columnas de las matrices: "))
matriz1=a.zeros((N1,N1))
for K in range(0,N1):
for j in range(0,N1):
print('\nfila',K+1,'columna',j+1)
N=int(input('Ingrese el valor:'))
matriz1[K,j]=N
X1=np.array([[matriz1]]).reshape(-1).tolist()
print('\nLa primera matriz es:\n',matriz1,'\n')
#dimension de la matriz 2
matriz2=a.zeros((N1,N1))
for K in range(0,N1):
for j in range(0,N1):
print('\nfila',K+1,'columna',j+1)
N=int(input('Ingrese el valor:'))
matriz2[K,j]=N
X2=np.array([[matriz2]]).reshape(-1).tolist()
print('\nLa segunda matriz es:\n',matriz2,'\n')
#Menu
while i<20000:
print('\n','MENU','\n')
print('¿Qué operación desea hacer?\n')
print('1 - Suma')
print('2 - Resta (matriz.1 - matriz.2)')
print('3 - Multiplicación (matriz.1 * matriz.2)')
print('4 - Transponer la matriz 1')
print('5 - Transponer la matriz 2')
print('6 - Numero mayor y menor de la matriz 1')
print('7 - Numero mayor y menor de la matriz 2')
print('8 - Salir del programa\n')
B=int(input('Seleccione la opción: '))
#Suma
if B==1:
VS=[]
for K in range(len(X2)):
VS.append(X1[K]+X2[K])
MS=np.array(VS).reshape(N1,N1)
print("\nEl resultado de la suma es:\n",MS)
#resta
if B==2:
VR=[]
for K in range(len(X2)):
VR.append(X1[K]-X2[K])
MR=np.array(VR).reshape(N1,N1)
print("\nEl resultado de la resta es:\n",MR)
#Multiplicación
matriz3=a.zeros((N1,N1))
if B==3:
for i in range(len(matriz1)):
for j in range(len(matriz2[0])):
for k in range(len(matriz2)):
matriz3[i][j]=matriz3[i][j]+matriz1[i][k]*matriz2[k][j]
print('La multiplicación de matrices dio como resultado:\n',matriz3)
#Transponer la matriz 1
if B==4:
V=np.array(X1).reshape(N1,N1)
VC=np.zeros((N1,N1))
for x in range(0,N1):
for y in range(0,N1):
VC[y,x]=matriz1[x,y]
print(VC)
#Transponer la matriz 2
if B==5:
V=np.array(X2).reshape(N1,N1)
Vc=np.zeros((N1,N1))
for x in range(0,N1):
for y in range(0,N1):
Vc[y,x]=matriz2[x,y]
print(Vc)
#Numero mayor y menor de la matriz 1
if B==6:
for K in range(1,len(X1)):
for F in range(len(X1)-K):
if X1[F] > X1[F+1]:
tem=X1[F]
X1[F]=X1[F+1]
X1[F+1]=tem
Z=np.array(X1).reshape(N1,N1)
print('La matriz 1 es:\n',matriz1)
print('Numero menor: ',X1[0],' Numero mayor: ',X1[N1*N1-1])
#Numero mayor y menor de la matriz 2
if B==7:
for K in range(1,len(X2)):
for F in range(len(X2)-K):
if X2[F] > X2[F+1]:
tem=X2[F]
X2[F]=X2[F+1]
X2[F+1]=tem
Z=np.array(X2).reshape(N1,N1)
print('La matriz 2 es:\n',matriz2)
print('Numero menor: ',X2[0],' Numero mayor: ',X2[N1*N1-1])
#Salida del programa
if B==8:
print('Gracias por usar la calculadora')
break
#Mensaje de Error
if B<1 or B>8:
print('\nLa opción del menú seleccionada es incorrecta')
DIAGRAMA DE FLUJO
(Por un problema de guardado se debió tomara capturas, aumente el zoom del
documento para apreciar de manera correcta el diagramaç)
Diagrama de suma, resta, transpuesta, número mayor y menor de las
matrices.
Diagrama de multiplicación de matrices
Inicio
Matriz1
Matriz2
F 1, F1, 1
C 1, C2, 1
Matriz (F, C) =0
Dauxiliar 1, C2