Ejercicio: 1Eva_IT2008_T3 Simular Precio del Petróleo
Propuesta de solución en Python: py_pdf
También como diagrama en pdf y en versión matlab: m_pdf
Se ingresa la cantidad de días del mes, o se puede considerar directamente 30, también es opcional ingresar el rango de precio mínimo y precio máximo, que son los límites del número aleatorio.
Para la pregunta a) se calcula el promedio como el acumulado de precios de cada día dividido para los n días.
Enla pregunta b) se usa el algoritmo del menor, con la hipótesis que el díamenor es el primero, y que el precio menor es el máximo posible, a fin que se reemplace con el primer menor encontrado.
Se deja la pregunta c) como tarea a fin de que se desarrolle el problema usando un arreglo.
# ICM00794-Fundamentos de Computación - FCNM-ESPOL # 1Eva_IT2008_T3 Simular Precio del Petróleo # Propuesta: edelros@espol.edu.ec # Tarea: Realizar el literal c) import random as rnd # INGRESO n = int(input('días del mes: ')) # PROCEDIMIENTO prcmax = 150 prcmin = 130 rango = prcmax-prcmin+1 diamenor = 1 pmenor = prcmax dia = 1 total = 0 while (dia<=n): precio = int(rnd.random()*rango)+prcmin total = total+precio if (precio<pmenor): diamenor = dia pmenor = precio dia = dia+1 promedio = total/n # SALIDA print('promedio: ') print(promedio) print('día de menor precio:') print(diamenor)
Versión Usando Arreglos:
Propuesta de solución Python: py_pdf, también en versión matlab: m_pdf
# ICM00794-Fundamentos de Computación - FCNM-ESPOL # 1Eva_IT2008_T3 Simular Precio del Petróleo # Tema 3. Precio petroleo-Arreglo # Propuesta: edelros@espol.edu.ec import random as rnd import numpy as np # INGRESO n = int(input('días del mes: ')) # PROCEDIMIENTO prcmax = 150 prcmin = 130 rango = prcmax-prcmin+1 precio = np.zeros((n+1),dtype=int) # algoritmo del promedio total = 0 dia = 1 while (dia<=n): precio[dia] = int(rnd.random()*rango)+prcmin total = total + precio[dia] dia = dia + 1 promedio = total/n # algoritmo del menor diamenor = 1 dia = 1 while (dia<=n): if precio[dia]<precio[diamenor]: diamenor = dia dia = dia + 1 # algoritmo precio superior al promedio superior = 0 dia = 1 while (dia<=n): if precio[dia]>promedio: superior = superior + 1 dia = dia + 1 # SALIDA print('promedio: ') print(promedio) print('día de menor precio:') print(diamenor) print('días con precio sobre promedio:') print(superior)
Resultado del algoritmo
días del mes: 30 promedio: 140.06666666666666 día de menor precio: 14 días con precio sobre promedio: 16 >>>
Diagrama de Flujo
ejercicios resueltos Python 1eva_it2008_t3 pdf