Студопедия

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

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

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






Переменные






Переменные – это именованная область внутренней памяти, где хранятся данные указанного типа. Данные могут меняться в процессе выполнения программы.

Переменные подразделяются на простые и индексированные (переменные с индексом). Индексированными переменными являются элементы массивов.

До начала работы с переменной ей должно быть присвоено уникальное имя (можно использовать буквы латинского и русского алфавитов, строчные и прописные) и объявлен тип. Если имя переменной было объявлено SUM, а затем в тексте использовалось как sum, то редактор кода VBA автоматически заменит первое вхождение SUM на второе sum.

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

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

Для объявления переменных используются операторы Dim, Public, Private и Static. Первый - Dim можно использовать на обоих уровнях, Public и Private - на уровне модуля, Static - только на уровне процедуры.

В данном курсе будут использоваться только два оператора Dim и Public.

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

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

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

Глобальные переменные и константы объявляются в разделе Declarations, который есть у каждого модуля.

72. В чем отличие типов Integer и Long?

В языке VBA используются шесть различных типов данных для хранения числовой информации и выполнения над ними различных действий. Рассмотрим четыре из них: Integer, Long, Single, Double.

Первые два типа данных (Integer и Long) относятся к целым типам данных, т.е. являются числами, имеющими только целую часть, а следующие два типа данных (Single, Double) относятся к типам данных с плавающей точкой, т.е. к числам, которые содержат целую и дробную часть и отличаются только своей точностью (здесь имеется в виду количество знаков после точки).

Для задач, требующих вычислений с целыми числами в диапазоне, ограниченном значением 32767 необходимо использовать тип данных — Integer, а для чисел большего диапазона VBA допускает использование типа Long (длинное целое).

73. Какой тип данных лучше использовать для задач, требующих высокую точность вычислений?

Для задач, требующих более высокую точность вычислений, нужно использовать типы данных с плавающей точкой — Single или Double. Числа, сохраняемые с использованием типа Single, называются числами одинарной точности, а числа, сохраняемые с использованием типа Double, называются числами двойной точности.

74. Назовите преимущества и недостатки типа Variant.

Тип данных Variant — это такой тип данных, который может сохранять в себе данные любых типов из числа допустимых в языке VBA. В переменной типа Variant может быть заключен текст, числовые значения, даты и т.д. В языке VBA тип данных Variant принят по умолчанию, т.е. если переменная была создана без указания типа, то она автоматически создается с типом Variant. Переменные этого типа принимают характеристики того конкретного типа данных, к которому относятся значения, сохраняемые в них в данный момент. Для числовых данных Variant принимает характеристики числового типа Double, для строковых данных — характеристики типа String и т.д.

Благодаря такой гибкости переменные типа Variant очень удобны, поскольку избавляют программиста от необходимости использования конкретных типов данных. Нет необходимости думать о том, что именно будет храниться в той или иной переменной — достаточно просто всем им назначить тип Variant. Однако несмотря на все свои преимущества, этот тип данных предполагает использование большого объема памяти для хранения информации и требует значительных затрат времени при выполнении самых простых математических операций или операций сравнения.

75. Какой оператор определяет константу?

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

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

Но в VBA можно объявлять именованные константы, задавая в момент объявления значение константы и, возможно, ее тип. Вообще объявление константы во многом напоминает объявление переменной. Однако в этот момент задается значение, которое уже нельзя изменить. Рассмотрим синтаксис оператора Const:

[ Public ] Const имя константы [ As Тип ] = константное выражение

Вот пример определения как глобальной классической константы:

Public Const pi As Double = 3.141593

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

В языке предусмотрено множество встроенных констант, например, константы, связанные с приложениями Excel или Word, или константы самого VBA.

76. Объясните различие между локальными и глобальными переменными?

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

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

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

Глобальные переменные и константы объявляются в разделе Declarations, который есть у каждого модуля.

77. Назовите варианты описания статических массивов.

Массив – совокупность однотипных переменных с одним именем, каждая из которых называется элементом массива и имеет свой номер (индекс). Массив имеет размерность и длину (размер) по каждой размерности.

Размерность массива – это количество измерений или индексов. Массивы могут быть: одномерные (для нумерации элементов используется один индекс), двумерные (для нумерации элементов используются два индекса: номер строки, номер столбца) и N-мерные. Число измерений может достигать 60.

Массивы подразделяются на статические и динамические.

78. Опишите синтаксис статического массива с граничной парой

Статическим называется массив с заранее известным количеством элементов.

Синтаксис описания (объявления) статического массива:

Dim Имя массива ( верхняя граница ) As Тип

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

Исторически сложилось так, что в Бейсике нижняя граница была фиксирована и равна 0. Поэтому в VBA разрешено задавать нижнюю и верхнюю границу, причем и та и другая могут быть выражениями при одном ограничении - это должны быть константные выражения, не содержащие переменных.

Синтаксически каждое измерение в списке отделяется запятой и определяется заданием нижней и верхней границы изменения индексов.

Синтаксис описания (объявления) статического массива с граничными парами:

Dim Имя массива ( Нижняя граница To Верхняя граница ) As Тип

 

79. Что такое динамический массив, и в какой момент определяется его размерность (количество индексов и диапазон по индексу)?






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