Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБОРАТОРНЫЙ ПРАКТИКУМ VBA_2009.doc
Скачиваний:
15
Добавлен:
01.03.2025
Размер:
4 Мб
Скачать
☆

Лабораторная работа № 1 Величины и типы данных vba

Теоретические сведения

Величина – отдельный информационный объект, который имеет имя, значение и тип.

Величины бывают постоянные и переменные.

Постоянная величина (константа) не изменяет своего значения в ходе выполнения алгоритма. Использование констант делает программы легче читаемыми и позволяет проще вносить изменения: отпадает необходимость многократно исправлять значения по тексту программы, т.к. достаточно ввести новое значение при определении константы.

Переменная величина (или просто переменная) может изменять значение в ходе выполнения алгоритма. Переменные задаются именами, которые определяют области памяти, в которых хранятся значения. Значениями переменных могут быть данные различных типов.

Тип данных относят к самым фундаментальным понятиям любого языка программирования. Тип данных определяет множество допустимых значений, которое может принимать величина, и множество действий, которые можно выполнить с этой величиной.

Таблица 1. Основные типы данных VBA

Тип данных

Диапазон значений

Объем занимаемой памяти, байт

Приставка к имени

Суф­фикс

Byte (байт)

Integer (целое число)

Long (длинное целое число)

Single (число с плавающей точкой обычной точности)

Double (число с плавающей точкой двойной точности)

Boolean (логический)

String (строка символов)

Currency (денежный)

Date (дата)

Object (объект)

Variant (строковые или числовые подтипы)

Целые числа от 0 до 255

Целые числа от –32768 до 32767

Целые числа двойной длины (от –2147483648 до 2147483647)

От -3.402823E38 до -1.401298E-45 для отрицательных значений; От 1.401298E-45 до 3.402823E38 для положительных значений;

От -1.79769313486232E308 до -4.94065645841247E-324 для отрицательных значений; От 4.94065645841247E-324 до 1.79769313486232E308 для положительных значений;

Логическое значение True или False

От 0 до приблизительно 2 миллиардов

От –922337203685477,5808 до 922337203685477,5807

От 1 января 100 г. до 31 декабря 9999 г.

Любой указатель объекта

Любое числовое или строковое значение

1

2

4

4

8

2

1 на каждый символ

8

8

4

16

byt

int

lng

sng

dbl

bln

str

cur

dtm

obj

vnt

–

%

&

!

#

–

$

@

–

–

–

Обозначения типов данных является ключевыми словами языка (и выделяется после набора в редакторе VBA).

Над различными типами данных допустимы различные операции. В VBA имеются три основных типа операций:

  • математические, выполняются над числами, их результатом являются числа;

  • операции отношения, могут применяться не только к числам, их результатом является значения логического типа;

  • логические, используются в логических выражениях и их результатом являются логические значения.

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

  1. длина имени не должна превышать 255 символов;

  2. имя не может содержать стандартные разделители (точку, запятую, двоеточие, дефисов, пробелов и т.п.) и следующих символов: %, &, !, @, #, $;

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

  4. имена должны быть уникальны внутри области, в которой они определены;

  5. запрещено использовать имена, совпадающие с ключевыми словами VBA и именами встроенных функций и процедур.

Для того чтобы начать оперировать с любой величиной (постоянной или переменной) ее необходимо соответствующим образом описать. Важно, чтобы не только разработчик программы понимал, величины какого типа используются в программе, но и исполнитель программы (компьютер). Второе даже более важно, т.к. если компьютер не будет знать, величина какого типа используется в программе, он будет считать ее величиной универсального типа Variant и отведет для ее хранения в памяти 16 и более ячеек. Это будет приводить к неэффективному использованию памяти и замедлению работы программы.

Кроме того, описание переменных и констант делает программу надежнее, убыстряет ее работу, т.к. компилятору VBA не требуется тратить время на распознавание типа неописанной величины при каждом обращении к ней.

Блок описания переменных имеет следующий синтаксис:

Dim <Имя> [As <Тип>]

Здесь Dim и As – ключевые слова VBA;

<Имя> – имя переменной, удовлетворяющее стандартным правилам именования переменных;

<Тип> – тип данных переменной.

Назначение этого оператора – объявить переменную, т.е. задать ее имя и тип, однако объявление типа может отсутствовать. В этом случае по умолчанию переменная получает тип Variant.

Переменные, описанные с помощью слова Dim на уровне модуля, доступны для всех процедур в данном модуле. Переменные, описанные на уровне процедуры, доступны только в данной процедуре.

Примеры:

  1. Dim N As Integer – инструкция описывает переменную N типа Integer.

  2. Можно объявить сразу несколько переменных: Dim Строка As String, Число As Single – инструкция описывает переменную Строка типа String, переменную Число типа Single.

  3. Dim K1, K2 As Integer – инструкция описывает переменную K2 типа Integer, переменную K1, тип которой не задан (по умолчанию будет приписан тип Variant).

Альтернативным способом описания переменных некоторых типов может быть использование суффиксов. Например, инструкция

Dim A%, Text$

служит для описания переменной A типа Integer и переменной Text типа String. Последующее использование этих переменных в тексте программы не требует использования суффикса.

Описание констант осуществляется следующим образом:

[Public | Private] Const <Имя> [As <Тип>] = <Выражение>

Public – ключевое слово, используемое на уровне модуля для описания констант, доступных всем процедурам во всех модулях; не допускается в процедурах;

Private – ключевое слово, используемое на уровне модуля для описания констант, доступных только внутри модуля, в котором выполняется описание; не допускается в процедурах;

As – ключевое слово VBA;

<Имя> – имя константы, удовлетворяющее стандартным правилам именования;

<Тип> – один из поддерживаемых типов данных. Для каждой описываемой константы следует использовать отдельное предложение As <Тип>.

<Выражение> – запись, определяющая последовательность действий над величинами; может содержать константы, переменные, знаки операций (за исключением Is), функции.

Примеры:

  1. Const L As Integer = 12345 – инструкция описывает константу L типа Integer, значение которой равно 12345, доступную на уровне процедуры.

  2. Private Const Строка As String = “Большая перемена” – инструкция описывает константу Строка типа String, доступную на уровне модуля, со значением “Большая перемена”.

  3. Const K1 As Integer = 350, K2 As Integer = 750, K3 = 3678 \ 57 – инструкция описывает константы K1 и K2 типа Integer, константу K3, тип которой не задан (по умолчанию будет приписан тип Variant); все константы доступны на уровне процедуры.

Важнейшей операцией в алгоритмах, работающих с величинами, является присваивание. Переменная может получить или изменить свое значение в результате присваивания. Оператор присваивания всегда включает знак “=” и имеет следующий синтаксис:

[Let] <Имя> =<Выражение>

<Имя> – имя переменной, удовлетворяющее стандартным правилам именования;

<Выражение> – произвольное выражение любого типа;

Let –ключевое слово, которое не является обязательным и чаще всего опускается.

При выполнении оператора присваивания переменная, имя которой указано слева от знака равенства, получает значение, равное значению выражения, которое находится справа от знака равенства.

Примеры:

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

1)

Команда

А

В

A=1

1

-

B=2*A

1

2

A=B

2

2

B=A+B

2

4

Прочерк в таблице означает неопределенное значение переменной. Конечные значение, которые получают переменные A и B, соответственно равны 2 и 4.

Этот пример иллюстрирует три основных свойства присваивания.

  1. пока переменной не присвоено значение, она остается неоп-ределенной;

  2. значение, присвоенное переменной, сохраняется в ней вплоть до выполнения следующего присваивания этой переменной нового значения;

  3. новое значение, присвоенное переменой, заменяет ее предыдущее значение.

2)

Команда

А

B

C

A= 5>3

True

-

-

B= 2*2=5

True

False

-

C=A And B

True

False

False

Задачи для самостоятельного решения

  1. Запишите в обычной математической форме арифметические вы-ражения:

    a) a / b ^ 2

    b) a + b / c + 1

    c) 1 / a * b / c

    d) a^ b ^ c / 2

    e) (a ^ b) ^ c / 2

    f) a / b / c / d * p * q

    g) x ^ y ^ z / a / b

    h) 4 / 3 * 3.14* r ^ 3

    i) d * c / 2 / R + a ^ 3

  2. Запишите логические выражения, истинные только при выполнении указанных условий:

a) x принадлежит отрезку [a;b]

b) x не принадлежит отрезку [a;b]

c) x принадлежит промежутку [a;b ) или (c;d]

d) x лежит вне отрезков [a;b] и [c;d]

e) целое k является нечетным числом

f) целое n является трехзначным числом, кратным пяти

g) из чисел a, b, c меньшим является c, а большим b

h) среди чисел a, b, c, d есть взаимно противоположные