Вычисление последнего платежа в счет погашения кредита с помощью правила торговца. - QBasic
Формулировка задачи:
Короче , проблема такая, по завершении курса бэйсика дали супер сложную (вообще не решаемую) задачу, решить на паре я её не смог, дали на дом. Если КР по бэйсику не сдать , то допуска не будет до сдачи зачета по инфе . Собственно сама задача :
Задача 24. Вычисление последнего платежа в счет погашения
кредита с помощью правила торговца.
Исходные данные (вводятся пользователем):
D – размер кредита (тыс. руб.);
n – срок ссуды (годы);
m – количество произведенных ранее платежей;
Ri – сумма i-го (i = 1,..., m) частичного платежа (тыс. руб.);
ni – длительность i-го (i = 1,..., m) периода (годы);
p – процентная ставка.
Расчет.
Размер последнего платежа (остатка долга на конец срока) с по-
мощью правила торговца вычисляется следующим образом
Σ
=
= × + × − × + ×
m
i
R D n p Ri ri p
1
(1 ) (1 ) , где
ri – промежуток времени от момента i-го платежа (i = 1,..., m) до
конца срока ссуды, вычисляемый следующим образом
r1 = n – n1,
ri = ri–1 – ni для i = 2,..., m
Вывести полученный результат вычисления размера последнего
платежа.
Конкретные исходные данные для проверки:
D = 1500; n = 0.75;
m = 3; p = 0.2
R1 = 500; R2 = 400; R3 = 300;
n1 = 0.3; n2 = 0.2; n3 = 0.15
ОТВЕТ: S = 454
Решение задачи: «Вычисление последнего платежа в счет погашения кредита с помощью правила торговца.»
textual
Листинг программы
DIM i AS LONG, D AS DOUBLE, n AS DOUBLE, m AS LONG, p AS DOUBLE, Rn AS DOUBLE DIM ri(3) AS DOUBLE, R(1 TO 3) AS DOUBLE, ni(1 TO 3) AS DOUBLE D = 1500 n = 0.75 m = 3 p = 0.2 R(1) = 500 R(2) = 400 R(3) = 300 ni(1) = 0.3 ni(2) = 0.2 ni(3) = 0.15 ri(0) = n Rn = D * (1 + n * p) FOR i = 1 TO m ri(i) = ri(i - 1) - ni(i) Rn = Rn - R(i) * (1 + ri(i) * p) NEXT i PRINT Rn
Объяснение кода листинга программы
- Объявляются переменные: i, D, n, m, p, Rn, ri(3), R(1 TO 3), ni(1 TO 3).
- Переменной D присваивается значение 1500.
- Переменной n присваивается значение 0.75.
- Переменной m присваивается значение 3.
- Переменной p присваивается значение 0.2.
- Переменной R(1) присваивается значение 500.
- Переменной R(2) присваивается значение 400.
- Переменной R(3) присваивается значение 300.
- Переменной ni(1) присваивается значение 0.3.
- Переменной ni(2) присваивается значение 0.2.
- Переменной ni(3) присваивается значение 0.15.
- Переменной ri(0) присваивается значение n.
- Переменной Rn присваивается значение D (1 + n p).
- Задается цикл от i = 1 до m.
- В каждой итерации цикла переменной ri(i) присваивается значение ri(i - 1) - ni(i).
- Значение Rn уменьшается на значение R(i) (1 + ri(i) p).
- Цикл завершается.
- Выводится значение Rn.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д