💡
Parte Práctica. Informática para Ingeniería
  • Dudas
  • Conceptos básicos. Cuestionario.
  • Practica 4. Utilización try...except:
  • Ejemplo. Ciclos anidados. Tablas de multiplicar
  • Práctica 5. Funciones y Módulos
    • Ejemplo de funciones
    • Análisis funciones. Ejercicio 1. Segundos totales.
    • Crear un programa ejecutable
    • Importar Módulos
  • Ejemplo de funciones. Comprobar NIF correcto
  • Ejemplo funciones y listas.
  • Instalar Numpy
  • Práctica 6. Matrices. Conjuntos
    • Ejemplo, matrices: Suma y Multiplicación (numpy y listas)
    • Ejemplo: Introducir datos en una matrices (Listas y numpy)
    • Análisis del problema de las Tuberías
    • Ejemplo, Conjuntos. Intersección
    • Análisis del ejercicio 3. nombres no repetidos (Conjuntos)
    • Análisis: Ejercicio 3 Complementario (Mátriz).
  • Clase
  • Ejemplo Ficheros o Archivos. Práctica 7.
  • Análisis de la Práctica 7. Fichero o Archivo
  • Ejemplo de base de datos: Sqlite
  • Ejemplo de base de datos. Sqlite 3. Introducir y visualizar datos.
  • Ejemplo. Funciones, matriz. Recuento de votos
  • Ejemplo, GUI Interfaces Gráficas. Cálculo del área de un Triángulo
  • Cuestionario
  • Ejemplo. Cálculo de Nómina mensual
  • Matrices 2ª Prueba Evaluación Continua. Curso 2018-2019 Parcial. Prof MRD
  • Prueba Evaluación Continua. Curso 2018-2019. Examen 1. Prof. MRD
Con tecnología de GitBook
En esta página
  • Enunciado
  • Análisis:
  • Solución utilizando listas y numpy
  • Código con listas
  • Código utilizando numpy
  • Importando from numpy import *
  • Importando import numpy as np

¿Te fue útil?

  1. Práctica 6. Matrices. Conjuntos

Ejemplo: Introducir datos en una matrices (Listas y numpy)

AnteriorEjemplo, matrices: Suma y Multiplicación (numpy y listas)SiguienteAnálisis del problema de las Tuberías

Última actualización hace 5 años

¿Te fue útil?

Enunciado

Se crearán dos matrices de las mismas dimensiones. El número de filas, columnas y sus valores se le preguntarán al usuario, estos datos deben ser enteros y positivos., que previamente se le pedirá al usuario la cantidad de filas y columnas que tendrá.

  • Calcular y visualizar la matriz Suma.

  • Calcular y visualizar la matriz Multiplicación.

  • Visualizar el valor más alto de cada una de las matrices utilizadas.

Análisis:

  • Pedir el número de columnas y filas, verificar que sea un dato válido, entero y mayor que 0.

  • Pedir los datos de la matrices, estos, deben ser enteros y mayor que cero.

  • Calcular la matriz suma y multiplicación.

  • Localizar el máximo de cada una de las matrices utilziadas.

  • Imprimir los resultados

Diagrama

Solución utilizando listas y numpy

Código con listas

# Rellenar matriz
def pedir_datos (dato):
    valor=-1
    while valor<0:
        try:
            valor=int(input(dato))
            if valor<0:
                print("Os datos deben de ser positivos.")
        except:
            print("Tecleaste un caracter no válido.")
    return valor
def imprimir_matriz(mensaje1,matriz):
    mensaje=mensaje1 + "\n"+"\t"
    for i in range(len(matriz)):
        for j in range(len(matriz[i])):
            mensaje+=str(matriz[i][j])+ "\t"
        mensaje+="\n"+"\t"
    print(mensaje)
def localizar_mayor(mensaje, matriz):
    mayor=matriz[0][0]
    for i in range(len(matriz)):
        for j in range(len(matriz[i])):
            if matriz[i][j] > mayor:
                mayor=matriz[i][j]

    mensaje="El valor más alto de "+ mensaje +str(mayor)
    return mensaje
#Inicializar las matrices
matriz1,matriz2,suma,multi=[],[],[],[]
matriz2=[]
#Pedir el número de filas y columnas al usuario
filas=pedir_datos("Dame la cantidad de filas: ")
columnas=pedir_datos("Dame la cantidad de columnas: ")
#Pedirle los valores al usuario de la primera matriz
print("Pedir datos de la matriz 1")
for i in range(filas):
   matriz1.append([])
   for j in range(columnas):
          matriz1[i].append(pedir_datos("Dame el dato de la matriz 1: fila {} y columna {}: ".format(i+1,j+1)))
##Pedirle los valores al usuario de la primera matriz
print("Pedir datos de la matriz 2")
for i in range(filas):
    matriz2.append([0]*columnas)
    for j in range(columnas):
        matriz2[i][j]=pedir_datos("Dame el dato de la matriz 2: fila {} y columna {}: ".format(i+1,j+1))
#Pedirle los valores al usuario de la primera matriz
#Suma de dos matrices
for i in range(filas):
    suma.append([0]*columnas)
    for j in range(columnas):
        suma[i][j]=matriz1[i][j]+matriz2[i][j]
for i in range(filas):
    multi.append([0]*columnas)
    for j in range(columnas):
        multi[i][j]=matriz1[i][j]*matriz2[i][j]


#Imprimir los resultados
print("Resultados")
imprimir_matriz("Matriz 1:",matriz1)
imprimir_matriz("Matriz 2:",matriz2)
imprimir_matriz("Suma:",suma)
imprimir_matriz("Multiplicación:",multi)
#Localiza el valor más alto de cada una de las matrices
print(localizar_mayor("matriz 1 es:", matriz1))
print(localizar_mayor("matriz 2 es:", matriz2))
print(localizar_mayor("Suma es:", suma))
print(localizar_mayor("Multiplicación es:", multi))

Código utilizando numpy

Importando from numpy import *

from numpy import *

def pedir_datos (dato):
    valor=-1
    while valor<0:
        try:
            valor=int(input(dato))
            if valor<0:
                print("Os datos deben de ser positivos.")
        except:
            print("Tecleaste un caracter no válido.")
    return valor
def imprimir_matriz(mensaje1,matriz):
    mensaje=mensaje1 + "\n"+"\t"
    for i in range(len(matriz)):
        for j in range(len(matriz[i])):
            mensaje+=str(matriz[i][j])+ "\t"
        mensaje+="\n"+"\t"
    print(mensaje)
def localizar_mayor(mensaje, matriz):
    mayor=matriz.max()
    mensaje="El valor más alto de "+ mensaje +str(mayor)
    return mensaje
#Inicializar las matrices
filas=pedir_datos("Dame la cantidad de filas: ")
columnas=pedir_datos("Dame la cantidad de columnas: ")
#Inicializar la matriz vacia
matriz1=empty([filas,columnas])
matriz2=empty([filas,columnas])
suma=empty([filas,columnas])
multi=empty([filas,columnas])
for i in range(filas):
    for j in range(columnas):
          matriz1[i,j]=pedir_datos("Dame el dato de la matriz 1: fila {} y columna {}: ".format(i+1,j+1))
for i in range(filas):
     for j in range(columnas):
        matriz2[i][j]=pedir_datos("Dame el dato de la matriz 2: fila {} y columna {}: ".format(i+1,j+1))
#Calcula la suma de matricex
suma=matriz1+matriz2
multi=dot(matriz1,matriz2)

#Imprimir los resultados
imprimir_matriz("Matriz 1:",matriz1)
imprimir_matriz("Matriz 2:",matriz2)
imprimir_matriz("Suma:",suma)
imprimir_matriz("Multiplicación:",multi)
#Localiza el valor más alto de cada una de las matrices
print(localizar_mayor("Matriz 1, ", matriz1))
print(localizar_mayor("Matriz 2, ", matriz2))
print(localizar_mayor("Suma, ", suma))

Importando import numpy as np

import numpy as np
def pedir_datos (dato):
    valor=-1
    while valor<0:
        try:
            valor=int(input(dato))
            if valor<0:
                print("Os datos deben de ser positivos.")
        except:
            print("Tecleaste un caracter no válido.")
    return valor
def imprimir_matriz(mensaje1,matriz):
    mensaje=mensaje1 + "\n"+"\t"
    for i in range(len(matriz)):
        for j in range(len(matriz[i])):
            mensaje+=str(matriz[i][j])+ "\t"
        mensaje+="\n"+"\t"
    print(mensaje)
def localizar_mayor(mensaje, matriz):
    mayor=np.max(matriz)
    mensaje="El valor más alto de "+ mensaje +str(mayor)
    return mensaje
#Inicializar las matrices
filas=pedir_datos("Dame la cantidad de filas: ")
columnas=pedir_datos("Dame la cantidad de columnas: ")
#Inicializar la matriz vacia
matriz1=np.empty([filas,columnas])
matriz2=np.empty([filas,columnas])
suma=np.empty([filas,columnas])
multi=np.empty([filas,columnas])
for i in range(filas):
    for j in range(columnas):
          matriz1[i,j]=pedir_datos("Dame el dato de la matriz 1: fila {} y columna {}: ".format(i+1,j+1))
for i in range(filas):
     for j in range(columnas):
        matriz2[i][j]=pedir_datos("Dame el dato de la matriz 2: fila {} y columna {}: ".format(i+1,j+1))
#Calcula la suma de matricex
suma=matriz1+matriz2
multi=np.dot(matriz1,matriz2)

#Imprimir los resultados
imprimir_matriz("Matriz 1:",matriz1)
imprimir_matriz("Matriz 2:",matriz2)
imprimir_matriz("Suma:",suma)
imprimir_matriz("Multiplicación:",multi)
#Localiza el valor más alto de cada una de las matrices
print(localizar_mayor("Matriz 1, ", matriz1))
print(localizar_mayor("Matriz 2, ", matriz2))
print(localizar_mayor("Suma, ", suma))

Si pudieras elegir, ¿Cuál es la solución más óptima?

¿Qué error tiene el programa?