Documentos de Académico
Documentos de Profesional
Documentos de Cultura
OBJETIVO:
El estudiante deberá conocer y aplicar los conceptos de arreglos recibidos en clase en la resolución
de problemas planteados
PRE-REQUISITOS:
a) Computador con sistema operativo Microsoft Windows, MacOS X o GNU/Linux
b) Apuntes de clase teórica de arreglos, ciclos de repetición y sentencia if - else
c) Estudiar clase teórica
INSTRUCCIONES: 1. Lea detenidamente cada uno de los enunciados propuestos.
2. Plantee una solución a cada uno de los ejercicios, utilizando las técnicas
estudiadas para funciones
3. Desarrolle la solución planteada.
4. Elabore un informe con la solución de los ejercicios.
ACTIVIDADES PARA DESARROLLAR:
a B c
d E f
g H i
-- EJERCICIO 1 --
Columna 2: c f i
ALGORITMO
1.INICIO
2.DECLARACION
Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001
n, m numéricos
matriz1, col alfabético
3.ASIGNACION
m=3
n=3
IMPRIMIR (“INGRESE ELEMENTO DE LA MATRIZ”)
LEER ([i, j])
matriz1=np.empty ((n,m)), tipo de dato= alfabetico)
4.PROCEDIMIENTO
para i en rango (0, n):
para j en rango (0, m):
IMPRIMIR (“INGRESE ELEMENTO DE LA MATRIZ”)
LEER ([i, j])
def tabla(matriz1):
matriz3= [matriz1[0,2], matriz1[1,2], matriz1[2,2]]
return matriz3
col=tabla(matriz1)
5.VISUALIZACION
IMPRIMIR ("MATRIZ ALFABETICA")
IMPRIMIR (matriz1)
IMPRIMIR ("COLUMNA 3:", col)
6.FIN
PSEUDOCODIGO
1.ENTRADAS
n, m numéricos
matriz1 alfabético
2.SALIDAS
col alfabético
3.PROCESO
m=3
n=3
IMPRIMIR (“INGRESE ELEMENTO DE LA MATRIZ”)
LEER ([i, j])
matriz1=np.empty ((n,m)), tipo de dato= alfabetico)
para i en rango (0, n):
para j en rango (0, m):
IMPRIMIR (“INGRESE ELEMENTO DE LA MATRIZ”)
LEER ([i, j])
def tabla(matriz1):
matriz3= [matriz1[0,2], matriz1[1,2], matriz1[2,2]]
return matriz3
col=tabla(matriz1)
4.RESULTADOS
IMPRIMIR ("MATRIZ ALFABETICA")
IMPRIMIR (matriz1)
IMPRIMIR ("COLUMNA 3:", col)
FLUJOGRAMA
Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001
PROGRAMA PYCHARM
import numpy as np
n=3
m=3
matriz1=np.empty((n,m),dtype=str)
for i in range(0, n):
for j in range(0, m):
Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001
CAPTURA PROGRAMA
Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001
Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001
SI ( __name__ == "__main__"):
main()
5.VISUALIZACION
IMPRIMIR (arreglo[i], end= " ")
IMPRIMIR (arreglo[i], end = '')
6.FIN
PSEUDOCODIGO
1.ENTRADAS
Arreglo, s1 numéricos
2.SALIDAS
3.PROCEDIMIENTO
arreglo = [1, 5, 7, 5, 8, 9, 11, 11, 2, 5, 6]
s1 = len(arreglo)
IMPRIMIR ("Arreglo: ")
PARA i EN RANGO (0, s1):
IMPRIMIR (arreglo[i], end=" ")
IMPRIMIR (arreglo[i], end = '')
IMPRIMIR ("\nSalida Desconocida: ", end = '')
PARA i EN RANGO (0, s1):
j = None
j=0
MIENTRAS (j<i):
SI (arreglo[i] == arreglo[j]):
break
j += 1
SI (i == j):
IMPRIMIR (arreglo[i],end= " ")
IMPRIMIR (arreglo[i], end = '')
SI ( __name__ == "__main__"):
main()
4.RESULTADOS
IMPRIMIR (arreglo[i], end= " ")
IMPRIMIR (arreglo[i], end = '')
FLUJOGRAMA
Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001
PROGRAMA PYCHARM
def main():
arreglo = [1, 5, 7, 5, 8, 9, 11, 11, 2, 5, 6]
s1 = len(arreglo)
print("Arreglo: ")
for i in range(0, s1):
print( arreglo[i],end=" ")
print(arreglo[i], end = '')
print("\nSalida Desconocida: ", end = '')
for i in range(0, s1):
j = None
j=0
while j<i:
if arreglo[i] == arreglo[j]:
break
Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001
j += 1
if i == j:
print(arreglo[i],end= " ")
print(arreglo[i], end = '')
if __name__ == "__main__":
main()
CAPTURA PROGRAMA
Crear un programa que permita obtener la diagonal principal de un arreglo bidimensional 3x3 cuyos
valores sean generados aleatoriamente entre 100 y 199. Los valores de la diagonal principal deben
ser almacenados en un arreglo unidimensional.
Ejemplo:
-- EJERCICIO 3 --
Arreglo original:
[ 174 102 173 ]
[ 167 172 184 ]
[ 149 119 159 ]
Diagonal principal:
[ 174 172 159 ]
-- EJERCICIO 3 --
Arreglo original:
[ 195 114 129 ]
[ 111 104 136 ]
[ 163 156 114 ]
Diagonal principal:
Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001
ALGORITMO
1.INICIO
2.DECLARACION
n, m numéricos
matriz1, matrizd numéricos
3.ASIGNACION
matriz1=np.empty((n,m))
4.PROCESO
PARA i EN RANGO (0, n):
PARA j EN RANGO (0, m):
matriz1[i, j] =random.randint(100,199)
IMPRIMIR ("MATRIZ RANDOMICA GENERADA")
IMPRIMIR (matriz1)
matrizd = [matriz1[0, 0], matriz1[1, 1], matriz1[2, 2]]
5.VISUALIZACION
IMPRIMIR ("MATRIZ DIAGONAL PRINCIPAL")
IMPRIMIR (matrizd)
6.FIN
PSEUDOCODIGO
1.ENTRADAS
n, m numéricos
matriz1 numéricos
2.SALIDAS
matrizd numéricos
3.PROCESO
matriz1=np.empty((n,m))
PARA i EN RANGO (0, n):
PARA j EN RANGO (0, m):
matriz1[i, j] =random.randint(100,199)
IMPRIMIR ("MATRIZ RANDOMICA GENERADA")
IMPRIMIR (matriz1)
matrizd = [matriz1[0, 0], matriz1[1, 1], matriz1[2, 2]]
4.RESULTADOS
IMPRIMIR ("MATRIZ DIAGONAL PRINCIPAL")
IMPRIMIR (matrizd)
FLUJOGRAMA
Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001
PROGRAMA PYCHARM
import numpy as np
import random
n=3
m=3
matriz1=np.empty((n,m))
for i in range(0, n):
for j in range(0, m):
matriz1[i, j] =random.randint(100,199)
print("MATRIZ RANDOMICA GENERADA")
print(matriz1)
matrizd = [matriz1[0, 0], matriz1[1, 1], matriz1[2, 2]]
print("MATRIZ DIAGONAL PRINCIPAL")
print(matrizd)
Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001
CAPTURA PROGRAMA
Crear un programa que permita la linealización de un arreglo bidimensional por columnas. Los datos
del arreglo bidimensional serán tomados de la tabla. Para la linealización se utilizará un método que
reciba como parámetro el arreglo bidimensional, el arreglo unidimensional (donde se almacenará el
resultado de la linealización), el número de filas y el tamaño del arreglo unidimensional
1 2 3 7
4 5 6 8
Ejemplo:
-- EJERCICIO 2 --
Arreglo original:
[ 1 2 3 7 ]
[ 4 5 6 8 ]
Arreglo linealizado:
[ 1 4 2 5 3 6 7 8 ]
ALGORITMO
1.INICIO
2.DECLARACION
Filas, columnas, dimensión numéricos
Matriz, vector numéricos
3.ASIGNACION
IMPRIMIR (“INGRESE ELEMENTO DE LA MATRIZ”)
Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001
PSEUDOCODIGO
1.ENTRADAS
Filas, columnas, dimensión numéricos
Matriz numéricos
2.SALIDAS
vector numéricos
3.PROCEDIMIENTO
IMPRIMIR (“INGRESE ELEMENTO DE LA MATRIZ”)
LEER (matriz [i,j])
matriz=np.empty((filas,columnas))
dimension=filas*columnas
vector=np.empty(dimension)
PARA j EN RANGO (columnas):
IMPRIMIR (“INGRESE ELEMENTO DE LA MATRIZ”)
LEER (matriz [i,j])
IMPRIMIR ("MATRIZ GENERADA")
IMPRIMIR (matriz)
k=0
PARA j EN RANGO (columnas):
PARA i EN RANGO (filas):
vector[k]=matriz[i,j]
k=k+1
4.RESULTADOS
IMPRIMIR ("VECTOR LINEALIZADO:")
IMPRIMIR (vector)
FLUJOGRAMA
Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001
PROGRAMA PYCHARM
Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001
CAPTURA PROGRAMA
Ejemplo
El número de Filas de la matriz A= 2
El número de Columnas de la matriz A= 3
A[1,1]= 1
A[1,2]= -2
A[1,3]= 3
A[2,1]= 1
A[2,2]= 0
A[2,3]= -1
El número de Filas de la matriz A= 3
El número de Columnas de la matriz A= 1
B[1,1]= 4
Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001
B[2,1]= 4
B[3,1]= 6
El resultado es=
B[1,1]= 12
B[2,1]= -2
ALGORITMO
1.INICIO
2.DECLARACION
fil1, col1, fil2, col2 numéricos
matriz1, matriz2, matriz3 numéricos
3.ASIGNACION
matriz1=numpy.empty((fil1, col1))
matriz2=numpy.empty((fil2, col2))
matriz3=numpy.empty((fil1, col2))
4.PROCESO
SI (col1==fil2):
PARA i EN RANGO (0, fil1):
PARA j EN RANGO (0, col1):
IMPRIMIR ("INGRESE ELEMENTO MATRIZ 1"))
LEER (matriz1[i,j])
PARA i EN RANGO (0, fil1):
PARA j EN RANGO (0, col2):
IMPRIMIR ("INGRESE ELEMENTO MATRIZ 2"))
LEER (matriz2 [i,j])
PARA i EN RANGO (0, fil1):
PARA j EN RANGO (0, col2):
PARA k EN RANGO (0, fil2):
matriz3[i,j]= matriz3[i,j]+ matriz1[i,k]*matriz2[k,j]
CASO CONTRARIO:
IMPRIMIR ("EL NUMERO DE FILAS DE LA PRIMERA MATRIIZ"
" NO ES IGUAL AL NUMERO DE COLUMNAS DE LA SEGUNDA MATRIZ")
5.RESULTADOS
IMRPIMIR ("MATRIZ RESULTANTE")
IMPRIMIR (matriz3)
6.FIN
PSEUDOCODIGO
1.ENTRADAS
fil1, col1, fil2, col2 numéricos
matriz1, matriz2 numéricos
2.SALIDAS
matriz3 numéricos
3.PROCEDIMIENTO
matriz1=numpy.empty((fil1, col1))
matriz2=numpy.empty((fil2, col2))
Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001
matriz3=numpy.empty((fil1, col2))
SI (col1==fil2):
PARA i EN RANGO (0, fil1):
PARA j EN RANGO (0, col1):
IMPRIMIR ("INGRESE ELEMENTO MATRIZ 1"))
LEER (matriz1[i,j])
PARA i EN RANGO (0, fil1):
PARA j EN RANGO (0, col2):
IMPRIMIR ("INGRESE ELEMENTO MATRIZ 2"))
LEER (matriz2 [i,j])
PARA i EN RANGO (0, fil1):
PARA j EN RANGO (0, col2):
PARA k EN RANGO (0, fil2):
matriz3[i,j]= matriz3[i,j]+ matriz1[i,k]*matriz2[k,j]
CASO CONTRARIO:
IMPRIMIR ("EL NUMERO DE FILAS DE LA PRIMERA MATRIIZ"
" NO ES IGUAL AL NUMERO DE COLUMNAS DE LA SEGUNDA MATRIZ")
4.RESULTADOS
IMRPIMIR ("MATRIZ RESULTANTE")
IMPRIMIR (matriz3)
FLUJOGRAMA
Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001
PROGRAMA PYCHARM
import numpy
Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001
CAPTURA PROGRAMA
RESULTADOS OBTENIDOS:
1. Los estudiantes adquieren destrezas para elaborar programas de arreglos unidimensionales
y bidimensionales.
Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001
CONCLUSIONES:
Generar al menos una conclusión de la práctica desarrollada
- En esta última práctica hemos podido observar que los arrays o arreglos también pueden
entrar como parámetro dentro de una función desarrollada por nosotros mismos, es decir, por
el usuario, por lo cual, sirve mucho en programas en los cuales necesitemos realizar muchas
operaciones en las que intervengan arreglos.
- Al momento de realizar operaciones con matrices, o simplemente trabajar con ellas es
indispensable que sepamos que los subíndices de los elementos de un array no tienen la
misma forma que una matriz convencional, teniendo esto en cuenta podremos trabajar con
menores errores
- Es indispensable tener previos conocimientos básicos de algebra lineal al momento de trabajar
con matrices ya que esto hará que nosotros podamos tener nociones básicas de como operar
matrices y cuáles son las condiciones que deben cumplir para realizar cierto tipo de
operaciones
- Una tarea muy importante a tener en cuenta es que cada uno de nosotros debemos utilizar
ciclos repetitivos si queremos declarar una matriz con elementos puestos por el usuario,
específicamente ciclos repetitivos “for”, los cuales nos ayudarán a entender cómo funciona la
programación en Python
REFERENCIAS:
1. Granizo Montalvo, E. (2000). Programación Estructurada en Pseudocódigos, Teoría y
Ejercicios. Editorial ESPE.
Resolución CS N° 076-04-2016-04-20