Tracks
/
C#
C#
/
Ejercicios
/
El interés es interesante
El interés es interesante

El interés es interesante

Ejercicio de aprendizaje

Introducción

Números de punto flotante

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.

Los distintos tipos de punto flotante pueden almacenar diferentes cantidades de dígitos después del separador decimal; a esto se le llama su precisión.

C# tiene tres tipos de punto flotante:

  • float: 4 bytes (~6-9 dígitos de precisión). Se escribe como 2.45f.
  • double: 8 bytes (~15-17 dígitos de precisión). Este es el tipo más común. Se escribe como 2.45 o 2.45d.
  • decimal: 16 bytes (28-29 dígitos de precisión). Normalmente se usa cuando se trabaja con datos monetarios, ya que su precisión reduce la posibilidad de errores de redondeo. Se escribe como 2.45m.

Como se puede ver, cada tipo puede almacenar una cantidad diferente de dígitos. Por ejemplo, si intentas almacenar PI en un float, solo se guardarán los primeros 6 decimales (con el último dígito almacenado redondeado).

Bucles while

En este ejercicio quizás quieras usar un bucle. Hay varias formas de escribir bucles en C#, pero el bucle while es el más apropiado aquí:

int x = 23;

while (x > 10)
{
    // Execute logic if x > 10
    x = x - 2;
}

Bucles do/while

Si el código dentro de un bucle siempre debe ejecutarse al menos una vez, se puede usar un bucle do/while:

int x = 23;

do
{
    // Execute body, repeating only if x > 10
    x = x - 2;
} while (x > 10);

Instrucciones

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 tu banco depende de la cantidad de dinero que tengas en tu cuenta (su saldo):

  • 3.213% para un saldo negativo (el saldo se vuelve más negativo).
  • 0.5% para un saldo positivo menor que 1000 dólares.
  • 1.621% para un saldo positivo mayor o igual que 1000 dólares y menor que 5000 dólares.
  • 2.475% para un saldo positivo mayor o igual que 5000 dólares.

Tienes cuatro tareas, y cada una trabajará con tu saldo y su tasa de interés.

1. Calcular la tasa de interés

Implementa el método (static) SavingsAccount.InterestRate() para calcular la tasa de interés según el saldo especificado:

SavingsAccount.InterestRate(balance: 200.75m)
// 0.5f

Ten en cuenta que el valor que se devuelve es un float.

2. Calcular el interés

Implementa el método (static) SavingsAccount.Interest() para calcular el interés según el saldo especificado:

SavingsAccount.Interest(balance: 200.75m)
// 1.00375m

Ten en cuenta que el valor que se devuelve es un decimal.

3. Calcular la actualización anual del saldo

Implementa el método (static) SavingsAccount.AnnualBalanceUpdate() para calcular el saldo anual actualizado, teniendo en cuenta la tasa de interés:

SavingsAccount.AnnualBalanceUpdate(balance: 200.75m)
// 201.75375m

Ten en cuenta que el valor que se devuelve es un decimal.

4. Calcular los años antes de alcanzar el saldo deseado

Implementa el método (static) SavingsAccount.YearsBeforeDesiredBalance() para calcular la cantidad mínima de años necesarios para alcanzar el saldo deseado con interés compuesto anual:

SavingsAccount.YearsBeforeDesiredBalance(balance: 200.75m, targetBalance: 214.88m)
// 14

Ten en cuenta que el valor que se devuelve es un int.

Note

Cuando se aplica interés simple a un saldo principal, el saldo se multiplica por la tasa de interés y el producto de ambos es el monto del interés.

El interés compuesto, por otro lado, se calcula aplicando el interés de forma recurrente. En cada aplicación, el monto del interés se calcula y se suma al saldo principal, de modo que los cálculos de interés posteriores se hacen sobre un saldo principal mayor.

Editar en GitHub El enlace se abre en una ventana o una pestaña nuevas
C# Exercism

¿Todo listo para empezar El interés es interesante?

Regístrate en Exercism para aprender y dominar C# con 62 conceptos178 ejercicios y mentoría humana real, todo gratis.