💡
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
  • Ejercicio 1. Tuberías
  • Análisis:
  • Esquema
  • Diagrama
  • Recordar
  • Código con numpy
  • Código con lista

¿Te fue útil?

  1. Práctica 6. Matrices. Conjuntos

Análisis del problema de las Tuberías

Matrices, utilizando numpy

Ejercicio 1. Tuberías

Se anotan los datos de recogida de 5 tuberías de agua durante los siete días de la semana de una de las máquinas de la fábrica. Utilizando Numpy se creará una matriz de dos dimensiones del tipo de datos float de 5 X 7 que contenga ceros en todas sus posiciones.

Se debe:

  • Rellenar la matriz con números aleatorios de tipo flotante con valores desde [150.52 a 321.19]. Se redondean todos los elementos de la matriz para que tengan solo dos decimales.

  • Totalizar los litros recogidos de cada una de las cinco tuberías. Y se indica la diferencia entre la tubería que tenga mayor recogida con las otras 4.

  • Totalizar por día el total de litros recogidos de todas las tuberías.

  • Buscar el máximo valor de recogida.

  • Totalizar toda la matriz para saber cuántos litros de agua recibe la máquina.

Análisis:

  • Inicializar la matriz (5 filas y 7 Columnas).

  • Introducir los datos en la matriz con la función random (150.52-321.19).

  • Localizar el valor máximo de fila. Recorrer cada tubería (fila) para realizar la suma de cada tubería y poder saber la diferencia.

  • Recorrer para cada día (columna) cada una de las tuberías, realizar la suma.

  • Localizar el máximo de cada día.

  • Calcular cuántos litros de agua recibe la máquina

Esquema

Diagrama

Recordar

  • import numpy . Extensión de python, soportar matrices.

  • import random. Genera números al azar.

Código con numpy

#Importar los módulos
from numpy import *
import random
print("Programa de tuberías")
filas=5
columnas=7
dia=["Lunes", "Martes", "Miércoles","Jueves", "Viernes","Sábado", "Domingo"]
#Inicializar la matriz a ceros
datos_tuberias=zeros([filas,columnas])
#Intrudcir los valores random en la matriz
for i in range(datos_tuberias.shape[0]):
    for j in range(datos_tuberias.shape[1]):
        datos_tuberias[i][j]=round(random.uniform(150.52,321.19),2)
#Calcular el total de litos por tubería

print("Total de litros por tubería y diferencia con la de mayor caudal:")
mayor=round(datos_tuberias.sum(axis=1).max(),2)
tuberias=""
for i in range(datos_tuberias.shape[0]):
    litros_totales_tuberia=round(datos_tuberias.sum(axis=1)[i],2)
    diferencia=round(mayor-litros_totales_tuberia,2)
    tuberias+="Tubería: " + str(i+1) + " : "+ str(litros_totales_tuberia)+ ". Dif. "+  str(diferencia)+"\n"

for i in range(datos_tuberias.shape[1]):
    litros_totales_dia=datos_tuberias.sum(axis=0)[i]
    print("Litros día {}: {}".format(dia[i],round(litros_totales_dia,2)))

#Cálculo de datos
tuberia_maximo=round(datos_tuberias.sum(axis=0).max(),2)
total_maquina=round(datos_tuberias.sum(),2)
#Visualizar datos
print(tuberias)
print("El valor máximo de recogida es: {}".format(tuberia_maximo))
print("Total de litros que recibe la máquina: {}". format(total_maquina))

Código con lista

import random
#Crea la matriz, le da valores a las filas y columnas
matriz=[]
filas=5
columnas=7
total=0
#Crea la matriz
for i in range(filas):
    
    matriz.append([0]*columnas)
    for j in range(columnas):
        matriz[i][j]=round(random.uniform(150.52,321.19),2)
       
print("datos de las tuberías", matriz)
tuberia_total=[]
suma=0
#Recorre filas para obtener el total de tuberías y localiza el valor más alto
for i in range (len(matriz)):
    total_tuberia=0
    #Recorre columnas
    for j in range (len(matriz[0])):
        total+=matriz[i][j]
        total_tuberia+=matriz[i][j]
    tuberia_total.append(round(total_tuberia,3))
    if total_tuberia>suma:
        suma=round(total_tuberia,2)
 
print("litros de totales  (de las 7 tuberías) son: ", round(total,3))
print("los litros de cada una de las tuberias es",tuberia_total)
print("El valor más alto es:", suma)
diferencia="Diferencia"+"\n"
#Obtiene la diferencia de la tubería que tiene más
for i, j in enumerate (tuberia_total):
    resta=round(suma-j,2)
    diferencia+="Tuberia :"+str(i+1)+ " es: "+ str(resta)+ "\n"
print(diferencia)
lista=[]
#Recorre columnas, para obtner los litros por día
for i in range(len(matriz[0])):
    suma_lista=0
    for j in range (len(matriz)):

        suma_lista+=matriz[j][i]
    lista.append(round(suma_lista,2))
    if suma_lista>suma:
        suma=suma_lista
dias=("lunes","martes","miércoles","jueves","viernes","sábado","domingo")
dia="Por día"+"\n"
#Obtiene la suma de los valores por día
for i, j in enumerate (lista):
    
    dia+=dias[i] + "\t"+ "suma es: "+ "\t"+str(j)+ "\n"
#Imprime los valores por día y la suma de agua
print(dia)
print("suma total",round(total,3))
AnteriorEjemplo: Introducir datos en una matrices (Listas y numpy)SiguienteEjemplo, Conjuntos. Intersección

Última actualización hace 4 años

¿Te fue útil?