Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Mv_basic.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.88 Mб
Скачать
      1. Пользовательские функции

Пользовательская функция – это подпрограмма. Она начинается с оператора Function и заканчивается оператором End Function, между которыми помещается программный код.

Синтаксис объявления функции:

[Public | Private] Function имя_функции (список_параметров) As тип

блок_операторов_1

[Exit Function]

[блок_операторов_2]

End Function

Здесь:

тип - тип объявляемой функции.

Exit Function используется для досрочного прекращения выполнения функции (см. Exit For в разделе 2.7.2.4).

Заметим, что остальные элементы в объявлении функции имеют то же назначение, что и в объявлении процедуры (см. раздел 2.8.1.). Кроме того, способы передачи и правила согласования параметров одинаковы как при вызове функции, так при вызове процедуры.

Основные отличия функции от процедуры следующие:

1. У функции нет выходных параметров, а все ее входные параметры называются аргументами.

2. Функция имеет тип (аналогично переменной) и может возвращать в программу значение, которое присваивается функции в ее программном коде при помощи следующего оператора:

имя функции = значение

3. Функция не вызывается, подобно процедуре, а включается в состав выражения посредством указания ее имени и аргументов.

Это справедливо как для пользовательских, так и для встроенных функций.

Пример.

'Процерура расчета зарплаты

Private Sub Zarplata()

Dim zarpl, dohod As Single

dohod =2000

zarpl= dohod- ndfl(dohod) 'результат выполнения: zarpl =1760

dohod =60000

zarpl= dohod- ndfl(dohod) 'результат выполнения: zarpl =48000

End Sub

'Функция вычисления подоходного налога

Public Function ndfl(a As Single) As Single

If a > 50000 Then

ndfl = a * 0.2

Else

ndfl = a * 0.12

End If

End Function

      1. Стандартные функции

В Visual Basic существует набор встроенных (стандартных) функций, облегчающих написание программ. Имеются математические функции, функции для обработки строк, для работы с датами и временем, для финансовых расчетов.

Обычно функция - это подпрограмма, возвращающая одно единственное значение определенного типа через свое имя. Функция вызывается как операнд выражения, например, Y = A*Sin(X) + B. Тип выражения должен быть совместим с типом возвращаемого функцией значения.

В таблицах 2.4 - 2.10 приведен перечень и назначение наиболее распространных типовых встроенных функций Visual Basic.

Таблица 2.4.

Стандартные математические функции

Имя функции, параметры

Возвращаемое значение

Abs (Числовое_Выражение)

Абсолютное значение числа

Atn (Числовое_Выражение)

Арктангенс от значения, заданного в радианах

Cos (Числовое_Выражение)

Косинус от значения, заданного в радианах

Exp (Числовое_Выражение)

Е^x, х – заданное Числовое_Выражение

Fix (Числовое_Выражение)

Целая часть числа

Int (Числовое_Выражение)

Округленное до целой части число. В случае отрицательного параметра возвращает ближайшее меньшее отрицательное число

Log (Числовое_Выражение)

Натуральный логарифм числа

Rnd

Случайное число в интервале от 0 до 1

Round(Числовое_Выражение, Число)

Округленное Числовое_Выражение с точностью до Число десятичных знаков

Sgn (Числовое_Выражение)

+1 – если параметр положителен,

–1 – если параметр отрицателен,

0 – если параметр равен 0

Sin (Числовое_Выражение)

Синус от значения, заданного в радианах

Sqr (Числовое_Выражение)

Квадратный корень

Tan(Числовое_Выражение)

Тангенс от значения, заданного в радианах

Таблица 2.5.

Строковые функции

Имя функции, параметры

Возвращаемое значение

Asc (Строковое_Выражение)

ASCII код первого символа в выражении

Chr (asciiКодСимвола)

Символ, соответствующий указанному коду

Instr (НачальнаяПозиция, Строковое_Выражение1, Строковое_Выражение2)

Номер позиции первого обнаружения Строки2 в Строке1. НачальнаяПозиция – позиция, с которой начинается поиск

Lcase (Строковое_Выражение)

Преобразованная строка в нижний регистр

Left (Строковое_Выражение, Количество_Символов)

Левая часть строки длиной Количество_Символов

Len (Строковое_Выражение | ИмяПеременной)

Длина строки

LTrim (Строковое_Выражение)

Удаляет начальные пробелы из строки

Mid (Строковое_Выражение, НачальноеЗначение [,Длина])

Часть строки начиная от символа с позиции НачальноеЗначение с количеством символов, равным значению Длина

Right (Строковое_Выражение, Количество_Символов)

Правая часть строки длиной Количество_Символов

RTrim (Строковое_Выражение)

Удаляет конечные пробелы из строки

Space (Длина)

Строка пробелов указанной длины

Trim (Строковое_Выражение)

Удаляет начальные и конечные пробелы

Ucase (Строковое_Выражение)

Преобразованная строка в верхний регистр

Таблица 2.6.

Функции преобразования типов

Имя функции, параметры

Возвращаемое значение

Cbyte (Выражение)

Преобразованное в байт числовое выражение

Cint (Выражение)

Преобразованное в целое числовое выражение

CSng(CDbl) (Выражение)

Преобразованное числовое выражение в число типа Single (Double)

СStr (Выражение)

Строковое представление числа

Val (Строковое_Выражение)

Числовое представление строки цифровых символов

Таблица 2.7.

Финансово-математические функции

Имя функции, параметры

Возвращаемое значение

DDB (Стоимость, Остаточная_ _Стоимость, ВремяЭксплуата-

Ции, Период, Кратность)

Амортизация фондов в течение заданного интервала времени

FV (Ставка, Кпер, Плата [, Нз [, Тип ]])

Накопленная стоимость при известном размере регулярного взноса и постоянной процентной ставке

IPmt (Ставка, Период, Кпер, Нз [, Бз [, Тип]])

Сумма выплат при известном размере регулярного взноса и постоянной процентной ставке

IRR (Величина () [, guess]))

Внутренняя норма доходности при известной последовательности выплат и поступлений

MIRR (Величина (), Ставка_фи-нанс, Ставка_реинвест)

Модифицированная внутренняя норма доходности

NPer (Ставка, Платеж, Нз, Бз, Тип)

Количество периодов времени, необходимых для достижения заданной фактической стоимости при постоянном размере выплат и постоянной процентной ставке

NPV (Ставка, Величина ())

Чистая приведенная стоимость инвестиционного проекта при известном размере выплат и поступлений и при постоянной дисконтной ставке

PPMT (Ставка, Период, Кпер, Нз, Бз, Тип)

Величина постоянного взноса для достижения определенной суммы при постоянной процентной ставке

Pmt (Ставка, Кпер, Нз[,Бз[,Тип]])

Величина постоянного взноса для достижения определенной суммы при постоянной процентной ставке в зависимости от того, когда производятся выплаты (в начале или в конце периода)

PV (Ставка, Кпер, Плата [, Бз [, Тип]])

Приведенная стоимость при известном и постоянном размере выплаты, периоде и постоянной процентной ставке

Rate (Кпер, Плата, Нз [, Бз [, Тип]])

Процентная ставка, необходимая для достижения заданной стоимости при известном периоде выплат

SLN (Стоимость, Ликвидная_ _Стоимость, Жизнь)

Величина амортизации фондов линейным методом

SYD (Стоимость, Ликвидная_ _Стоимость, Жизнь, Период)

Величина годовой амортизации фондов за определенный период

Таблица 2.8.

Функции обработки дат и времени

Имя функции, параметры

Возвращаемое значение

Date

Текущая дата

Day (Дата)

День месяца в указанной дате в диапазоне от 1 до 31

Month (Дата)

Номер месяца в указанной дате в диапазоне от 1 до 12

Time

Текущее время

Weekday (Дата)

Номер дня недели в указанной дате

Year (Дата)

Число, соответствующее году в указанной дате

Таблица 2.9.

Функции статуса

Имя функции, параметры

Возвращаемое значение

IsError (Выражение)

True – если значение параметра является ошибочным

IsNumeric (Выражение)

True – если параметр является числом

IsNull (Выражение)

True – если выражение содержит недействительные (пустые) данные

IsDate (Выражение)

True – если значение параметра является датой

Таблица 2.10.

Функции для работы с файлами

Имя функции, параметры

Возвращаемое значение

EOF (НомерФайла)

True – если достигнут конец открытого файла,

False – в противном случае

LQF (НомерФайла)

Длина файла в байтах

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