ТОП 10:

Лабораторное занятие № 11 (1 час)



Тема: «Основные элементы языка программирования Visual Basic for Application (VBA)»

 

Цель занятия: ознакомиться с алфавитом и лексемами языка, рассмотреть элементы языка VBA

Задание:

1. Изучить основы синтаксиса и семантики языка программирования VBA

2. Рассмотреть алфавит, лексемы языка, переменные, константы, присваивание, типы данных

3. Привести примеры

4. Составить отчет

 

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

Программа, написанная на любом языке программирования, представляет собой некий набор инструкций (команд), описывающий процесс выполнения алгоритма решения задачи.

Команду можно пометить номером (целым числом: 10, 20, 35 и т.п.) или меткой. Метка – это произвольное обозначение, которое начинается с латинской буквы и заканчивается двоеточием, например: а1:, ВС400:, vivod: - и т.п. С помощью номера или метки можно ссылаться на помеченную команду в других командах. В среде VBA все строки (как в старых версиях) нумеровать необязательно.

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

А = 5 : В$ = «Символ Т» : rm = 1+exp(5.2)

Любую команду в программе можно снабдить поясняющим текстом – комментарием, который можно записать двумя способами:

1) С помощью оператора REM:

REM произвольный_текст

2) С помощью апострофа’:

’ произвольный_текст

VBA при исполнении программы игнорирует комментарии.

Алфавит (набор символов) языка VBA включает:

- все латинские прописные и строчные буквы;

- арабские цифры (0-9);

- служебные знаки.

Служебные знаки используются в качестве знаков операций (+,-,*,:,= и т.д.), специальных символов (. , : ; ?) и суффиксов.

Данные можно представлять переменными и константами.

Переменная– это величина, которая в процессе выполнения программы может менять свое значение.

Имя переменной – это произвольный набор символов, который может содержать от 1 до 40 символов, причем первый символ должен быть латинской буквой, а остальные – латинскими буквами или цифрами.

Константа(числовая или символьная) – это величина, которая не меняет своего значения в ходе программы. Значения констант записываются явно – числом или строкой символов, или с помощью специального оператора, например:

a% = 1.2 : z$ = “Москва – Париж” или CONST P3 = 60, n% = 12

CONST имя_ константы = значение

Необходимо помнить, что значения символьных констант заключаются в кавычки.

В Visual Basic переменные хранят информацию. При их использовании Visual Basic резервирует область памяти в компьютере. Имена переменных могут достигать 255 символов в длину. Начинаются они с буквы, за которой могут следовать другие буквы, цифры или символы подчёркивания. Регистр символов значения не имеет. В качестве имён новых переменных нельзя использовать зарезервированные слова. Например: Print. Однако такие слова могут присутствовать как часть имени переменной, например PrintIt.

Visual Basic работает с 14-стандартными типами переменных, кроме того программист может определить собственный тип данных. Основными из них являются:

String - строковые переменные хранят символы. Один из способов обозначить данный тип переменной состоит в добавлении символа «$» к концу его имени. Например - АВС$. Такая переменная может содержать до 2 млрд. символов.

Integer - целочисленные переменные могут хранить только относительно небольшие целые числа в диапазоне от – 32768 до + 32767. Для обозначения такого типа используется символ «%».

Например: А%=5.

Long Integer - в таких переменных хранятся целые значения от – 2,15* 109 до +2,15* 109. Обозначается символом «&». Например: В&=1234567

Single Precision- идентификатор для данных чисел является символ «!». Данный тип позволяет хранить дробные числа с точностью до 7 знаков. Это означает, что если получается результат «12345678.97» то часть «8.97» не является точной. Результат может быть равен, к примеру «12345670.01».

Действия выполняются медленнее, чем с целочисленными переменными. Диапазон от -3,4*1038 до -1,4*10-45 для отрицательных чисел и от 1,4*10 –45 до 3,4*1038 для положительных.

Double Precision- переменные такого типа позволяют хранить числа с точностью до 16 цифр и длинной до 300 символов. Идентификатором является символ «#». Скорость вычисления с ними относительно не большая.

Currency - он создан для того чтобы избежать ошибок при преобразовании десятичных чисел в двоичную систему и наоборот. Данный тип может иметь до 4 цифр после запятой и до 15 перед ней. Внутри данного диапазона вычисления будут точными. Идентификатор представляет собой «@».

Date- этот тип данных позволяет хранить значение времени и даты в промежутке от полуночи 1 января 100 года до полуночи 31 декабря 9999 года. Такие значения в тексте программы обозначаются символами «#».

Например - Millenium = # January 1, 2001#

Byte - этот тип предназначен для хранения целых чисел от 0 до 255. Его использование позволяет сильно экономить оперативную память (1 байт) и уменьшить размер массивов.

Boolean - булев тип данных может хранить только два значения: True либо False.

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

Большинство людей предпочитают не использовать идентификаторы для обозначения переменных. Вместо этого они используют оператор Dim, та­кая операция носит название - объявления. Например:

Dim A As Integer

Объявления переменных можно комбинировать в одной строке.

Dim A As Integer, Name As Integer

Общей ошибкой является использование следующего выражения:

Dim X, Y, Z As Integer

В предположение того, все переменные будут целочисленные. Фактически X и Y будут объявлены как Variant и только Z как Integer. Чтобы избежать этого, необходимо каждый раз использовать идентификатор типа. При при­своении переменной типа Variant, можно использовать оператор - Dim без приставки - AS. Например:

Dim FOO

Одной из наиболее общих ошибок в программе является использова­ние необъявленных переменных. Проблема состоит в том, что Visual Basic позволяет создать переменную, как только она один раз встречается в программе. Если перепутать имя переменной Visual Basic создает новую с похожим именем и при­сваивает ей значение по умолчанию, что тут же приводит к ошибке. Эту ошибку трудно обнаружить, поскольку имена переменных очень похожи.

Простей­ший способ избежать подобной ошибки состоит в принудительном объяв­лении всех переменных. Visual Basic при ошибке в имени выдаёт сообщение. В Visual Basic предусмотрена такая возможность, но по умолчанию она не используется. Оператор, необходимый для этого называется Option Explicit.

Для общей проверки переменных в программе необходимо оператор Option Explicit разместить в раздел General.

Для того чтобы разместить дан­ный оператор в разделе General необходимо:

1) Открыть окно Code

2) Выбрать объект General из списка объектов в окне Object

3) Выбрать Declaration из списка Procedure

4) Ввести Option Explicit.

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

Кроме того, Visual Basic позво­ляет объявить переменные, которые будут доступны для всех процедур формы. Такие переменные называют глобальными переменными уровня формы, как и оператор Option Explicit - объявление переменных уровня формы происходит в разделе Declaration

Задания для самостоятельной работы

Подготовить вопросы для команды-соперника







Последнее изменение этой страницы: 2017-02-10; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.238.62.144 (0.006 с.)