Классификация типов данных




Простых(скалярные)

§ Целые (shortint(1байт), byte(1байт), word(2байт), integer(2байт), longint(4байт))

§ Вещественные (real, single, double, extended, comp)

§ Символьные (char (1 байт))

§ Логические(Boolean(1байт), ByteBool(1байт), WordBool(2байт), LongBool(4байт))

§ Перечислимые(пример: type op = (plus, minus, mult, divide );)

Структурные

o Регулярные (массивы)

o Комбинированные (записи)

o Файловые

o Множественные

o Строковые

o Объект

Переменная — это ячейка памяти компьютера, в которой находятся данные. Чтобы программа могла обратиться к переменной (получить данные для расчета, запомнить результат вычислений), переменная должна иметь имя. Имена переменных составляют из последовательности букв латинского алфавита, цифр и некоторых специальных символов. Первой в имени обязательно должна быть буква.

Константа в программировании — это способ адресования к данным, изменение которых рассматриваемойпрограммой запрещено.

27. Числовые типы предназначены для хранения только числовой информации. Различают целые (без дробной части) и вещественные (с дробной частью) типы.

Целые – представляют числа в двоичном формате в виде простой комбинации бит, эквивалентной ее значению.

Вещественные – дополнительно делятся на числа с фиксированной и плавающей точкой. Тип с фиксированной точкой полностью аналогичен целым, но заранее определенное количество знаков числа отводится под дробную часть. Тип с плавающей точкой подразумевает, что разделитель целой и дробной части может занимать любое положение. Числа в этом формате состоят из двух частей: мантисса и экспоненциальная часть. Мантисса определяет значимые цифры числа и может занимать 7 (Single) или 15 (Double) знаков. Экспоненциальная часть определяет порядок числа. Общая форма записи и соответствующий ей эквивалент следующий:

1.125484Е-12 → 1,125484 · 10-12 или 2.256Е2 → 2,256 · 102

 

Символьный тип служит для хранения текстовой информации. Значение представляется как набор символов (строка), каждый из которых кодируется отдельным целым числом, состоящим из 8 бит (кодировка ANSI). При этом разделяют динамические строки (без определенного размера) и с фиксированным количеством символов, заранее определенным.

Логический тип предназначен для построения условий и может принимать только два значения: True и False.

Существуют также ряд специальных типов, которые служат для работы со специфическими данными, например время (Date) или формирование ссылок на другие объекты (Object).

Подробная информация обо всех стандартных типах в Visual Basic приведена в таблице 1.

 

Таблица 1

Стандартные типы данных в Visual Basic

Тип Хранимая информация Объем памяти (байт) Диапазон значений Значение по умолчанию Суффикс
Byte Целые числа   0 … 255   Нет
Integer Целые числа   -32768 … 32767   %
Long Целые числа   -231 … 231-1   &
Single Вещественные числа   От ±3,402823Е38 до ±1,401298Е-45   !
Double Вещественные числа двойной точности   От ±1,79769313486232Е308 до ±4,94065645841247Е-324   #
Currency Числа: 15 цифр в целой части и 4 цифры в десятичной   ±922337203685477,5807   @
String Текстовая информация 1 на каж-дыйсимвол До 65 тыс. символов для строк фиксированной длины и до 2 млрд. для динамических строк «» (пустая строка) $
Boolean Логический тип   True (Истина) или False (Ложь) False Нет
Date Информация о дате и времени   От 1-го января 100 года до 31 декабря 9999 года   Нет
Object Ссылки на любой объект   Не определен Empty Нет
Variant Значения любого из вышеперечисленных типов 16+1 на каждый символ Не определен Empty Нет

При объявлении переменных обычно используется оператор Dim. Оператор объявления может быть помещен внутрь процедуры для создания переменной на уровне процедуры. Или он может быть помещен в начале модуля в разделе объявлений, чтобы создать переменную на уровне модуля.

В примере ниже создается переменная и указывается тип данных "String".

VBКопировать

Dim strName As String

Если данный оператор отображается в процедуре, переменная strName может использоваться только в этой процедуре. Если же оператор отображается в разделе объявлений модуля, переменная strName доступна для всех процедур данного модуля, но недоступна для процедур других модулей проекта.

Чтобы предоставить доступ к переменной всем процедурам проекта, перед ней нужно поставить оператор Public, как показано в примере ниже:

VBКопировать

Public strName As String

 

Давайте теперь вкратце разберем какие области действия (видимости) переменных существуют в VBA.
Область действия (видимости) переменной определяет, в каких модулях и процедурах она доступна и может использоваться. В VBA существуют следующие области действия переменных:

  • Процедура (Функция) - переменная действует только в процедуре или функции. Описание переменной начинается с ключевого слова Dim или Static непосредственно в самой процедуре или функции.
  • Модуль - переменная действует только в рамках текущего модуля (в котором описана) и доступна для всех процедур и функций, описанных в этом модуле. Переменная объявляется перед первой процедурой или функцией в модуле (если включено обязательное объявление переменных, то после ключевых слов " Option Explicit "). Описание переменной начинается с ключевого слова Dim или Private.
  • Все модули - переменная действует во всех модулях и доступна для любой процедуры и функции всего проекта. Описание переменной может быть в любом модуле проекта и начинаться перед первой процедурой или функцией с ключевого слова Public.

Локальные переменные - это переменные, объявленные в процедуре или функции. Локальные переменные могут использоваться только в процедуре (функции) в которой они объявлены. После завершения выполнения процедуры (функции) переменная освобождается из памяти.

Примечание: Если есть необходимость сохранить результат переменной, то можно воспользоваться "модульной переменной" или глобальной, передав в нее значение. Но в VBA доступен еще один вариант, переменная Static. Переменные, объявленные после ключевого слова Static, сохраняют свое значение по завершении работы процедуры или функции. Только будьте внимательны т.к. если упустить тот момент, что переменные Static сохраняют свое значение, можно получить неверные результаты выполнения процедур и ломать долго голову, в чем причина. Переменные Static объявляются только в процедурах и функциях!

Глобальные переменные - соответственно, доступны из любого модуля, видны в любой процедуре или функции и хранят результат до завершения выполнения всей программы.

Ну и теперь примеры описания глобальных, локальных переменных:

Option Explicit 'Переменные a и x доступны для любой процедуры или функции 'текущего модуля Dim a as long Private x as string 'Переменная Y является глобальной и доступна любой процедуре проекта Public Y as integer Sub Test () 'а1 является локальной переменной 'и доступна в пределах процедуры Test Dim a1 as long 'XY -статическая переменная, доступная в пределах 'процедуры Test, но сохраняющая результат по ее завершении. Static XY as string.... end sub

 

С помощью данного оператора можно делать ветвление программ

  1. Dim var1 = 10
  2. Dim var2 = 5
  1. If var1 > var2 Then
  2. MsgBox("Да, переменная var1 больше переменной var2")
  3. Else
  4. MsgBox("нет, переменная var1 меньше переменной var2"
  5. End If

 

Select...Case позволяет по определенному значению, диапазону или условию выполнить разные действия. Например:


dim a, b
Select Case a
Case 5: b=a+10
Case 10: b=a-5
Case Else: b=a
End Select
End Sub

31 Операторы сравнения. В VBA используются следующие операторы сравнения: = (равно), <(меньше), <= (меньше или равно), >(больше), >= (больше или равно),<> (не равно), о ператор Is (используется для сравнения двух переменных, содержащих объектные ссылки, о ператорLike (используется для сравнения двух строк).

Язык VBA предоставляет обширный набор встроенных (стандартных) функций, используемых для упрощения создания программ. Существуют математические функции, функции для обработки строк, для работы с датами и временем, для финансовых расчетов[1]

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

Имя функции Возвращаемое значение
Atn (Числовое_Выражение) Арктангенс значения, заданного в радианах
Cos (Числовое Выражение) Косинус угла, заданного в радианах
Ехр (Числовое Выражение) ех> где х — заданное Числовое Выражение
Fix (Числовое Выражение) Целая часть числа
Round (Числовое_Выражение, Число) Округленное Числовое Выражение с точностью до Число десятичных знаков
Sin (Числовое Выражение) Синус угла, заданного в радианах
Sqr (Числовое Выражение) корень

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

Имя функции Возвращаемое значение
Date Текущая дата
Day (Дата) День месяца указанной даты в диапазоне от 1 до 31
Month (Дата) Номер месяца указанной даты в диапазоне от 1 до 12
Time Текущее время
Weekday (Дата) Номер дня недели указанной даты
Year (Дата) Число, соответствующее году указанной даты

 

32 Часто в программах требуется многократное выполнение одного или нескольких операторов. Если заранее известно, сколько раз нужно выполнить операторы в цикле, то можно воспользоваться структурой For …Next

Dim a

For a=1 to 5

Msgbox a

next

 

33 Do...Loop Повторяет выполнение блока программного кода, пока некоторый условный оператор внутри цикла не выполнит команду End Do

Dim a

a=1

do

msgbox a

a=a+1

if a>5 then Exit do

loop

 

35Массив (вектор) - это набор однотипных переменных, объединенных одним именем и доступных через это имя и порядковый номер переменной в наборе.

Dim myArray (10) As Long

Dim myArray (5 To 10) As Long



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-08-08 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: