Beruflich Dokumente
Kultur Dokumente
LABORATORIO 4: ARREGLOS Y MATRICES
ANDREY ARCILA MEJIA / 1623745
LAURA MARCELA BOLAÑOS / 1634841
DANNA VALENTINA CÁRDENAS/ 1531404
DOCENTE: Ing. ANA KARINA VELEZ
UNIVERSIDAD DEL VALLE
FACULTAD DE INGENIERÍA
SANTIAGO DE CALI, JULIO 2016
Objetivos
Aplicar la metodología para la solución de problemas vista en clase.
Familiarizar al estudiante con el uso de arreglos.
Familiarizar al estudiante con el uso de matrices.
Familiarizar al estudiante con uso de ciclos para procesar arreglos y matrices
1. Desarrolle un programa en Python que construya un arreglo de números enteros
capturados por teclado. El programa debe imprimir el primer elemento del arreglo, el
elemento de la mitad del arreglo (por lo que debe validar que la cantidad de elementos del
arreglo, siempre sea un número impar) y el elemento final del arreglo. Adicionalmente el
programa debe indicar cuál es el elemento más grande y más pequeño del arreglo y mostrar
la suma entre dichos valores.
Análisis
Entrada:
n= número de celdas
Salida:
número capturado
número mayor
número menor
Suma de número mayor y número menor
Proceso
Si el residuo del número es módulo de dos, entonces compare con el número menor,
compare con el número mayor y sume el número mayor con el número menor e imprima; si
no imprima el número, compare con el número menor y él número mayor y sume estos e
imprima la suma.
Pseudocódigo
n=int(input("Digite numero de celdas"))
codigo=[]
mayor=10
menor =99999
suma=0
if (n%2!=0):
for l in range(0,n):
codigo.append(input("digite el numero"))
for d in range (0,n):
if (codigo[d]>mayor):
mayor=codigo[d]
if (codigo[d]<menor):
menor=codigo[d]
suma= menor+mayor
else:
print ("numero impar")
n=int (input("digite un numero impar:"))
for i in range (0,n):
codigo.append(int(input("digite un numero:")))
for f in range (0,n):
if (codigo[f]>mayor):
mayor=codigo[f]
if (codigo[f]<menor):
menor=codigo[f]
suma= menor+mayor
print "El primer numero es:",codigo[0]
print "El ultimo numero es:",(codigo[n1])
print "El numero de la mitad:",(codigo[((n1)/2)])
print "El numero mayor es:",mayor
print "El numero menor es:",menor
print "La suma del menor y del mayor es:",suma
Fin
python
2. Desarrolle una aplicación en Python que lea dos arreglos de cadenas de caracteres de
tamaño n, y genere un nuevo arreglo, donde se determine si en la posición simultánea de
cada uno de los arreglos leídos se encuentra la misma letra, en cuyo caso guarda el número
1 de lo contrario guarda el 0.
Análisis:
Entrada: Número de celdas, letras arreglo 1, letras arreglo 2.
Proceso: Según el número de celdas, insertar letras en ambos arreglos. Para h que es un
contador si arreglo 1 en la posición h es igual a arreglo 2 en la posición h, se hace una
cadena y guarde 1, sino se guarda 0
Salida: arreglo, arreglo resultante.
Pseudocódigo:
Inicio
n=leer (Número de celdas) entero
arreglo1=[]
arreglo2=[]
cadena=""
para i en rango de (0,n):
arreglo1.llenar(Digite las letras del arreglo1)
para j en rango de (0,n):
arreglo2.llenar(Digite las letras del arreglo2)
para h en rango de (0,n):
si (arreglo1[h]==arreglo2[h]):
cadena=cadena + str(1)
sino:
cadena= cadena + str(0)
imprimir ("Los arreglos ingresados son:",arreglo1,arreglo2)
imprimir ("El arreglo resultante es:", cadena)
Fin
Python
3.
Desarrollar una aplicación en Python que lea una matriz de números reales e indique si la
diagonal principal de la matriz tiene exactamente los mismos elementos. Por ejemplo, si la
matriz ingresada fue:
El programa debe indicar que la diagonal principal tiene los mismos elementos. Si esto es
cierto, debe imprimir adicionalmente, el producto de todos los elementos de la matriz
(39.0625). Si no tiene los mismos elementos, debe imprimir la suma de ellos.
Análisis:
Entrada: número columnas, números filas, números reales.
Proceso: Insertar datos en la matriz mediante ciclos anidados y en posiciones específicas
[g][d]
Se recorre la matriz con un nuevo contador y se pide que tenga los mismos elementos en la
diagonal donde (p==q). Se comparan los valores de la diagonal, si son iguales o diferentes.
Salida
Suma, multiplicación.
Pseudocódigo
Inicio
n=leer (número de columnas)
m=leer(número de filas)
v=""
b=""
columnas=[[0 para x en rango (n)] para y en rango (m)]
para g en rango (0,len(columnas)):
para d en rango (0,len(columnas[0])):
columnas[g][d]= leer(“Digite el valor de la posición ["+str(g)+"]["+str(d)+"]:"))
para p en rango (0,n):
para q en rango (0,m):
si ((p==q) y (columnas[0][0]==columnas[p==q][q==p])):
por=1
para g en rango (0,m):
por= por * columnas[g][g]
v= "" + str(por)
si ((p==q) y (columnas[0][0]!=columnas[p==q][q==p])):
suma=0
para t en rango (0,n):
suma= suma + columnas [t][t]
b= "Los elementos de la diagonal son distintos, su suma es:" +str(suma)
imprimir columnas
imprimir ("Los elementos de la diagonal principal son iguales, su multiplicaciones", v)
imprimir b
Fin
Python
4.
La división de promoción y prevención de desastres del suroccidente colombiano desea
llevar un control sobre las precipitaciones que se han producido en los 6 primeros meses del
matriz [2][0]=45.6
matriz [2][1]=66.4
matriz [2][2]=57.9
matriz [2][3]=87.2
matriz [2][4]=3.4
matriz [2][5]=15.6
imprimir matriz
imprimir mes
imprimir "digite la opcion"
imprimir "1. promedio de precipitaciones"
imprimir "2. mes con mayor numero de precipitaciones"
imprimir "3. Busqueda de precipitaciones por rango de valores"
imprimir "4. salir"
n=ingrese (input("digite una opcion"))
Si n es igual a 1:
def sumaColumnas():
para columnas en el rango (0,6):
sumaCol = 0
para filas en el rango (0,3):
sumaColumnas = (sumaColumnas + matriz[fil][col])/3
Imprimir("El promedio de precipitaciones en el mes",(col+1),"es: ",sumaCol);
sumaColumnas()
n=int (input("digite una opcion"))
si n es igual a 2:
mayor1=10
mayor2=10
mayor3=10
m=""
n=""
o=""
para j en el rang (tamaño(matriz[0])):
si(matriz[0][j] mayor que mayor1):
mayor1=matriz[0][j]
m=j+1
para k en el rango (tamaño(matriz[0])):
si (matriz[1][k] mayor que mayor2):
mayor2=matriz[1][k]
n=k+1
para l in rango (tamaño(matriz[0])):
si (matriz[2][l] mayor que mayor3):
mayor3=matriz[2][l]
o=l+1
Imprimir"Para el Dpto del Valle la mayor precipitacion fue de",mayor1, "en el mes",m
Imprimir "Para el Dpto del Cauca la mayor precipitacion fue de",mayor2,"en el mes",n
Impriir "Para el Dpto Narino la mayor precipitacion fue de",mayor3,"en el mes",o
n=int (input("digite una opcion"))
if n es igual a 3:
r=int(input("Digite el valor minimo"))
s=int(input("Digite el valor maximo"))
h=0
t=0
d=0
mes1=""
mes2=""
mes3=""
cer=("El Dpto valle esta dentro del rango")
ve=("El Dpto Cauca esta dentro del rango")
za=("El Dpto Narino esta dentro del rango")
para z en rango (tamaño(matriz[0])):
si r menor o igual a matriz[0][z] menor o igual a s:
h=h+1
mes1 += str(z+1) + "\n"
si h mayor a 0:
imprimir cer, "en el mes:",mes1
para c in rango(tamaño(matriz[0])):
si (r menor o igual matriz[1][c] menor o igual s):
t=t+ 1
mes2 += str(c+1) + "\n"
if (t mayor que 0):
imprimir ve,"en el mes:",mes2
para w en el rango(tamaño(matriz[0])):
si (r menor o igual matriz[2][w] menor o iguals):
d=d+ 1
mes3 += str(w+1) + "\n"
if d mayor que 0:
imprimir za,"en el mes:",mes3
n=digite (input("digite una opcion"))
if n es igual a 4:
exit()
Pseudocódigo
mes=[]
mes.append("valle")
mes.append("cauca")
mes.append("narino")
matriz=[]
for m in range (3):
matriz.append ([0]*6)
matriz [0][0]=23.2
matriz [0][1]=88.9
matriz [0][2]=6.9
matriz [0][3]=22.8
matriz [0][4]=11.8
matriz [0][5]=5.5
matriz [1][0]=12.3
matriz [1][1]=90.4
matriz [1][2]=13.5
matriz [1][3]=44.3
matriz [1][4]=10.8
matriz [1][5]=27.4
matriz [2][0]=45.6
matriz [2][1]=66.4
matriz [2][2]=57.9
matriz [2][3]=87.2
matriz [2][4]=3.4
matriz [2][5]=15.6
print matriz
print mes
print "digite la opcion"
print "1. promedio de precipitaciones"
print "2. mes con mayor numero de precipitaciones"
print "3. Busqueda de precipitaciones por rango de valores"
print "4. salir"
n=int (input("digite una opcion"))
if (n==1):
def sumaColumnas():
for col in range (0,6):
sumaCol = 0
for fil in range(0,3):
sumaCol = (sumaCol + matriz[fil][col])/3
print("El promedio de precipitaciones en el mes",(col+1),"es: ",sumaCol);
sumaColumnas()
n=int (input("digite una opcion"))
if (n==2):
mayor1=10
mayor2=10
mayor3=10
m=""
n=""
o=""
for j in range (len(matriz[0])):
if (matriz[0][j]>mayor1):
mayor1=matriz[0][j]
m=j+1
for k in range (len(matriz[0])):
if (matriz[1][k]>mayor2):
mayor2=matriz[1][k]
n=k+1
for l in range (len(matriz[0])):
if (matriz[2][l]>mayor3):
mayor3=matriz[2][l]
o=l+1
print "Para el Dpto del Valle la mayor precipitacione fue de",mayor1, "en el mes",m
print "Para el Dpto del Cauca la mayor precipitacion fue de",mayor2,"en el mes",n
print "Para el Dpto Narino la mayor precipitacion fue de",mayor3,"en el mes",o
n=int (input("digite una opcion"))
if (n==3):
r=int(input("Digite el valor minimo"))
s=int(input("Digite el valor maximo"))
h=0
t=0
d=0
mes1=""
mes2=""
mes3=""
cer=("El Dpto valle esta dentro del rango")
ve=("El Dpto Cauca esta dentro del rango")
za=("El Dpto Narino esta dentro del rango")
for z in range (len(matriz[0])):
if (r<=matriz[0][z] <=s):
h=h+1
mes1 += str(z+1) + "\n"
if (h>0):
print cer, "en el mes:",mes1
for c in range(len(matriz[0])):
if (r<=matriz[1][c] <=s):
t=t+ 1
mes2 += str(c+1) + "\n"
if (t>0):
print ve,"en el mes:",mes2
for w in range(len(matriz[0])):
if (r<=matriz[2][w] <=s):
d=d+ 1
mes3 += str(w+1) + "\n"
if (d>0):
print za,"en el mes:",mes3
n=int (input("digite una opcion"))
if (n==4):
exit()
FIN
Python
CONCLUSIONES
En la vida diaria el concepto de matrices es de gran relevancia, ya que las matrices se usan
como contenedores para almacenar datos relacionados.
La utilización de matrices constituye actualmente una parte esencial de los lenguajes de
programación, ya que la mayoría de los datos se introducen en los ordenadores como
tablas organizadas en filas y columnas: hojas de cálculo, bases de datos, en el estudio de
las cónicas.