Файл: Курсовая работа по дисциплине Применение эвм в экономических расчетах.docx
Добавлен: 09.11.2023
Просмотров: 65
Скачиваний: 4
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Рисунок 9 – Пример таблицы для пользовательской функции
Чтобы создать пользовательскую функцию DISCOUNT в этой книге, сделайте следующее:
-
Нажмите клавиши ALT+F11 (или FN+ALT+F11 на Mac), чтобы открыть редактор Visual Basic, а затем щелкните Insert (Вставка)>Module (Модуль). В правой части редактора Visual Basic появится окно нового модуля. -
Скопируйте указанный ниже код и вставьте его в новый модуль.
Function DISCOUNT(quantity, price)
If quantity >=100 Then
DISCOUNT = quantity * price * 0.1
Else
DISCOUNT = 0
End If
DISCOUNT = Application.Round(Discount, 2)
End Function
Примечание: Чтобы код было более удобно читать, можно добавлять отступы строк с помощью клавиши TAB. Отступы необязательны и не влияют на выполнение кода. Если добавить отступ, редактор Visual Basic автоматически вставит его и для следующей строки. Чтобы сдвинуть строку на один знак табуляции влево, нажмите SHIFT+TAB.
Применение пользовательских функций. Теперь вы готовы использовать новую функцию DISCOUNT. Закройте редактор Visual Basic, выделите ячейку G7 и введите следующий код:
=DISCOUNT(D7;E7)
Excel вычислит 10%-ю скидку для 200 единиц по цене 47,50 ₽ и вернет 950,00 ₽.
В первой строке кода VBA функция DISCOUNT (quantity, price) указывает, что функции DISCOUNT требуется два аргумента: quantity(количество) и price (цена). При вызове функции в ячейке листа необходимо указать эти два аргумента. В формуле =DISCOUNT(D7;E7) аргумент quantity имеет значение D7, а аргумент price — значение E7. Если скопировать формулу в ячейки G8:G13, вы получите указанные ниже результаты.
Рассмотрим на рисунке 10, как Excel обрабатывает эту функцию. При нажатии клавиши ВВОД Excel ищет имя DISCOUNT в текущей книге и определяет, что это пользовательская функция в модуле VBA. Имена аргументов, заключенные в скобки (quantity и price), представляют собой заполнители для значений, на основе которых вычисляется скидка.
Рисунок 10 – работа пользовательской функции
Оператор If в следующем блоке кода проверяет аргумент quantity и сравнивает количество проданных товаров со значением 100:
If quantity >= 100 Then
DISCOUNT = quantity * price * 0.1
Else
DISCOUNT = 0
End If
Если количество проданных товаров не меньше 100, VBA выполняет следующую инструкцию, которая перемножает значения
quantity и price, а затем умножает результат на 0,1:
Discount = quantity * price * 0.1
Результат хранится в виде переменной Discount. Оператор VBA, который хранит значение в переменной, называется оператором назначения, так как он вычисляет выражение справа от знака равенства и назначает результат имени переменной слева от него. Так как переменная Discount называется так же, как и процедура функции, значение, хранящееся в переменной, возвращается в формулу листа, из которой была вызвана функция DISCOUNT.
Если значение quantity меньше 100, VBA выполняет следующий оператор:
Discount = 0
Наконец, следующий оператор округляет значение, назначенное переменной Discount, до двух дробных разрядов:
Discount = Application.Round(Discount, 2)
В VBA нет функции округления, но она есть в Excel. Чтобы использовать округление в этом операторе, необходимо указать VBA, что метод (функцию) Round следует искать в объекте Application (Excel). Для этого добавьте слово Application перед словом Round. Используйте этот синтаксис каждый раз, когда нужно получить доступ к функции Excel из модуля VBA.
Правила создания сложных функций. Пользовательские функции должны начинаться с оператора Function и заканчиваться оператором End Function. Помимо названия функции, оператор Function обычно включает один или несколько аргументов. Однако вы можете создать функцию без аргументов. В Excel доступно несколько встроенных функций (например, СЛЧИС и ТДАТА), в которых нет аргументов.
После оператора Function указывается один или несколько операторов VBA, которые проверят соответствия условиям и выполняют вычисления с использованием аргументов, переданных функции. Наконец, в процедуру функции следует включить оператор, назначающий значение переменной с тем же именем, что у функции. Это значение возвращается в формулу, которая вызывает функцию.
Операнды в Excel.
Первым символом ячейки должен быть знак равенства. Только в этом случае MS Excel воспринимает ее содержимое как формулу. Затем вводится математическое выражение, по которому будет вычисляться содержимое ячейки. В отличие от Mathematics, Mathcad, Equation Editor и других специализированных программ, MS Excel не имеет средств конструирования математических формул в их естественном виде. Пользователь должен набирать выражение в виде текста в одну строку. Для этого необходимо знать синтаксис формулы. Опишем его. Любое математическое выражение состоит из операндов и операторов. В MS Excel операндами являются константы (числовые, текстовые, даты или времени), ссылки на другие ячейки, имена переменных и функций, а также математические выражения.
Опера́нд (англ. operand) в языках программирования ― аргумент операции; данные, которые обрабатываются командой; грамматическая конструкция, обозначающая выражение, задающее значение аргумента операции; иногда операндом называют место, позицию в тексте, где должен стоять аргумент операции. Отсюда понятие местности, или арности, операции, то есть числа аргументов операции.
В зависимости от положения операнд относительно знака операции различают префиксные (напр., sin(x) (x — операнд)), инфиксные (например, a + b (a, b — операнды) ) и постфиксные (например, x3 (x — операнд) ) операции. В зависимости от числа операнд различают одноместные (унарные, или монадические) операции (например, -а); двуместные (бинарные, или диадические) операции (a + b); многоместные (или полиадические) операции.
В связи с различением операнда-позиции и операнда как фактического аргумента возникает понятие приведения операнда к виду, требуемому операцией. Например, если действительный аргумент находится в позиции целого операнда, правила языка могут подразумевать тот или иной способ округления действительного числа до подходящего целого. Другим примером приведения является изменение формы представления объекта, например, скаляр приводится к вектору, состоящему из одной компоненты.
Глава 2. Практическая часть: «Решение задач в Microsoft Excel»
Задача 1.
Определить величину основного платежа за ПР год, если выдана ссуда размером ПС сроком на Кпер лет под СТ годовых. Исходные данные для задачи 1 по вариантам представлены в таблице 3.
Таблица 3
Исходные данные для задачи 1
Вариант | Размер выданной ссуды (ПС) | Срок ссуды (срок выплат) (Кпер) | Годовая процентная ставка (СТ) | Период выплаты (ПР) |
9 | 3 000 000,00 | 13 | 12,1% | 8 |
Решение задачи 1 представлено в таблице 4. Решение с отображением формул в таблице 5.
Таблица 5
Решение задачи 1
Задача 1 | ||
Расчет основных платежей по займу | ||
| | |
Размер выданной ссуды (ПС) | 3 000 000,00 | |
Срок ссуды (срок выплат) (Кпер) | 13 | |
Годовая процентная ставка (СТ) | 12,1% | |
Период выплат (ПР) | 8 | |
| | |
Размер выплаты по займу в период выплаты | 236 499,30 | |
| | |
Таблица 6
Решение задачи 1 с отображением формул
Задача 1 | ||
Расчет основных платежей по займу | ||
| | |
Размер выданной ссуды (ПС) | 3000000 | |
Срок ссуды (срок выплат) (Кпер) | 13 | |
Годовая процентная ставка (СТ) | 0,121 | |
Период выплат (ПР) | 8 | |
| | |
Размер выплаты по займу в период выплаты | =-ОСПЛТ(B6;B7;B5;B4) | |
| | |
Задача 2.
Рассчитать Кпер -летнюю ипотечную ссуду со ставкой СТ годовых при начальном взносе ПЗ и ежемесячной (ежегодной) выплате, если величина необходимой цены составляет Ц. Исходные данные для задачи 2 по вариантам представлены в таблице 7.
Таблица 7
Исходные данные для задачи 2
Вариант | Цена Ц | Первый взнос (ПЗ) | Годовая процентная ставка (СТ) | Срок погашния ссуды (Кпер) |
9 | 2 750 000,00 ₽ | 65% | 10,80% | 28 |
Решение задачи 2 представлено в таблице 8. Решение с отображением формул в таблице 9.
Таблица 8
Решение задачи 2
Задача 2 | | | | | | |
Расчет ипотечной ссуды | | | | | | |
Исходные данные | | | | | | |
Цена (Ц) | 2 750 000,00 ₽ | | | | | |
Первый взнос (ПЗ) | 65% | | | | | |
Годовая прцентная ставка (СТ) | 10,80% | | | | | |
Размер ссуды | 962 500,00 ₽ | | | | | |
| | | | | | |
Срок погашения ссуды (Кпер) | 336 | мес. | 28 | лет | 112 | кварт. |
| | | | | | |
Расчетные данные | выплаты в месяц | | выплаты в год | | выплаты в квартал | |
Периодические выплаты | 9 111,40 ₽ | | 110 187,63 ₽ | | 27 372,42 ₽ | |
Общая сумма выплат | 3 061 431,73 ₽ | | 3 085 253,61 ₽ | | 3 065 710,60 ₽ | |
Общая сумма комиссионных | 2 098 931,73 ₽ | | 2 122 753,61 ₽ | | 2 103 210,60 ₽ | |
| | | | | | |