You are on page 1of 2

Fundamentos de Computación ICM00794 Escuela Superior Politécnica del Litoral

Solucionario Instituto de Ciencias Matemáticas

1ra Evaluación I Término 2008-2009. Julio 08, 2008


Tema 3 (30 puntos) Se ha realizado un
muestreo con los precios del barril de petróleo
durante el último mes (de 30 días), suponga
que dichos valores son enteros y que han
fluctuado entre $ 130 y $ 150 (en forma
aleatoria).

Una vez elaborada la muestra, se desea


determinar:
a) El promedio del precio del petróleo
b) ¿Cuál fue el día en el que estuvo más barato
el barril de petróleo?
c) ¿Cuántos días el petróleo tuvo precios
superiores al promedio?

Rúbrica: Manejo de aleatorios (5 puntos), calcula promedio (5 puntos), algoritmo menor (10 puntos). parte c) (5 puntos) Solución integral
(5 puntos)

Propuesta de Solución:
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, de donde se genera en aleatorio.
Se generan los números aleatorios en un arreglo. Para la pregunta a) se calcula el promedio como el
acumulado de precios de cada día dividido para los n días. Para b) se usa el algoritmo del menor, con la
hipótesis que el día menor es el primero, a fin que al probar la hipótesis se reemplace con el primer precio
menor que se encuentre. En la pregunta c) se utiliza un contador mientras se recorre el arreglo contando los
días que el precio del petróleo fue superior.

Descripción DIAGRAMA DE FLUJO MATLAB ver 6.5


Inicio % 1ra Eval I Término 2008
% Tema 3. Precio petroleo-
Número de días Arreglo
(tamaño del arreglo) n=input('días del mes: ');
Precio Máximo
prcmax=150;
Precio mínimo
prcmin=130;
Rango de precios
rango=prcmax-prcmin+1;
Acumulador para % algoritmo promedio
promedio total=0;
Primer dia
dia=1;
Repita
while ~(dia>n)
Genera un precio
precio(dia)=fix(rand*rango)+p
Acumula precios rcmin;
total=total+precio(dia);
Siguiente día
dia=dia+1;
Hasta completar los
días del mes
end

Calcula el promedio promedio=total/n;

1Eva_IT2008_T3_Solucionarreglo.Docx edelros@espol.edu.ec Página 1


Fundamentos de Computación ICM00794 Escuela Superior Politécnica del Litoral
Solucionario Instituto de Ciencias Matemáticas

% algotimo menor

Hipótesis: Menor es el diamenor=1;


primero
dia=1;
Analiza desde día 1

Repita while ~(dia>n)


if
Si el precio del día precio(dia)<precio(diamenor)
es menor al precio del diamenor=dia;
día menor, se cambia. end

dia=dia+1;
Pasar a siguiente día

Hasta completar los end


días del mes

% algoritmo precio superior


al promedio
Inicia contador
superior=0;
Primer dia

Repita dia=1;
while ~(dia>n)
Si el precio del día
es mayor al promedio if precio(dia)>promedio

Se cuenta superior=superior+1;

end
Siguiente dia
dia=dia+1;
Hasta completar los
días del mes end

disp('promedio: ');
Muestra los resultados disp(promedio);
de: Promedio
disp('día de menor precio:');
Muestra el día con
precio menor disp(diamenor);

Muestra cantidad de disp('días con precio sobre


días con precio promedio:');
superior al promedio disp(superior);

Ejecución del algoritmo: preciopetrolarreglo.m


>> preciopetrolarreglo >> preciopetrolarreglo
días del mes: 30 días del mes: 30
promedio: 139.3333 promedio: 140.284
día de menor precio: 2 día de menor precio: 17
días con precio sobre promedio: 15 días con precio sobre promedio: 12

1Eva_IT2008_T3_Solucionarreglo.Docx edelros@espol.edu.ec Página 2

You might also like