Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика_к_р.doc
Скачиваний:
8
Добавлен:
19.11.2018
Размер:
364.03 Кб
Скачать

Постановка задачи

В интересах реконструкции производства фирма предполагает взять в банке кредит. Для оценки своих возможностей выплаты по данному кредиту необходимо разработать машинную программу расчета ежемесячных платежей и общую сумму выплат при различных условиях кредитования, а именно: твердой, льготной (50%) или прогрессивной (с 2%-ой ежемесячной надбавкой) налоговой ставки.

Формализация задачи

Как следует из условия задачи, в качестве исходных данных для решения такой задачи выступают:

  • сумма кредита – Kredit;

  • ставка % (годовых) – Pr;

  • вид кредита - Vkr (обозначим для простоты выполнения операции сравнения данный признак целыми числами):

Vkr = 1-твердая ставка;

Vkr = 2-льготный;

Vkr = 3-прогрессивный;

  • и срок выплаты (число месяцев) – N.

Известно, что величина текущего (ежемесячного) платежа - Plat состоит из основного платежа по кредиту - OsnPlat и процентов от остатка на момент выплаты - ProcPlat,

Plat(I) = OsnPlat + ProcPlat(I),

которые определяются, в свою очередь, путем

OsnPlat = Kredit / N,

ProcPlat(I)= Ost(I)* Pr.

Остаток же средств на момент выплаты может быть найден следующим образом:

Ost(I) = Kredit - OsnPlat * (I - 1),

где I – номер очередного периода выплаты.

Сумма всех платежей представляется в этом случае традиционно:

.

Алгоритмизация задачи

Проведение подобных расчетов, как правило, связано с их многовариантностью. Следовательно, программное обеспечение данной задачи должно предусмотреть возможность реализации диалогового режима, позволяющего в случае необходимости, многократное изменение исходных данных и повторение расчетов. При этом из приведенных выше выражений следует, что все перечисленные исходные данные являются одиночными и вводятся для решения задачи только один раз. Данное обстоятельство и отражается в алгоритме в виде блока 1 (см. рис. 1).

Очевидно, что все предварительные операции по определению величин, которые не зависят от ежемесячных изменений, целесообразно выполнить в начале программы (блок 2). Здесь же следует, наверное, объявить и «обнулить» (т.е. присвоить ей начальное значение =0) ту переменную SummPlat, с помощью которой будет автоматически накапливаться сумма результирующего платежа.

Размеры ежемесячного платежа по процентам ProcPlat(I), а, следовательно, и все ежемесячные платежи - Plat(I), а также величина остатка Ost(I)в каждом месяце I, будут разными. Поэтому с точки зрения математики они должны быть представлены массивами размерностью N, а для своего определения потребует, очевидно, организации многократных повторения одних и тех же операций.

Однако прежде чем приступить к этой стадии вычислений, необходимо выяснить, с каким же значением процентной ставки предстоит делать соответствующие начисления.

1

2

4

3

6

5

7

8

9

10

11

12

Рис. 1. Алгоритм решения задачи по расчету платежей кредита (вариант).

Для реализации в машинной программе выбора того или иного варианта направлений решения задачи используется условный оператор IF … THEN, соответствующее изображение которого в алгоритме представлено в виде блоков 3 и 5. Организация же повторных операций (цикла вычислений) отображается обычно с помощью блока, обозначенного на рис. 1 номером 7.

Вывод результатов вычислений, интересующих пользователя программы, отображается в алгоритме блоками типа 10 и 11.

Таким образом, исходя из заданных требований к ПО алгоритм приложения, решающего поставленную задачу, целом может быть представлен, например, так как это показано на рис. 1.