s1Eva_IT2008_T3 Simular Precio del Petróleo

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 deja la pregunta c) como tarea a fin de que se desarrolle el problema usando un arreglo.

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.

# 1Eva_IT2008_T3 Simular Precio del Petróleo
# Propuesta: edelros@espol.edu.ec
# Tarea: Realizar el literal c)

import random

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(random.random()*rango)+prcmin
    total = total+precio

    if (precio<pmenor):
        diamenor = dia
        pmenor = precio

    dia = dia+1

promedio = total/n

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

# 1Eva_IT2008_T3 Simular Precio del Petróleo
# Tema 3. Precio petroleo-Arreglo
# Propuesta: edelros@espol.edu.ec

import random
import numpy

n = int(input('dí­as del mes: '))

# PROCEDIMIENTO
prcmax = 150
prcmin = 130
rango = prcmax-prcmin+1
precio = numpy.zeros((n+1),dtype=int)

# algoritmo promedio
total = 0
dia = 1
while (dia<=n):
    precio[dia] = int(random.random()*rango)+prcmin
    total = total+precio[dia]
    dia = dia+1

promedio=total/n

# algoritmo 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)