viernes, 30 de septiembre de 2016

Estructuras Selectivas - UPC - Ruby

Ejercicio 1

Una empresa desea calcular las importaciones de trigo del 2015. Para ello han adquirido la estadística del aumento previsto del año. Lo que se requiere es que se pueda calcular el momento correcto para comprar según los aumentos y disminuciones mensuales. El precio varía de mes en mes dependiendo de estos aumentos o disminuciones.

Se sabe que en enero, abril, julio y octubre el precio sufre un aumento del 15% mientras que en febrero, marzo, mayo y junio disminuye un 3% y en agosto, setiembre, noviembre y diciembre el precio disminuye un 2%.

El otro costo a tomar en cuenta es el de los costos de transporte que se sabe tiene la siguiente fluctuación enero, febrero, abril, julio, setiembre y octubre cuesta US1200 por contenedor. Marzo, mayo, junio, agosto, noviembre y diciembre el costo es de US1800 por  contenedor. El mes será el mismo que el de la compra.

Se le pide desarrollar

-Un programa que calcule el costo del trigo a un mes determinado considerando los aumentos y disminuciones.
-Un programa que calcule el costo del transporte en un mes determinado.

-Un programa que determine el mes más conveniente para traer el embarque tomando en cuenta la cantidad de contenedores.


Imagen 2 Completa


Parte 3

Parte final


=begin
Una empresa desea calcular las importaciones de trigo del 2015. Para ello han 
adquirido las estadística del aumento previsto del año. Lo que se requiere es que
se pueda calcular el momento correcto para comprar según los aumentos
y decrementos mensuales.

Se sabe que en enero, abril, julio y octubre el precio sufre un aumento del 
15% mientras que en febrero, marzo, mayo y junio baja un 3% y en agosto, setiembre, 
noviembre y diciembre el precio baja 2%. 

El otro costo a tomar en cuenta es el de los costos de transporte que se sabe
tiene la siguiente fluctuación

enero, febrero, abril, julio, setiembre y octubre cuesta US1200 por contenedor.
marzo, mayo, junio, agosto, noviembre y diciembre el costo es de US1800 por 
contenedor. El mes será el mismo que el de la compra. 

Se le pide desarrollar

Un programa que calcule el costo del trigo en un mes determinado.
Un programa que calcule el costo del transporte en un mes determinado. 
Un programa que determine el mes más conveniente para traer el embarque
tomando en cuenta la cantidad . 

=end

def costo(mes, precio_actual)

end

def transporte(mes, cantidad_contenedores)

end

def mes_conveniente(mes_maximo, precio_actual, cantidad_contenedores)

end

#--- zona del programa principal ----

#--- zona de test ----
def test_costo
    print validate(147.23, costo(12, 100.0)) 
    print validate(144.84, costo(5, 120.0)) 
    print validate(151.48, costo(3, 140.0)) 
end

def test_transporte
    print validate(1800.0, transporte(12, 1)) 
    print validate(3600.0, transporte(5, 2)) 
    print validate(12000.0, transporte(4, 10)) 
end

def test_mas_conveniente
    print validate(2,  mes_conveniente(5, 100.0, 10))
end

def validate (expected, value)
 expected == value ? "." : "F"
end

def test
   
  puts "Test de prueba del programa"
  puts "---------------------------"
  test_costo
  puts ""
  test_transporte
  puts " "
  test_mas_conveniente
end
test
--------------------------------------------
------------------------------------------

Ejercicio 2 

Un grupo de amigos ha juntado un fondo de inversión y quiere tomar la decisión de cómo invertir su dinero, para esto tiene dos propuestas una es invertir en un proyecto de negocios (startup) con alto riesgo pero con un alto retorno en los últimos meses del proyecto. Donde la otra alternativa es invertir en un fondo mutuo con una tasa de interés baja pero segura.

El tiempo propuesto para el retorno de la inversión es el mismo en ambos casos.

Para el caso del proyecto, los socios han planteado un retorno de la inversión de la siguiente forma: durante los 3 primeros meses (no rendirá nada nada porque será un tiempo de gracia), luego el proyecto generará una ganancia de un 15% del monto prestado por mes. La ganancia sumada al monto de la inversión se considera el retorno de la inversión.

Para el fondo mutuo, la inversión genera un interés acumulado (capitalizable) de 7% mensual.

Desarrollar los siguientes subprogramas:

- Calcular el monto a recuperar una vez terminado el proyecto
- Calcular el monto a recuperar una vez terminado los meses de ahorro en el banco
- Determinar cuál es la mejor oportunidad. Si fuera proyecto, debe indicar “proyecto”, si fuera fondo mutuo, debe indicar “fondo mutuo”.

Inicio.


def ganancias_proyectos(monto,mes)

end

def ganancias_plazo_fijo(monto,mes)

end

def conveniente(monto,mes)

end

#--- zona del programa principal ----

#--- zona de test ----
def test_ganancias_proyectos
    print validate(1600.0, ganancias_proyectos(1000,7)) 
    print validate(30750.0, ganancias_proyectos(15000,10)) 
    print validate(14200.0, ganancias_proyectos(4000,20)) 
end

def test_ganancias_plazo_fijo
    print validate(1605.78, ganancias_plazo_fijo(1000,7)) 
    print validate(29507.27, ganancias_plazo_fijo(15000,10)) 
    print validate(15478.74, ganancias_plazo_fijo(4000,20)) 
end

def test_mas_conveniente
    print validate("fondo mutuo",conveniente(1000,7))
    print validate("proyecto",conveniente(15000,10))
    print validate("fondo mutuo",conveniente(4000,20))
end

def validate (expected, value)
 expected == value ? "." : "F"
end

def test
   
  puts "Test de prueba del programa"
  puts "---------------------------"
  test_ganancias_proyectos
  puts ""
  test_ganancias_plazo_fijo
  puts " "
  test_mas_conveniente
  puts " "
end

test

Ejercicios desarrollados por Edinson Marvin Egoavil Samaniego, estudiante de Ingeniería de la UPC.
cualquier duda o consulta a Marvinegoavil@gmail.com



Edinson Marvin Egoavil Samaniego
Universidad Peruana de Ciencias Aplicadas (UPC)
Facultad de Ingeniería
Carrera : Ingeniería Industrial 
Curso : Fundamentos de Programación




No hay comentarios:

Publicar un comentario