Está en la página 1de 10

UNIVERSIDAD ANDINA DEL CUSCO

FACULTAD DE INGENIERÍA Y ARQUITECTURA


ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS

GUIA 12:ARREGLOS BIDIMENSIONALES

Asignatura:

Algorítmica y Lenguaje de Programación Estructurada

Docente:

Acurio Gutierrez, María Isabel

Integrantes:

- Edwin Mamani Condori


1. Elaborar un Algoritmo que utilizando modularidad determine:
a) si un elemento se encuentra en la matriz NxM ingresada y en qué posición se halla
b) el elemento mayor en la matriz NxM
c) el promedio de los elementos de una columna de la matriz NxM

1. ANALISIS.-
1.1. Entender el Problema.-
NxM
3x3

12 [0,0] 43 [0,1] 24 [0,2]

74 [1,0] 76 [1,1] 65 [1,2]

11 [2,0] 48 [2,1] 31 [2,2]

Columna=2
43 + 76 + 48 = 122
122/3= 55.666

Módulo Principal
2. DISEÑO.-
1.1. Pseudocódigo.-
Inicio
Matriz = [][]
Leer N
Leer M
Matriz1= LeerMatriz[Matriz, N, M]
MayorMatriz[Matriz1, N, M]
PromColumna[Matriz1, N, M]

a) si un elemento se encuentra en la matriz NxM ingresada

Módulo Leer elementos de una Matriz


Diseño
Funcion LeerMatriz(Matriz [][],N: entero, M:entero ):[][]
Para f=0 hasta N-1 incrementar
Para c=0 hasta M-1 incrementar
inicio
Leer valor
Matriz[f,c]=valor // asignar el valor leído a la matriz en la posición f,c
fin
Retornar Matriz
b) y en qué posición se halla el elemento mayor en la matriz NxM

Módulo del elemento mayor de una Matriz y su posición


Diseño
Procedimiento MayorMatriz (Matriz [][], N: entero, M: entero)
MayorMatriz=0
Para f=0 hasta N-1 incrementar
Para c=0 hasta M-1 incrementar
Si Matriz[f,c]> MayorMatriz Entonces
MayorMatriz= Matriz[f,c]
fila= f
colum= c
Escribir (fila, colum, MayorMatriz)

c) el promedio de los elementos de una columna de la matriz NxM

Módulo del promedio de una columna de una Matriz


Diseño
Procedimiento PromColumna(Matriz [][],N: entero, M:entero )
Leer Columna
SumaColum=0
Para f=0 hasta N-1 incrementar
Para c=0 hasta M-1 incrementar
Si Columna-1==c Entonces
SumaColum= SumaColum + Matriz[f, c]
PromColum= SumaColum / M
Escribir (PromColum)

I. CODIFICACIÓN

#función LeerMatriz
def LeerMatriz (Matriz, N, M):
for f in range(N):
for c in range(M):
# leer el valor
valor = int(input(f"Ingrese un valor para la posición {f, c}
:"))
# asignar el valor al arreglo
Matriz[f, c] = valor
return Matriz
#Procedimiento MayorMatriz
def MayorMatriz (Matriz, N, M):
MayorMatriz = 0
for f in range(N):
for c in range(M):
if Matriz[f, c] > MayorMatriz:
MayorMatriz = Matriz[f, c]
fila= f
colum= c
print(f"El elemento mayor de la matriz {N}x{M} esta en la posición
{fila, colum} y es:{MayorMatriz}")

#Procedimiento PromColumna
def PromColumna (Matriz, N, M):
Columna = int(input("Ingrese la columna que quiere su promedio:"))
SumaColum = 0
for f in range(N):
for c in range(M):
if Columna - 1 == c:
SumaColum = SumaColum + Matriz[f, c]
PromColum = SumaColum / M
print(f"El promedio de la columna {Columna} es:{PromColum}")

#Modulo principal
Matriz={}
N= int(input("Ingrese la cantidad de columnas:"))
M= int(input("Ingrese la cantidad de filas:"))
Matriz1=LeerMatriz(Matriz, N, M)
MayorMatriz(Matriz1, N, M)
PromColumna(Matriz1, N, M)

EJECUCIÓN

2. Elaborar un algoritmo que utilizando modularidad halle la suma de los elementos de 2


matrices del mismo tamaño ingresando la columna el resultado debe obtenerse en un
arreglo.
1. ANALISIS.-
1.1. Entender el Problema.-
MatrizA MatrizB
12 [0, 0] 13 [0, 1] 15 [0, 2] 23 [0, 0] 22 [0, 1] 66 [0, 2]

35 [1, 0] 55 [1, 1] 34 [1, 2] 51 [1, 0] 39 [1, 1] 71 [1, 2]

25 [2, 0] 10 [2, 1] 45 [2, 2] 29 [2, 0] 18 [2, 1] 19 [2, 2]

Columna=3

MatrizA + MatrizB SumaMatri


15 [0, 2] 66 [0, 2] 81 [0]

34 [1, 2] 71 [1, 2] 105 [1]

45 [2, 2] 19 [2, 2] 64 [2]

Módulo Principal
2. DISEÑO.-
1.1. Pseudocódigo.-
Inicio
Leer N
Leer M
MatrizA = [][]
MatrizB = [][]
SumaMatriz= []
MatrizA= LeerMatriz(MatrizA, N, M)
MatrizB= LeerMatriz(MatrizB, N, M)
SumaMatri= SumaArreglo(SumaMatriz, MatrizA, MatrizB, N, M)
MostrarSuma(SumaMatri, N)

Módulo Leer elementos de una Matriz


Diseño
Funcion LeerMatriz(Matriz [],N: entero, M:entero ):[][]
Para f=0 hasta N-1 incrementar
Para c=0 hasta M-1 incrementar
inicio
Leer valor
Matriz[f, c]=valor // asignar el valor leído a la matriz en la posición f,c
fin
Retornar Matriz

Módulo suma de una columna especifica de dos matrices.


Diseño
Funcion SumaArreglo (SumaMatriz[], MatrizA [][], MatrizB [][], N: entero, M:entero ): []
Leer Columna
Para f=0 hasta N-1 incrementar
Para c=0 hasta M-1 incrementar
inicio
Si Columna-1==c Entonces
Suma = MatrizA[f, c] + MatrizB[f, c]
SumaMatriz = SumaMatriz + [Suma]
fin
Retornar SumaMatriz

Módulo mostrar suma de una columna


Diseño
Procedimiento MostrarSuma(Suma, N)
Para f=0 hasta N-1 incrementar
Escribir Suma[f]

CODIFICACIÓN

#función LeerMatriz
def LeerMatriz (Matriz, N, M):
for f in range(N):
for c in range(M):
# leer el valor
valor = int(input(f"Ingrese un valor para la posición {f, c} :"))
# asignar el valor al arreglo
Matriz[f,c] = valor
return Matriz
#Función SumaMatriz
def SumaArreglo(SumaMatriz, MatrizA, MatrizB, N, M):
Columna = int(input("Ingrese la columna que quiere su sumar:"))
for f in range(N):
for c in range(M):
if Columna-1==c:
Suma= MatrizA[f,c] + MatrizB[f,c]
SumaMatriz = SumaMatriz+[Suma]
return SumaMatriz

# Procedimiento MostrarSuma
def MostrarSuma(Suma, N):
for f in range(N):
print(Suma[f])

# Modulo principal
N = int(input("Ingrese la cantidad de columnas:"))
M = int(input("Ingrese la cantidad de filas:"))
MatrizA={}
MatrizB={}
SumaMatriz= []
#llamar a la función Leer elementos de la Matriz A
print("Ingrese los valores del primer matriz")
MatrizA=LeerMatriz(MatrizA, N, M)
#llamar a la función Leer elementos de la Matriz B
print("Ingrese los valores del segunda matriz")
MatrizB=LeerMatriz(MatrizB, N, M)
SumaMatri = SumaArreglo(SumaMatriz, MatrizA, MatrizB, N, M)
MostrarSuma(SumaMatri, N)

EJECUCIÓN

3. Elaborar un Algoritmo que utilizando modularidad halle la transpuesta de una matriz NxM

1. ANALISIS.-
1.1. Entender el Problema.-
Datos Resultado

Matriz1
12 [0, 0] 13 [0, 1] 15 [0, 2] 12[0, 0] 35 [0, 1] 25 [0, 2]
35 [1, 0] 55 [1, 1] 34 [1, 2] 13 [1, 0] 55 [1, 1] 10 [1, 2]

25 [2, 0] 10 [2, 1] 45 [2, 2] 15 [2, 0] 34 [2, 1] 45 [2, 2]

Módulo Principal
2. DISEÑO.-
1.1. Pseudocódigo.-
Inicio
Leer N
Leer M
Matriz = [][]
Matriz1= LeerMatriz(Matriz, N, M)
MostrarMatriz(Matriz1, N, M)
MatrizTrans(Matriz1, N, M)

Módulo Leer elementos de una Matriz


Diseño
Funcion LeerMatriz(Matriz [][],N: entero, M:entero ):[][]
Para f=0 hasta N-1 incrementar
Para c=0 hasta M-1 incrementar
inicio
Leer valor
Matriz[f,c]=valor // asignar el valor leído a la matriz en la posición f,c
fin
Retornar Matriz

Módulo Mostrar elementos de una matriz.


Diseño
Procedimiento MostrarMatriz (Matriz [][],N: entero, M:entero)
Para f=0 hasta N-1 incrementar
Para c=0 hasta M-1 incrementar
inicio
Escribir (Matriz[f,c]<sin salto de línea)
fin
Escribir <un salto de línea>

Módulo de la matriz transpuesta.


Diseño
Procedimiento MatrizTrans (Matriz [][],N: entero, M:entero)
Para c=0 hasta M-1 incrementar
Para f=0 hasta N-1 incrementar
inicio
Escribir(Matriz[f,c]<sin salto de línea)
fin
Escribir <un salto de línea>

CODIFICACIÓN

#función LeerMatriz
def LeerMatriz (Matriz, N, M):
for f in range(N):
for c in range(M):
# leer el valor
valor = int(input(f"Ingrese un valor para la posición {f, c}
:"))
# asignar el valor al arreglo
Matriz[f, c] = valor
return Matriz

#Procedimiento MostrarMatriz
def MostrarMatriz(Matriz, N, M):
for f in range(N):
for c in range(M):
print(f"{Matriz[f, c]}\t", end=" ")
print()

# Procedimiento MatrizTrans
def MatrizTrans(Matriz, N, M):
for c in range(M):
for f in range(N):
print(f"{Matriz[f, c]}\t", end=" ")
print()

# Modulo principal
N = int(input("Ingrese la cantidad de columnas:"))
M = int(input("Ingrese la cantidad de filas:"))
Matriz={}
Matriz1=LeerMatriz(Matriz, N, M)
print(f"Esta matriz {N}x{M}")
MostrarMatriz(Matriz1, N, M)
print(f"Su transpuesta es")
MatrizTrans(Matriz1, N, M)

EJECUCIÓN

También podría gustarte