"Заем". Арифметические выражения, возведение в степень

Задача

Месячная выплата m по займу в s рублей на n лет под процент p вычисляется по формуле:
m = (s * r * (1 + r)n) / (12 * ((1 + r)n – 1)), где r = p / 100.

Написать программу, вычисляющую значение m (месячную выплату) по известным s (сумме займа), p (проценту) и n (количеству лет).

Решение

Программа на языке Паскаль:

var
    m, s, p, n, r, a: real;
 
begin
    write('Величина заема : ');
    readln(s);
    write('Процент: ');
    readln(p);
    write('Количество лет: ');
    readln(n);
 
    r := p / 100;
    a := exp(ln(1 + r) * n);
    m := (s * r * a) / (12 * (a - 1));
    m := trunc(100 * m + 0.5) / 100;
 
    writeln;
 
    writeln('Месячная выплата: ', m:5:2);
    writeln('Прибыль банка: ', m * 12 * n - s:5:2);
 
readln
end.

Примечания:
Выражение exp(ln(1 + r) * n) вычисляет (1 + r)n.
Выражение trunc(100 * m + 0.5) / 100 выполняет округление до копейки.

Тема

Линейные алгоритмы

Уровень

Комбинированные задачи

Комментарии

Начальный вклад в банк составил а рублей. Через сколько лет он станет больше b рублей? Каждый год вклад увеличивается на 3%.

Добавить комментарий