Un número de punto flotante es un número con cero o más dígitos detrás del separador decimal. Algunos ejemplos son -2.4, 0.1, 3.14, 16.984025 y 1024.0.
F# tiene tres tipos de punto flotante:
single: 4 bytes (~6-9 dígitos de precisión). Se escribe como 2.45f.float: 8 bytes (~15-17 dígitos de precisión). Es el tipo más común. Se escribe como 2.45.decimal: 16 bytes (28-29 dígitos de precisión). Normalmente se usa cuando se trabaja con datos monetarios, ya que su precisión genera menos errores de redondeo. Se escribe como 2.45m.Los diferentes tipos de punto flotante pueden almacenar diferentes cantidades de dígitos después del separador decimal. A esto se le llama precisión. Esto significa que al intentar almacenar PI en un single solo se almacenarán los primeros 6 a 9 dígitos (con el último dígito redondeado).
En este ejercicio vas a trabajar con cuentas de ahorro. Cada año, el saldo de tu cuenta de ahorro se actualiza según su tasa de interés. La tasa de interés que te da el banco depende de la cantidad de dinero que hay en tu cuenta (su saldo):
1000 dólares.1000 dólares y menor que 5000 dólares.5000 dólares.Cada año, el gobierno te permite donar un porcentaje de tu dinero a organizaciones benéficas, libre de impuestos. Como eres una buena persona, si tu saldo termina siendo positivo al final del año, tomas el porcentaje libre de impuestos y lo duplicas, redondeando hacia abajo al dólar entero más cercano. No te importa pagar impuestos por la segunda mitad de la donación.
Tienes tres tareas, y cada una trata sobre tu saldo y su tasa de interés.
Implementa la función interestRate para calcular la tasa de interés a partir del saldo indicado:
interestRate 200.75m
// => 0.5f
Ten en cuenta que el valor que se devuelve es un single.
Implementa el método interest para calcular el interés a partir del saldo indicado:
interest 200.75m
// => 1.00375m
Ten en cuenta que el valor que se devuelve es un decimal.
Implementa la función annualBalanceUpdate para calcular la actualización anual del saldo, teniendo en cuenta la tasa de interés:
annualBalanceUpdate 200.75m
// => 201.75375m
Ten en cuenta que el valor que se devuelve es un decimal.
Implementa la función amountToDonate para calcular cuánto dinero donar a organizaciones benéficas a partir del saldo y del porcentaje libre de impuestos que permite el gobierno:
let balance = 550.5m
let taxFreePercentage = 2.5
amountToDonate balance taxFreePercentage
// => 27
Ten en cuenta que el valor que se devuelve es un int.
Regístrate en Exercism para aprender y dominar F# con 18 conceptos148 ejercicios y mentoría humana real, todo gratis.