Программирование >>  Проектирование интерфейса пользователя 

1 ... 14 15 16 [ 17 ] 18 19 20 ... 153


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

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

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

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

Классификация операторов по числу операндов

Операторы, применяемые в языках программирования, можно разделить на три группы в зависимости от числа используемых ими операндов: унарные, бинарные и тернарные. Унарные операторы обращаются с одним, правосторонним, операндом. Бинарные операторы имеют дело с двумя операндами, левым и правым. Тернарные

операторы взаимодействуют с тремя аргументами. Единственный известный мне тер-

парный оператор - это конструкпия из служебных символов ? и : , используемая в языках С и C++. Поскольку в Access VBA тернарные операторы не реализованы, нам более не стоит о них говорить.

В Access VBA поддерживаются только два унарных оператора - Not и AddressOf. Оба они предполагают использование правосторонних аргументов. Все другие операторы VBA бинарные. Это означает, что их синтаксис можно описать следующим образом: ЛевыйОперанд БинарныйОператор ПравыйОперанд

Подставьте вместо аргументов ЛевыйОперанд и ПравыйОперанд выражения, а вместо словосочетания БинарныйОператор - любой реальный бинарный оператор

(естественно, следуя определенным правилам и ограничениям) - вы получите простое уравнение с одним оператором.

Аналогичным образом можно представить синтаксис унарного оператора: УнарныйОператор ПравыйОперанд

Чтобы получить уравнение с унарным оператором, достаточно заменить словосочетание УнарныйОператор одним из допустимых операторов - Not или AddressOf, а в качестве правого операнда указать соответствующее

выражение. Оператор Not мы рассмотрим более подробно в разделе

Логические операторы в истинном свете , а примеры использования оператора AddressOf приводятся в разделе Специальные операторы .



Применение арифметических операторов

Говоря об арифметических операторах, я имею в виду те же самые средства выполнения арифметических действий, которые предоставлены любым калькулятором. Все мы начинали знакомиться с ними еще в начальной школе. (А ну-ка, вспомните, как звали вашу первую учительницу математики!) Все арифметические операторы относятся к разряду бинарных. Не будем тратить время на дополнительные разъяснения - они излишни. На мой взгляд, достаточно привести сведения о символах, посредством которых обозначаются арифметические операторы, и особо отметить те из

них, которые используются относительно редко. В табл. 4.1 представлены обозначения, наименования и описания всех арифметических операторов языка VBA.

Таблице 1. Арифметические операторы

Символ

Наименование

Описание

Возведение в степень Умножение

Вещественное деление

Целочисленное деление

Взятие остатка

Сложение Вычитание

Формате Y. Результат - X, возведенное в степень, равную Y

Формат: X * Y. Результат - произведение X и Y

Формат: X / Y. Результат - вещественное частное от деления X на Y

Формат: X \ Y. Результат - целое частное от деления X на Y

Формат: X Mod Y. Результат - остаток от целочисленного деления X на Y (например, 5 Mod 3 = 2)

Формат: X + Y. Результат - сумма X и Y

Формат: X - Y. Результат - разность X и Y

Символ прямой косой черты (/) - это обозначение оператора вещественного деления. В качестве левого и правого операндов могут использоваться любые числа, и в результате деления вы получите вещественное число. Например, 5 / 3 = 1.666. Но если в том же выражении употребить символ обратной косой черты (\), то 5 \ 3 =1. Применяйте тот оператор деления, который отвечает условиям конкретной задачи.

Вам наверняка знаком и оператор возведения в степень (- ), хотя его нельзя причислить к тем, которыми приходится пользоваться ежедневно. Наиболее часто выполняются операции возведения числа в квадрат и куб. Оператор возведения в произвольную степень находит применение в приложениях, связанных с решением научно-технических задач.

Последний из группы наиболее экзотических операторов - это оператор взятия остатка (деления по модулю) (Mod), который используется для определения признака целочисленной делимости одной величины на другую и лежит в основе целого раздела математики - теории колец. Чтобы определить, делится ли без остатка одно число на другое, необходимо проверить выполнение тождества X Mod Y = 0.

Операторы сравнения

Операторы сравнения позволяют проверить, каким образом соотносятся значения левого и правого операндов. Результат сравнения - это булева величина, принимающая одно из двух значений - True (истина) или False (ложь). В табл. 4.2 приведены



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

правый операнды выражения).

Таблица 4.2. Операторы сравнения

Обозначение и описание

True

False

Null

< (Меньше)

Левый < Правый

Левый >= Правый

Левый или Правый =

Null

<= (Меньше или равно)

Левый <= Правый

Левый > Правый

Левый или Правый =

Null

> (Больше)

Левый > Правый

Левый Правый

Левый или Правый =

Null

>= (Больше или

равно)

Левый >= Правый

Левый < Правый

Левый или Правый -

Null

= (Равно)

Левый = Правый

Левый О Правый

Левый или Правый =

Null

О (Не равно)

Левый <> Правый

Левый = Правый

Левый или Правый =

Null

Если читать выражение оператора сравнения слева направо, указывая вначале левый операнд, название оператора, а затем правый операнд, то результат становится очевидным. Рассмотрим следующий пример: 5 > 6

Строка этого кода читается так: Пять больше шести . Число 5, разумеется, не больше числа 6; поэтому результат сравнения равен False. Если вам трудно запомнить названия операторов сравнения, сделайте шпаргалку и прицепите ее к монитору компьютера. Еще один хороший прием запоминания таков: воспринимайте символы < и > как стрелки и следуйте правилу - чтобы результат оказался истинным, стрелка своей вершиной должна указывать на меньшую из двух сопоставляемых величин. Листинг 4.4 содержит несколько примеров, иллюстрирующих применение операторов сравнения литеральных выражений. Далее приводится анализ каждого примера.

Листинг 4.4. Примеры операторов сравнения

1: Sub TestComparisonOperators(

2: Dim Result As Doolean

5 6:

Result Result Result Result

Result Result

(6 > 5) (6 >= 5)

( Hello < World ) ( Hello <= World )

(True = False) (False <> False)

9 : End Sub

В строке 2 объявляется булева переменная Result - далее она будет использоваться для хранения результатов выполнения всех операций сравнения. (Вообще, операторы сравнения чаше применяются в логических выражениях. Более подробные сведения по этой теме приведены в главе 5-й час. Программирование управляющих структур .) В строке 3 и всех остальных скобки использованы только для удобочитаемости; формально они не обязательны, но существенно проясняют смысл выражений. В результате выполнения строки 3 переменной Result будет присвоено значение True, поскольку число 6 действительно больше, чем 5. Строка 4 оставляет значение



1 ... 14 15 16 [ 17 ] 18 19 20 ... 153

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика