русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Объявление переменных


Дата добавления: 2015-07-23; просмотров: 599; Нарушение авторских прав


Теперь, когда вы знакомы с типами данных, которые могут принимать переменные, можно приступать к созданию переменных. Для этого используется оператор Dim. Создание переменной называется объявлением переменной (declaring variable).

Оператор Dim имеет следующий синтаксис:

Dim имяпеременной As типданных

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

Имя переменной должно начинаться с буквы и может содержать буквы, цифры и другие символы. Имя не может содержать пробелы, точки, запятые, восклицательные знаки (!) и символы @, &, $, #. Имя должно состоять не более чем из 255 символов.

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

  1. Создайте новую процедуру под именем ЗнаюВашеИмя.
  2. Введите код процедуры

Dim sName As String

sName = InputBox(“Введите ваше имя: “)

MsgBox “Привет, “ & sName

Полный код процедуры должен иметь следующий вид

Public Sub ЗнаюВашеИмя()

Dim sName As String

sName = InputBox(“Введите ваше имя: “)

MsgBox “Привет, “ & sName

End Sub

Отступы и пустые строки в тексте процедуры не обязательны, но желательны, так как облегчают чтение кода.

  1. Нажмите клавишу <F5> для выполнения процедуры. На экране появится окно ввода (рис. 4.7).
  2. Введите свое имя и нажмите клавишу <Enter>. Окно ввода закроется, и появится окно сообщения, содержащее ваше имя (рис. 4.8).
  3. Щелкните на кнопке ОК. Вы вернетесь в редактор Visual Basic.

Рис. 4.7. Теперь переменная сохранит введенное имя

Рис. 4.8. Окно сообщения использует значение переменной, содержащей ваше имя



Вы не обязаны указывать тип данных в операторе Dim. Если не указан тип данных, то по умолчанию VBA применит тип Variant. Обычная реакция на такое сообщение: "Здорово! Пусть VBA делает всю работу - я могу не беспокоиться о типе данных". Большое заблуждение! Вы должны определять типы данных. И для этого существует много причин. Первая очевидная причина заключается в расточительстве ресурсов памяти данными типа Variant. Ни один тип данных не требует 16 или 22 байт для сохранения значений переменной - убедитесь в этом, просмотрев табл. 4.1. Другая, не совсем очевидная, но не менее важная, причина состоит в том, что VBA по-разному обрабатывает данные разных типов. Поэтому, не объявляя тип данных, вы можете получить результат, отличающийся от ожидаемого. Кроме того, в добавок к сказанному, время выполнения процедур VBA также зависит от объявленных (или необъявленных) типов данных. В качестве значимости объявления типов данных я часто привожу своим студентам следующий наглядный пример.

  1. Создайте новую процедуру с названием ПримерПеременных.
  2. Введите следующий код процедуры:

Dim StartTime

Dim EndTime

Dim i

Dim j

StartTime = Now()

For i = 1 To 5000000

j = i + 1

Next i

EndTime = Now()

MsgBox “Начало выполнения: “ & StartTime & _

vbNewLine & "Конец выполнения: “ & EndTime

Так как для переменных не объявлен тип данных, то все они по умолчанию имеют тип Variant.

  1. Нажмите клавишу <F5> для выполнения процедуры. Выполнение этой процедуры займет несколько секунд. На моем компьютере эта процедура выполнялась не менее 4 секунд. Возможно, ваш компьютер более быстрый, чем мой, и выполнение процедуры занимает менее 4 секунд, в этом случае замените число 5000000 на 10000000. Запомните длительность выполнения процедуры.
  2. Щелкните на кнопке ОК, чтобы закрыть окно сообщения.
  3. Измените код процедуры следующим образом:

Dim StartTime As Date

Dim EndTime As Date

Dim i As Long

Dim j As Long

StartTime = Now()

For i = 1 To 5000000

j = i + 1

Next i

EndTime = Now()

MsgBox “Начало выполнения: “ & StartTime & _

vbNewLine & “Конец выполнения: “ & EndTime

  1. Снова нажмите клавишу <F5> для выполнения процедуры. Сравните время выполнения процедуры теперь и ранее - оно уменьшилось по крайней мере в два раза.
  2. Щелкните на кнопке ОК, чтобы закрыть окно сообщения.


<== предыдущая лекция | следующая лекция ==>
Типы данных | Массивы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.