Билет 2
. Объявление переменных и констант
Если переменная применяется в проекте, она должна быть объявлена. Существуют следующие уровни объявления переменных и констант:
уровень процедуры (функции). Имя, объявленное в процедуре, действует только внутри этой процедуры и не действует вне этой процедуры;
уровень формы. Имя, объявленное в главной секции формы, действует во всех процедурах этой формы, но не действует в других формах и модулях;
уровень проекта. Имя, объявленное в главной секции модуля с предваряющим словом Public (Общий), действует во всех формах и модулях проекта.
Надо иметь в виду, если при объявлении переменной тип явно не указан, то будет назначен тип Variant. Такой способ объявления называется объявлением по умолчанию.
При объявлении константы необходимо задать ее имя, тип, область действия и значение.
Синтаксис объявления константы:
[Public/Private] Const ИмяКонстанты [As Тип] = Значение
В подобных определениях синтаксиса прямоугольные скобки [ ] означают, что конструкция, находящаяся внутри этих скобок, не обязательна. Символ (/) означает, что должно быть выбрано одно из слов, между которыми он поставлен. Сами же символы ([), (]), (/) в текст объявления не включаются.
Приведенное определение синтаксиса означает, что объявление константы начинается с обязательного слова Const (Константа). Перед Const может стоять одно из слов: Private (Локальный) или Public (Общий), задающих область действия константы. Затем следует имя константы. После имени может стоять слово As и наименование типа. Затем следует знак равенства и значение константы.
В определении подчеркнуто наименование той области действия, которая может быть задана по умолчанию.
В следующем примере в главной секции модуля описывается глобальная константа Age целого типа, и ей присваивается значение 54.
Public Const Age As Integer = 54
Допускается также описание нескольких констант в одной строке. В этом случае, чтобы задать тип данных, надо указать название типа для каждой константы.
В следующем примере описываются локальные константы Ag и Wg как Single.
Const Ag As Single = 3.14, Wg As Single = 2.78
Синтаксис объявления переменной:
Static/Public/Private/Dim ИмяПеременной [As Тип]
Зарезервированное слово Dim (Размерность) при объявлении переменных применяется чаще всего.
Статические переменные, описанные на уровне процедуры со словом Static вместо слова Dim, сохраняют свои значения даже после выхода из процедуры при повторном входе в эту процедуру.
Вот пример объявления переменной типа строки символов:
Dim strName As String
Если не указать тип переменной, ей будет присвоен тип Variant. При этом следует учитывать, что переменные типа Variant занимают больше места в памяти и обращение к ним происходит медленнее.
В одной строке можно объявить несколько переменных, но при этом следует для каждой указывать имя типа:
Dim a As Integer, b As Integer, c As Long
Dim e As Integer, f, g
В первой строке объявлены две переменные типа Integer и одна переменная типа Long. Во второй строке – одна переменная типа Integer, а две другие – типа Variant по умолчанию.
При объявлении переменная не получает значения, ей только отводится память, а ее значение не определено.
Можно вообще не объявлять переменные. Однако такая практика является источником ошибок, и ее надо избегать. Чтобы VB расценивал любую необъявленную переменную формы или модуля как ошибочную, в главной секции формы или модуля первой должна следововать инструкция Option Explicit. Эта инструкция налагает требование явного описания всех переменных этой формы или модуля. Если форма содержит инструкцию Option Explicit, при попытке использования неописанного или неверно введенного имени переменной при запуске проекта возникает сообщение о ошибке.
Можно так настроить среду VB, что инструкция Option Explicit будет автоматически помещаться системой VB в главной секции создаваемой формы или модуля. Для этого надо выполнить команды меню Tools (Инструменты), затем Options (Свойства), затем на вкладке Editor (Редактор) установить флажок в окошке Require Variable Declaration (требовать объявления переменных) и, наконец, щелкнуть на кнопке ОК. Но это следует сделать до создания формы или модуля.
Область действия (scope) переменной — это фрагмент программы, в котором возможно обращение к данной переменной. Для переменной PL/SQL это фрагмент с момента ее объявления до конца блока. Когда
п
еременная
выходит из своей области действия,
PL/SQL освобождает память, используемую
для хранения переменной, и ссылки на
нее становятся невозможны. На рис.
3.2 показано, что областью действия
переменной v_Characteг является только
внутренний блок; после ключевого слова
END внутреннего блока она становится
недоступной. Область действия переменной
v_Nunber распространяется до ключевого
слова END внешнего блока. Внутренний блок
является областью действия обеих
переменных.
Р
ис.
3.2. Область действия переменных
Область видимости (visibility) переменной — это фрагмент программы, в котором возможно обращение к этой переменной без использования ее квалифицированного имени. Область видимости всегда лежит в области действия; если переменная находится вне области своего действия, она невидима. Рассмотрим рис. 3.3. В точке 1 переменные v_AvailableFlag и v_SSN находятся в границах своих областей действия и видимы. В точке 2 обе эти переменные находятся в пределах своих областей действия, но видима только переменная. При объявлении переменной
v_SSN типа CHAR(ll) объявление NUMBER(9) становится скрытым. В этой точке все четыре переменные находятся в границах своих областей действия, но видимы только три: v_AvailableFlag, v_StartDate и v_SSN CHAR(ll). В точке 3 переменные v_StartOate и v_SSN CHAR(ll) находятся вне пределов своих областей действия и поэтому больше не видимы. Здесь действуют и видимы те же переменные, что и в точке 1: v_AvailableFlag и v_SSN NUMBER(9).
Оператор Option Explicit используется на модульном уровне для обязательного явного объявления всех переменных в модуле. Оператор имеет простой синтаксис. Он состоит только из ключевых слов Option Explicit. Оператор Option Explicit должен располагаться в модуле до объявления процедур. При использовании этого оператора, необходимо явно объявлять все переменные с помощью операторов Dim, Private, Public или Static. Если этого не сделать, то возникнет ошибка временной компиляции. Если оператор Option Explicit не используется, все не объявленные переменные, имеют тип Variant.
Запуск редактора VBA
Как и любые среды программирования, редактор VBA необходимо сначала запустить. Для запуска можно использовать два способа:
1) активизировать любое приложение пакета MS Office (Word, Excel);
2) выполнить команду меню: Сервис + Макрос + Редактор Visual Basic.
Или:
1) активизировать любое приложение пакета MS Office (Word, Excel);
2) нажать комбинацию клавиш Alt+F11.
И в том, и в другом случае откроется редактор VBA (рис. 1).
В левой части окна редактора появляется строение разрабатываемого проекта (аналог с Проводником). Необходимо обратить внимание на два главных объекта окна: Normal и Project (Операции).
Неявное объявление переменных (implicit variable declaration)
Использование переменной в операторе VBAП является простейшим способом создания этой переменной. Такое создание переменной называется неявным объявлением переменной. Использование переменной в операторе, неявно указывает (объявляет) VBA о создании этой переменной. Когда переменная впервые появляется в операторе, VBA создает переменную, при этом для нее резервируется область памяти. Переменные, созданные неявным объявлением, всегда имеют тип данных Variant. Не смотря на удобство, неявное объявление переменных имеет определенные недостатки. Напрмер, вы можете дважды неявно объявить одну и ту же переменную, думая, что объявляете новую и при этом потерять ранее сохраненное значение. При неявном объявлении переменных могут возникать и другие проблемы, которые впоследствии очень трудно обнаружить. Кроме того, при таком объявлении замедляется скорость выполнения программного кода. Билет 3
Понятие оператора
Одним из ключевых понятий любого языка программирования является понятие "оператор". Без овладения этим понятием в полной мере написание программ не представляется возможным. От того, насколько быстро и правильно программист усвоит, что такое операторы и как они применяются в программе, зависит, как скоро он начнёт писать программы.
Оператор - это составная часть программы, фраза алгоритмического языка, предписывающая определённый порядок преобразования информации.
Любая программа содержит операторы. Наиболее близкой аналогией оператору является предложение. Операторы образуют программу так же, как обычные предложения образуют текст рассказа или повести.
Свойства операторов
два вида - общeе и собственные.
Все операторы имеют одно общее свойство - они исполняются.
- Алгоритмический оператор – функция, вычисляемая алгоритмом
обработки данных при соблюдении ряда условий, принятых в теории
алгоритмов. Используется как модель информационно-функциональных
свойств АОД.Под алгоритмом обработки данных (АОД) понимается любая
формальная процедура обработки словарной информации из заданного
описания предметной области.Функциональные операторы используются для ограничения значений, которые могут принимать множество переменных.
