Анимация
JavaScript
|
Главная Библионтека
При решении задачи о сделке пользователь вводит значения следующих параметров: число выплат (кпер), размер ссуды, размер одной выплаты (выплата) и процентную ставку (ставка). Приложение вычисляет с помощью функции ПЗ (PV) при данной годовой ставке текущий объем вклада. Маргинальная процентная ставка находится как корень уравнения Текущий объем вклада = размер ссуды. Для решения этой задачи воспользуемся понятием текущий объем вклада. Текущий объем вклада - это сегодняшний объем будущих платежей (отрицательные значения) и поступлений (положительные значения). Например, вам предлагают следующую сделку. У вас берут в долг некоторую сумму денег и предлагают через kl год вернуть Рк1 денег, через к2 года - Рк2 денег и т. д., через кп лет вернуть Ркп денег. Кроме данной сделки у вас есть альтернативный способ использования ваших денег, например положить их в банк под i % годовых. Тогда текущим объемом вклада является та сумма денег, которой вы должны располагать в текущем году, чтобы, положив их в банк под i % годовых, вы получили предлагаемую вам прибыль. Текущий объем вклада на основе постоянных периодических платежей в течение согласованного срока возвращает финансовая функция рабочего листа ПЗ (PV). Синтаксис: пз(ставка; кпер; выплата; бз; тип) Аргументы функции: Данное соотношение является уравнением относительно одной неизвестной величины - процентной ставки. Корень одного уравнения с одной неизвестной находится на рабочем листе с помощью команды Сервис/Подбор параметра или программно посредством метода GoalSeek. Для решения задачи нахождения текущего объема вклада и нахождения маргинальной процентной ставки с помощью редактора пользовательских форм создадим диалоговое окно Маргинальная процентная ставка (рис. 17.1). I Дай* Правка Вид В ставка Формат Охладка алск £ервис Акно ? Свойства - UserForml I UserForml UserForm "Ж "31 По алфавиту По категориям BackColor BorderCobr BorderStyle Caption Cycle DravsfBuffer Enabled Font I UserForml □ &H80000a 81H8OOOOO] 0 - f mBorderSt Маргинальна» 0 - f mCycleAlIF 32000 True Tahoma 81H8OOOOO] 192,75 HelpContextID 0 KeepScrolBarsV 3 - f mScrollBar Left 0 Mouselcon (Нет) MousePolnter 0 - f mMousePc Picture (Нет) PKtureAfcjnmen 2 - fmPictureAl PictureSzeMode 0 - f mPictureSt PictureTiling False ScrollBars ScrolHeight ScroBLeft Scro«Top Scroewidth O-fmScrollBar Рис. 17.1. Диалоговое окно «Маргинальная процентная ставка» Рассмотрим, как приведенная ниже программа решает перечисленные выше задачи и что происходит в программе. UserForm Initialize 1. Активизирует диалоговое окно. 2. Запрещает ввод данных пользователем в поля Текущий объем ссуды и Маргинальная процентная ставка. 3. Назначает клавише Esc функцию кнопки Отмена, а клавише Enter - Вычислить. 4. Связывает с кнопками Вычислить и Отмена всплывающие подсказки Нажатие кнопки Вычислить запускает на выполнение процедуру CommandButtonl Click 5. Проверяет, являются ли вводимые данные числами. Если хотя бы одно из них не является числом, то на экране отображается соответствующее информационное сообщение с установкой фокуса на поле, где произведен некорректный ввод данных. 6. Проверяет, будет ли ссуда меньше чем возвращаемая сумма денег. Если ссуда больше этой суммы, то отображается сообщение с указанием, насколько ссуда меньше возвращаемой суммы денег (рис. 17.2). 7. Используя финансовую функцию рабочего листа, ПЗ(РУ) вычисляет чистый текущий объем ссуды при введенной процентной ставке. 8. Используя метод Goalseek (Подбор параметра), находит маргинальную процентную ставку, т. е. ставку, при которой чистый текущий объем ссуды равен величине самой ссуды. 9. Подготавливает рабочий лист для вывода результатов вычислений. Выводит полученные данные на рабочий лист (рис. 17.4) и в диалоговое окно (рис. 17.3) Нажатие кнопки Отмена запускает на выполнение процедуру CommandButton2 Click Закрывает диалоговое окно Microsoft Excel /f Возвращается на 26000.00 меньше размера ссуды Рис. 17.2. Сообщение о некорректном вводе данных 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 [ 40 ] 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |