Логический тип данных. Символьный тип данных. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Логический тип данных. Символьный тип данных.



Логические значения -VBA-программа принимает то или иное "решение", основываясь на различных условиях. Любое условие может принимать два значения: True (Истина) или False (Ложь). Логические значения True и False называются булевскими значениями, а тип данных - Boolean.

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

 

Любые текстовые данные, сохраняемые в VBA, называются строками. Для их хранения предназначен тип данных String. Строка может содержать текстовые символы любых типов: буквы, цифры, знаки пунктуации, разделительные символы и пр.

Строки всегда заключаются в двойные кавычки.

Существует две категории строк: строки переменной длины и строки фиксированной длины. По умолчанию в VBA все строки переменной длины.

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

+string фиксированной длины - текстовая информация в интервале от 1 до 65400, резервируется память длиной в 1 строку; string переменной длины - текстовая информация в интервале от 0 до 2 млрд. символов, резервируется память длиной 10 байт + длина строки.

Ввод и вывод информации в VBA.

Оператор MsgBox осуществляет вывод информации в диалоговом окне и устанавливает режим ожидания нажатия кнопки пользователем.

Аргументы:

Сообщение - обязательный аргумент, задающий в окне выводимое информационное сообщение. Может состоять из нескольких текстовых строк, объединенных знаком &. Использование в этом аргументе Chr(13) приводит к переходу на новую строку при выводе информации.

Кнопки - значение этого аргумента определяет категории появляющихся в окне кнопок. От значения аргумента кнопки зависит также, появляется ли в окне какой-либо значок. Если не указано, какие кнопки необходимо отображать в окне сообщений, то используется значение по умолчанию, соответствующее кнопке ОК. В табл. 3.1 приведены возможные комбинации кнопок и значков в окне сообщений.

Заголовок - задает заголовок окна.

Функция MsgBox возвращает значение типа Integer, указывающее, какая кнопка была нажата в диалоговом окне.

Функция InputBox осуществляет ввод значений переменных с помощью окна ввода и имеет следующий

Аргументы:

Сообщение - обязательный аргумент. Задает в окне информационное сообщение, обычно поясняющее смысл вводимой величины

Заголовок - задает заголовок окна.

Если значение по умолчанию подходит пользователю, то после щелчка кнопки ОК окно ввода закроется, переменной N присвоится значение 10 и выполнение программы возобновится с оператора, стоящего непосредственно за вызовом InputBox.

Если же значение по умолчанию не подходит пользователю, то перед щелчком по кнопке ОК необходимо ввести нужное значение переменной N.

Синтаксис функции InputBox.

InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context])

Аргументы Prompt (единственный обязательный аргумент), Title, HelpFile, Context

Аргумент Default - строковое выражение, использующееся как значение по умолчанию для пользовательского ввода.

Аргументы XPos, YPos - любые численные выражения. Эти аргументы задают координаты вывода диалогового окна на экране монитора. XPos - горизонтальное расстояние от левого края окна. YPos - вертикальное расстояние от верхнего края окна. Оба расстояния измеряются в твипах (1 твип = 1/20 точки = 0,0007 дюйма). Следует быть внимательным при использовании этих аргументов, т.к. при их больших значениях диалоговое окно может "уехать" за пределы экрана монитора.

Синтаксис функции MsgBox.

MsgBox (Prompt [, Buttons] [, Title] [, HelpFile, Context])

Единственным обязательным аргументом является аргумент Prompt, который может быть любым строковым выражением и содержит информацию, которая выводится в диалоговом окне. Все остальные аргументы - необязательные.

Аргумент Title - строка для заголовка диалогового окна.

Аргумент HelpFile - строковое выражение, содержащее имя справочного файла Windows (который уже должен быть создан).

Аргумент Context - численное выражение, указывающее раздел в справочном файле, относящийся к отображаемому диалоговому окну.

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

 

Способы записи чисел в VBA.

Арифметические операторы.

Оператор присваивания (=)

Оператор присваивания используется для присваивания результата выражения переменной.

Операция присваивания имеет две синтаксические формы:

1 Let varname = expression

2 varname = expression; varname - любая переменная VBA, expression - любое выражение VBA

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

Оператор сложения (+)

Оператор сложения выполняет простое сложение. Оба операнда должны быть численными выражениями или строками, которые VBA может преобразовать в число. Оператор сложения можно также использовать для выполнения арифметических операций с данными типа Date.

 

 

Оператор умножения (*)

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

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

Оператор деления (/)

Оператор деления с плавающей точкой выполняет обычное арифметическое деление своих операндов.

В выражениях деления первый операнд делится на второй операнд - результатом деления является частное.

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

Если хотя бы один операнд в выражении деления имеет тип Null, то результат деления также будет Null.

Типом данных операции деления с плавающей точкой является Double, за исключением:

Оба операнда в выражении деления имеют тип Integer или Single - результат Single;

Если результат выражения не переполняет диапазон значений для типа Single.

Целочисленное деление (\)

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

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

Деление по модулю (Mod)

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

22 Mod 5 = 2

24 Mod 5 = 4

25 Mod 5 = 0

Остальные свойства деления по модулю идентичны целочисленному делению.

Возведение в степень (^)

Оператор возведения в степень возводит число в степень.

Оба оператора в выражении возведения в степень должны быть численными выражениями или строками, которые VBA может преобразовать в числа.

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

Результат выражения имеет тип Double.

Если хотя бы один операнд в выражении имеет тип Null, то результат возведения в степень также будет Null.

 

Логические операторы.

Логический оператор AND

Синтаксис: Операнд_1 AND Операнд_2

Оператор AND выполняет логическую конъюнкцию.

Результатом данной операции является значение True, только когда оба операнда имеют значение True, иначе - False.

Оператор AND можно использовать для нескольких операндов: (5<7) AND (4>3) AND (5=6) результатом будет False

Логический оператор OR

Синтаксис: Операнд_1 OR Операнд_2

Оператор OR выполняет логическую дизъюнкцию.

Результатом данной операции является значение True, если хотя бы один из операндов имеет значение True, иначе - False.

Оператор OR можно использовать для нескольких операндов:(5<7) OR (4>3) OR (5=6) результатом будет True

Логический оператор NOT

Синтаксис:NOT Операнд

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

Операторы AND OR NOT можно комбинировать: ((5<7) AND (4>3)) OR NOT (5=6) результатом будет True

Логический оператор XOR

Синтаксис:Операнд_1 XOR Операнд_2

Оператор XOR выполняет логическое исключение.

Результатом данной операции является значение True, если операнды имеют разные значения, иначе - False.

((5<7) AND (4>3)) OR NOT (5=6) XOR (5=5) результатом будет False

Логический оператор EQV

Синтаксис:Операнд_1 EQV Операнд_2

Оператор EQV - это оператор логической эквивалентности.

Результатом данной операции является значение True, если операнды имеют одинаковые значения, иначе - False.

((5<7) AND (4>3)) OR NOT (5=6) EQV (5=5) результатом будет True

Логический оператор IMP

Синтаксис: Операнд_1 IMP Операнд_2

Оператор IMP выполняет логическую операцию импликации.

((5<7) AND (4>3)) OR NOT (5=6) IMP (5=5) результатом будет True

 

Оператор условия. Синтаксис и семантика. Привести пример на VBA.

IF < условие > THEN < оператор (код) >

Позволяет выполнить один или несколько операторов, если условие истинно. Можно использовать однострочный или блочный вариант. Если необходимо выполнить более одной строки кода, нужно использовать блочный вариант с оператором End IF

Синтаксис: IF < условие > Then < оператор (код) >

IF < условие > Then

< блок кода >

End IF

IF <условие> THEN <оператор 1> ELSE <оператор 2> End IF

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

В блоке IF допускается любое количество предложений ElseIF, но ни одно не может находиться после предложения Else.

 

Оператор выбора. Синтаксис и семантика. Select case.

При выборе для выполнения одного из нескольких операторов (блоков операторов) целесообразно и удобно использовать инструкцию Select Case.

Синтаксис: Select Case <переменная или выражение>

Case <значение 1>

<оператор (блок операторов) 1>

Case <значение 2>

<оператор (блок операторов) 2>

Case <значение 3>

<оператор (блок операторов) 3>

End Select

Операторы цикла. Оператор цикла с предусловием. Привести пример на VBA.

Операторы цикла. Оператор цикла с постусловием.

Существует также цикл с постусловием, когда сначала выполняется тело цикла, а после проверяется условие продолжения цикла. Этот цикл в любом случае выполниться ХОТЯ БЫ ОДИН РАЗ.

Синтаксис: Do

операторы

[Exit Do]

операторы

Loop While (Until) условие

Циклы. Синтаксис for…next. Привести пример на VBA.

Синтаксис

For counter = Start To End [Step StepSize]

Statements

Next [counter]

Counter - любая численная переменная VBA

Start - любое численное выражение, определяет начальное значение для переменной counter

End - численное выражение, определяет конечное значение для переменной counter

Statements - один, несколько или ни одного оператора VBA (тело цикла).

 

По умолчанию VBA увеличивает переменную counter на 1 каждый раз при выполнении операторов в цикле. Можно задать другое значение (SterSize - любое численное выражение), на которое будет изменяться counter.

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

Циклы. Синтаксис Do …loop.

Цикл Do...Loop, уточняемый оператором While, выполняется до тех пор, пока верно условие, задаваемое в цикле. Если же конструкция цикла уточняется оператором Until, то цикл выполняется до тех пор, пока заданное условие ложно.

Синтаксис: Do While (Until) условие

операторы

[Exit Do]

операторы

Loop

 

Данный тип цикла называется циклом с предусловием, т.к. сначала проверяется условие, а после, если оно верно (ложно), выполняются операторы. Этот цикл может и не выполниться ни одного раза, если условие ложно (верно) при первой же проверке.

 

Операторы цикла. Оператор цикла с параметром (FOR). Графическая и программная формы записи.



Поделиться:


Последнее изменение этой страницы: 2016-04-21; просмотров: 513; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

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