- •Основные понятия алгоритмизации
- •1. Понятие алгоритма
- •2. Свойства алгоритма
- •3. Основные способы записи алгоритмов
- •4. Основные элементы блок-схемы
- •5. Типы данных.
- •6. Типовые структуры алгоритмов
- •Язык и система программирования Visual Basic for Application (vba)
- •1. Общая характеристика языка и системы программирования vba
- •7. Стандартные алгоритмы
- •7.1. Алгоритм накопления суммы (произведения)
- •2. Типы данных в языке vba
- •3. Арифметические и логические выражения
- •4. Основные операторы языка vba
- •1. Оператор присваивания.
- •2. Условный оператор.
- •3. Оператор цикла с заданным числом повторений.
- •5. Разбиение строки программы, несколько операторов в одной строке, задание комментариев в тексте программы
- •6. Типы процедур
2. Типы данных в языке vba
В языке VBA так же, как в классическом языке Basic, все типы данных можно подразделять на простые и структурированные.
К простым типам относятся: целый, вещественный, логический.
К структурированным типам относятся: дата; массив; строка; тип, определяемый пользователем.
В таблице 3 приведены названия, обозначения, размер памяти в байтах (занимаемый значением этого типа), а также диапазоны допустимых значений для простых типов данных языка VBA и типов Variant, Object и String.
Целый тип данных в VBA представлен тремя подтипами: Byte, Integer, Long.
Вещественный тип имеет 4 подтипа: Single, Double, Currency, Decimal.
Логический тип обозначается как Boolean.
Таблица 3.
Тип данных |
Размер памяти (байты) |
Диапазон значений |
Byte (байтовый) |
1 |
От 0 до 255 |
Integer (целый) |
2 |
От -32768 до 32767 |
Long (длинное целое) |
4 |
От -2147483648 до 2147483647 |
Boolean (логический) |
2 |
True, False |
Single (число с плавающей запятой одинарной точности) |
4 |
От -3,4E+38 до -1,4E-45 и от 1,4E-45 до 3,4E+38 |
Double (число с плавающей запятой двойной точности) |
8 |
От -1,8E+308 до -4,9E-324 и от 4,9E-324 до 1,8E+308 |
Currency (денежный) |
8 |
От -922337203685477,5808 до 922337203685477,5807 |
Decimal (число с фиксированной запятой) |
14 |
От -79228162514264337593543950335 до 79228162514264337593543950335 для целых чисел; от -7,9228162514264337593543950335 до 7,9228162514264337593543950335 для чисел с фиксированной запятой (28 знаков после десятичной точки) |
Object (объект) |
4 |
Любой указатель объекта |
String (строка переменной длины) |
10+длина строки |
От 0 до 2 миллиардов |
String (строка постоянной длины) |
Длина строки |
От 0 до ≈ 65400 |
Variant (числовые подтипы) |
16 |
Любое числовое значение вплоть до границ Double |
Variant (строковые подтипы) |
22+длина строки |
Как для строки (String) переменной длины |
Date (дата) |
8 |
January 1.100 – December 31.9999 т.е. 01.01.0100 – 31.12.9999 |
Тип данных Строка (String). Строковый тип данных позволяет хранить последовательности символов – строки, которые могут быть постоянной и переменной длины. Строки постоянной (фиксированной) длины – это строки, длины которых ограничены. Они описываются с помощью оператора Dim, согласно следующему синтаксису:
Синтаксис: Dim <идентификатор> As String * <длина строки>
Пример: Dim S As String *10 – описание переменной S как строки с максимальной длиной 10 символов.
В значении типа строка символов могут присутствовать любые символы кодовой таблицы ЭВМ (в том числе русские буквы и т.д.). Строковые значения в программе должны записываться в кавычках.
В VBA для строк может использоваться операция «конкатенация», которая позволяет объединять несколько строк в одну. Она обозначается либо знаком +, либо &.
Пример: S = ”Иванов”
F = S + ” ” + ”Иван”
В результате строковая переменная F примет значение ”Иванов Иван”.
Тип данных Variant. Данный тип является особенностью VBA (отсутствует в классическом Бейсике). Переменная типа Variant может содержать данные любого типа. Если для переменной не объявлен тип данных, то по умолчанию используется тип данных Variant.
Переменная, описанная типом Variant, фактически может в одной и той же программе принимать значения разного типа, и это не будет являться ошибкой.
Тип данных Массив. В VBA могут использоваться массивы двух типов: статические и динамические. Границы статического массива задаются в программе заранее с помощью оператора Dim.
Синтаксис:
Dim <идентификатор>(<номер последнего элемента>) As <тип эл-тов>
Пример: Dim X(100) As Integer - описание одномерного массива, состоящего из 100 целых чисел.
В VBA, как и в классическом Бейсике, индексирование массива по умолчанию начинается с нуля, т.е. индекс 0 обозначает первый элемент массива, индекс 1 – второй и т.д. Чтобы задать нумерацию элементов массива с 1, необходимо использовать оператор:
Option Base 1
С помощью оператора Dim можно описывать также многомерные массивы (имеющие более одного индекса).
Пример: Dim Y(10,12) As Double – описание двумерного массива вещественных чисел двойной точности, который представляет собой матрицу из 10 строк и 12 столбцов.
Динамический массив используется в том случае, когда размер массива заранее неизвестен. Для его описания также используется оператор Dim, в котором не задаются границы массива, а тип элементов определяется как Variant.
Пример: Dim A() As Variant
Далее в программе, когда станет известен размер массива, может быть задан его фактический размер с помощью оператора ReDim.
Пример: ReDim A(20)
