Sie sind auf Seite 1von 16

 

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[n­1]) 
print "El numero de la mitad:",(codigo[((n­1)/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 

 
 

año  en  3 de sus departamentos (Valle, Cauca y Nariño). Los nombres de los departamentos 


se  encuentran  almacenados  en  un arreglo de  String de tamaño 3, y  la información sobre las 
precipitaciones  se  encuentra  almacenada  en  una  matriz  de  tipo  double  de  tamaño  3X6 
donde  cada   fila  representa  un  departamento,  y  cada  columna  un  mes del año. Valle Cauca 
Nariño  Se  le  ha encomendado la labor de desarrollar un  programa en Python que a partir de  
un menú de opciones haga:  
1. Calcule e imprima el promedio de precipitaciones por mes.  
2.  Determine  por  departamento  cuál  es  el  mes  que  ha  presentado  mayor  precipitación  e 
imprima el mes y el valor de la precipitación.  
3.  Permita  la  realización  de  búsquedas  por  rango  de  valores;  para ello se debe leer el valor 
de  precipitación  inicial  y  valor  de  la  precipitación  final.  Se  debe  imprimir  los  meses  y  los 
departamentos que presentaron precipitaciones dentro de ese rango de valores. 
  4.  Salir   Cuando  se  elija  una  de  las  opciones,  el  programa  deberá  realizar  las  operaciones 
necesarias,  imprimir  los  resultados  y  volver  a  mostrar  el  menú,  y  terminará  sólo  cuando  se 
digite la opción salir. 
 
 
Análisis  
 
Entrada: 
Mes=[] 
Matriz[] 
n= una opción 
 
Proceso: 
 
mes=[] 
mes.append("valle") 
mes.append("cauca") 
mes.append("narino") 
 
matriz=[] 
para m en el rango (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 
 
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.  
 

Das könnte Ihnen auch gefallen