Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metod_VBA_1.doc
Скачиваний:
11
Добавлен:
03.05.2019
Размер:
1.01 Mб
Скачать

Практические задания Задание 7.1

Напишите функцию, которая вычисляет коэффициент обеспеченности собственными оборотными средствами по формуле:

Kocc =

Добавьте к проекту новый модуль. Введите текст функции приведенный ниже. Протестируйте функцию, вызвав её с различными значениями аргументов.

Public Function KOCC(ТАктивы As String, ТПассивы As String) As Variant

If IsNumeric(ТАктивы) And IsNumeric(ТПассивы) Then

KOCC = (ТАктивы - ТПассивы) / ТПассивы

Else

KOCC = "Ошибка"

End If

End Function

Задание 7.2

Напишите функцию, которая определяет номер первого вхождения элемента в заданном массиве. Если элемент отсутствует в массиве, функция равна –1.

Пример показывает, как можно передать значение массива в качестве аргумента функции. Для определения размерности массива можно использовать свойство Count. Если массив Значения двумерный, то размерность определяют через свойства Значения.Rows.Count и Значения.Columns.Count.

Public Function НОМЕР(Значения As Variant, _

Элемент As Variant) As Integer

n = Значения.Count

НОМЕР = -1

For i = 1 To n

If Значения(i) = Элемент Then НОМЕР = i: Exit For

Next i

End Function

Задание 7.3

Напишем функцию, которая находит решение системы линейных уравнений. Это функция массива, поэтому при вызове она должна заканчиваться Ctrl+Shift+Enter. При написании функции воспользуемся функциями рабочего листа Mmult (вычисляет произведение двух матриц) и MInverse (вычисляет обратную матрицу).

Public Function РешЛинСист(ЛевЧасть As Variant, _

ПрЧасть As Variant) As Variant

РешЛинСист = Application.WorksheetFunction.MMult( _

Application.WorksheetFunction.MInverse(ЛевЧасть), ПрЧасть)

End Function

Задание 7.4

Напишите функцию, которая вычисляет коэффициент текущей ликвидности по формуле:

Kлик =

Задание 7.5

Напишите функцию для расчета комиссионных:

  • если продукции продано меньше, чем на 10000 руб., то комиссионные составляют 1% от стоимости реализованной продукции;

  • если продукции продано не меньше, чем на 10000 руб., то комиссионные составляют 2% от стоимости продукции;

  • если стаж работы не меньше 5 лет, то выплачивается доплата в размере 0.5% от стоимости реализованной продукции.

Задание 7.6

Напишите функцию, которая дописывает к числовому значению слова «рубль», «рубля» или «рублей» в зависимости от значения аргумента. Алгоритм формирования окончаний сформулируем так:

  • исключение: если число оканчивается на 11, 12, 13 или 14, добавляем слово «рублей»;

  • если целое число оканчивается на 1, добавляем слово «рубль»;

  • если число оканчивается на 2, 3 или 4, добавляем слово «рубля»;

  • если число оканчивается на цифры 5, 6, 7, 8, 9 или 0, добавляем слово «рублей».

Задание 7.7

Напишите функцию для расчета срока окупаемости инвестиций (PP). Формула имеет вид: PP = n, при котором > IC,

где Pk – годовые доходы, IC – исходные инвестиции.

Год

Денежные потоки

0-й

-10

1-ый

0

2-ой

20

3-ий

5

Например, в приведенном ниже случае период окупаемости будет равен 2 годам:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]