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
ejercicios resueltos Python 1eva_it2008_t3_flujo pdf
ejercicios resueltos Matlab 1eva_it2008_t3 pdf