Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Переменная






Переменная - программный объект, имеющий имя, тип, размер и значение, которое может быть присвоено/возвращено программой. Имя должно начинаться с буквы и содержать не более 256 символов. Для доступа к содержимому памяти достаточно знать имя переменой.

Тип данных - характеристика переменной, определяющая тип данных который может храниться в этой переменной. Типы данных даны в табл. 1.2.

Таблица 1.2. Типы данных
Тип данных Размер Диапазон значений
Byte (байт) 1 байт От 0 до 255
Boolean (логический) 2 байта True или False
Integer (целое) 2 байта От -32 768 до 32 767
Long (длинное целое) 4 байта От -2 147 483 648 до 2 147 483 647
Single (с плавающей точкой обычной точности) 4 байта От -3, 402823E38 до -1, 401298E-45 для отрицательных значений.От 1, 401298E-45 до 3, 402823E38 для положительных значений
Double (с плавающей точкой двойной точности) 8 байт От - 1, 79769313486232E308 до -4, 94065645841247E-324 для отрицательных значений; от 4, 94065645841247E-324 до 1, 79769313486232E308 для положительных значений.
Currency (денежный) 8 байт От -922 337 203 685 477, 5808 до 922 337 203 685 477, 5807
Object (объект) 4 байта Любой указатель объекта
String (строка Переменной длины) 10 байт + длина строки От 0 до прибл. 2 млрд.
String (строка постоянной длины) длина строки От 1 до прибл. 65 400
Variant (числовые подтипы) 16 байт Любое числовое значение вплоть до границ диапазона типа Double
Variant (строковые подтипы) 22 байта + длина строки Как для строки (String) переменной длины.
Тип данных, определяемый пользователем (с помощью ключевого слова Type) объем определяется типом данных  

Для решения вопроса о равенстве чисел с плавающей точкой можно сравнивать абсолютное значение их разности с некоторой наперед заданной величиной. Приведем пример.

Dim A As Single, B As Single, del As Singledel = Abs(A - B)If del < = 0.01 ThenLabel1.Caption = " Числа равны с точностью 0.01" ElseLabel1.Caption = " Числа не равны" End If

Описание переменных. Инструкцией описания сообщается имя и тип переменной; для описания переменных используется инструкция Dim, примеры:

Dim Price As CurrencyDim Name (15) As String ' описание массива

Допускается описание нескольких переменных в одной строке:

Dim x, y As Integer

Доступность. Доступность определяет, в каких разделах программы переменные могут использоваться. Локальными переменными являются переменные, описанные внутри процедуры, блока (блок заканчивается ключевыми словами End Sub, Next, Loop...). Переменные контейнера описываются в области описаний контейнера (формы, модуля). Глобальные переменные описываются в модуле с использованием ключевого слова Public, они доступны во всех модулях и процедурах проекта.

Время жизни переменных. Локально описанные переменные после выполнения процедуры удаляются из памяти, их содержимое при этом не сохраняется, иногда - это недостаток. Имеется возможность описать переменную как Static, при этом при выходе из процедуры значение статической переменной сохраняется и при новом вызове переменная имеет значение, которое она имела при последнем выходе из процедуры

Идентификаторы типов. Тип данных при описании может устанавливаться добавлением знака типа к имени переменной. В табл. 1.3. приведены соответствующие символы

Таблица 1.3. Символы, используемые в качестве идентификаторов типов данных
Тип Символ Пример
Integer % -546%
Long & 2147483648&
Single ! -3.402823У+38!
Double # -1.79769313486232У308#
String $ ккккккккк$
Currency @ -922337203685477.5808@

Неявное описание переменных. Описание переменной может продлиться при появлении еe в коде. Например, две записи ниже эквивалентны:

Dim Price As Currency Price=9000Price@=9000

Option Expliсit. Для того, чтобы устранить возможные ошибки в программе нужно описывать переменные. Для этого может использоваться опция Expliсit. Для работы с ней нужно установить флажок: меню Инструменты Опции Среда Требование описания переменных перезагрузить Visual Basic.

Необходимо перечислить некоторые функции, используемые при работе с данными. Функции Val(string), Str(number). Часто возникает необходимость преобразовать числовой тип в тип String и наоборот, например, при вводе чисел в текстовое поле. Для этого используются функции Val(string) и Str(number). Функция Val(string) возвращает число, содержащееся в строке. Функция Str(number) преобразует числовое выражение в тип String, являющийся строковым представлением числа. Функции преобразования типов данных. Если переданное в функцию значение аргумента, например, находится вне допустимого диапазона, то возникает ошибка. Чтобы избежать такого рода ошибок используют функции преобразования типов, втабл. 1.4. даны некоторые из них.

Таблица 1.4. Некоторые функции преобразования типов данных
Функция Диапазон аргумента выражения Возвращаемый тип
CCur(выражение) от -922 337 203 685 477, 5808 до 922 337 203 685 477, 5807 Currency
CLng(выражение) от -2 147 483 648 до 2 147 483 647 с округлением дробной части Long
CSng(выражение) от -3, 402823E38 до -1, 401298E-45 для отрицательных чисел, от 1, 401298E-45 до 3, 402823E38 для положительных чисел Single
CVar Диапазон значений Double для числовых значений. Диапазон значений String для нечисловых значений Variant
CStr(выражение) Возвращаемые значения функции CStr зависят от аргумента выражения String

Массив

Массив представляет собой переменную, которой соответствует множество ячеек памяти для хранения значений. Массив - это набор элементов, имеющих свой порядковый номер (индекс). Пример описания и инициализации массива:

Dim m(3) As IntegerFor i = 0 To 2m(i) = iNext

Обозначения элементов данного массива: m(0), m(1), m(2); UBound = 3 - верхний индекс размерности; LBound = 0 - нижний индекс размерности; Length = 4 - наибольшее число элементов, которое можно разместить; Rank = 1 - ранг. При работе с массивами индексация элементов начинается с 0, однако можно формировать массив с другого индекса.

Различают статические массивы, границы которых устанавливаются в процессе конструирования и динамические массивы, которые могут изменять свои размеры/размерности в ходе выполнения программы. Динамический массив можно создать следующим образом:

(General) (Declarations)Rem описать массив без указания размерностиDim mass() As Variant Private Sub Command1_Click()...Rem установить размерность массива с использованием инструкции ReDimReDim mass(17):.End Sub

При описании многомерных массивов индексы размерностей разделяются запятой, пример:

Dim maName (7, 7) As StringDim maBea (5, 7, 9) As String

Имеется возможность указывать диапазоны индексов:

Dim massMain (5, 7 To 16, 9 To 25, 3, 15 To 20, 23 To 29, 2)

Можно использовать присваивание массивов (см. справочник).






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.