La oferta consiste en tener tasas de interés escalonadas por el tiempo que su dinero estará sin moverlo a una tasa flat (es decir, el interés se calcula por el monto * tasa /100). La tasa inicial ofrecida, se le aumenta un punto porcentual por cada tres meses de permanencia y es con capitalización mensual.
Por ejemplo: con un capital de 1000, una tasa de 10% mensual en 3 meses. Capitalización mensual ganará lo siguiente.
1000 * 0.10 = 100
1100 * 0.10 = 110
1210 * 0.11 = 131.10
343.10 es lo que ganará la persona al cabo de 3 meses
Desarrollar un subprograma que determine el interés total que ganará la persona.
Código
def calcularInteresTotal(meses,monto,tasa) end #--- zona de test ---- def test_calcularInteresTotal print validate(343.10, calcularInteresTotal(3,1000.00,10.0)) print validate(85.13, calcularInteresTotal(5,130.00,10.0)) print validate(182.40, calcularInteresTotal(9,112.10,10.0)) end def validate (expected, value) expected == value ? "." : "F" end def test puts "Test de prueba del programa" puts "---------------------------" test_calcularInteresTotal puts " " end test
Pregunta 2
Esta semana se viene desarrollando en Lima la feria gastronómica Mistura. Debido a que se prevé una mayor afluencia de público en el último fin de semana de la feria, los distintos stands que estarán participando han decidido realizar una serie de concursos con el fin de que el público pase la mayor cantidad de tiempo en sus stands. De esta manera han desarrollado un juego de tragamonedas de cinco filas para tablets (donde cada fila es un número del 0 al 9).
El resultado de la jugada es procesado por un servidor que maneja la cantidad de premios. Al servidor no se le envían los 5 números, sino que se envía un solo número de 5 dígitos que contiene cada una de las filas.
Si el número de cinco cifras contiene un cero (0), esta cifra debe eliminarse. Por ejemplo: 16802. El número resultante que entraría para el cálculo de los premios sería 1682.
Para la distribución de los premios se ha definido la siguiente lógica de juego:
• Si la suma de los dígitos del número es mayor a 20, se le obsequia una “casaca”.
• Si la suma de los dígitos del número está entre 10 y 20, se le obsequia una “polera”.
• Si la suma de los dígitos del número está entre 1 y 9, se le obsequia una “taza”.
Se solicita lo siguiente:
1. Desarrollar un subprograma que dado un número de 5 cifras, determine si el número contiene el dígito cero, si lo contiene, debe devolver el número sin ese dígito.
2. Desarrollar un subprograma que dado un número, retorne la suma de sus dígitos.
3. Desarrollar un subprograma que dado un número determine qué premio se debe de entregar (considerar que el número puede contener el dígito cero, por lo cual primero debe ser eliminado).
Código
def numeroSinCero(numero) end def sumaDigitos(numero) end def determinarPremio(numero) end #--- zona de test ---- def test_numeroSinCero print validate(13258, numeroSinCero(13258)) print validate(1682, numeroSinCero(16802)) print validate(1479, numeroSinCero(10479)) print validate(14512, numeroSinCero(14512)) end def test_sumaDigitos print validate(19, sumaDigitos(13258)) print validate(17, sumaDigitos(1682)) print validate(21, sumaDigitos(1479)) print validate(13, sumaDigitos(14512)) end def test_determinarPremio print validate("polera", determinarPremio(13258)) print validate("casaca", determinarPremio(10479)) print validate("taza", determinarPremio(10231)) print validate("casaca", determinarPremio(65472)) end def validate (expected, value) expected == value ? "." : "F" end def test puts "Test de prueba del programa" puts "---------------------------" test_numeroSinCero test_sumaDigitos test_determinarPremio puts " " end test
P.D ES CON FOR, GRACIAS