
- •Введение
- •Теория программирования
- •Основы программирования
- •Базовые понятия объектно-ориентированного программирования
- •Возможности vb
- •Описание языка
- •Синтаксис
- •Типы данных
- •Описание данных
- •Массивы
- •Выражения
- •Арифметические выражения
- •Выражения отношения
- •Логические выражения
- •Строки и символьные выражения
- •Операторы
- •Оператор присваивания
- •Конструкции управления
- •Оператор перехода
- •Условный оператор
- •Оператор варианта Select Case
- •Оператор цикла с параметром For…Next
- •Цикл Do…Loop
- •Процедуры и функции
- •Пользовательские процедуры
- •Пользовательские функции
- •Стандартные функции
- •Среда разработки vb
- •Элементы среды разработки
- •Проект в vb
- •Создание приложений в vb
- •Разработка пользовательского интерфейса приложения
- •Основные элементы управления Visual Basic
- •Свойства, методы и процедуры обработки событий
- •Общие свойства
- •Текстовое окно
- •Командная кнопка
- •Переключатель
- •Комбинированный список
- •Встроенные окна диалога
- •Разработка кода программы
- •Запуск программы на выполнение, ее отладка и тестирование
- •Пример программы с элементами управления для принятия решений
- •Постановка задачи
- •Реализация задачи средствами Visual Basic
- •Пример программы с использованием пользовательских функций и элемента комбинированный список
- •Постановка задачи
- •Программная реализация задачи
- •Дополнение к задаче для самостоятельной реализации
- •Варианты заданий для самостоятельного выполнения Вариант 1. Тема "vb".
- •Вариант 2. Тема "vb".
- •Вариант 3. Тема "vb".
- •Вариант 4. Тема "vb".
- •Вариант 5. Тема "vb".
- •Вариант 6. Тема "vb".
- •Литература
Пользовательские функции
Пользовательская функция – это подпрограмма. Она начинается с оператора 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
Стандартные функции
В 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 (НомерФайла) |
Длина файла в байтах |