Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MB6REFRU.pdf
Скачиваний:
10
Добавлен:
13.02.2015
Размер:
3.83 Mб
Скачать

Приложение В: Арифметические и географические операторы

Приложение В: Арифметические и географические операторы

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

Следующие арифметические операторы работают с числами и имееют численный результат.

Оператор

Действие

Пример

+

сложение

a + b

L

вычитание

a L b

*

умножение

a * b

/

деление

a / b

\

деление по модулю (без остатка)

a \ b

Mod

остаток деления по модулю

a Mod b

^

возведение в степень

a ^ b

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

Оператор

Действие

Пример

+

строковая конкатенация

a + b

&

строковая конкатенация

a & b

L

перемена знака числа

L a

Операторы сравнения L это операторы, сравнивающие два элемента одного типа с получением логического результата: TRUE or FALSE. Численные данные немогут сравниваться с нечисленными (например, с строкой), но сравнение возможно между величинами типов Integer, SmallInt и Float. Выражения с операторами сравнения часто используются в операторах, управляющих выполнением программы (например, в операторе If...Then).

Оператор

TRUE, если

Пример

=

сложение

a = b

<>

вычитание

a <> b

Справочник MapBasic

607

Приложение В: Арифметические и географические операторы

<

умножение

a < b

>

деление

a > b

<=

деление по модулю (без остатка)

a <= b

>=

остаток деления по модулю

a >= b

Логические операторы работают с логическими величинами и имеют в результате логическую величину: TRUE или FALSE:

Оператор

TRUE, если

Пример

And

обе величины TRUE

a And b

Or

хотя бы одна величина TRUE

a Or b

Not

отрицание

Not a

Географические операторы работают с объектными величинами и имеют в результате логическую величину: TRUE или FALSE:

Оператор

TRUE, если

Пример

Contains

если центроид объекта B лежит в

objectA Contains objectB

 

границах объектаA

 

Contains Part

если границы объекта B частично

objectA Contains Part objectB

 

лежат внутри границ объекта A

 

Contains Entire

если граница объекта B полностью

objectA Contains Entire

 

лежит внутри границ объекта A

objectB

Within

если центроид объекта А лежит в

objectA Within objectB

 

границах объекта B

 

Partly Within

если границы объекта А частично

objectA Partly Within objectB

 

лежат внутри границ объекта B

 

Entirely Within

если граница объекта А полностью

objectA Entirely Within

 

лежит внутри границ B

objectB

Intersects

если объекты имеют хотя бы одну

objectA Intersects objectB

 

общую точку

 

608

Справочник MapBasic

Приложение В: Арифметические и географические операторы

Приоритет

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

Например, выражение 3 + 4 * 2 имеет результат 11 (умножение вычисляется перед сложением). Выражение (3 + 4) * 2 имеет результат 14 (скобки повышают приоритет сложения над умножением).

Порядок приоритетов выполнения операторов MapBasic

(Высокий приоритет)

скобки

возведение в степень

перемена знака

умножение, деление, деление по модулю, остаток от деления по модую

сложение, вычитание

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

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

Not

And

Or

(Низкий приоритет)

Справочник MapBasic

609

Приложение В: Арифметические и географические операторы

Автоматическое преобразование типов

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

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

Оператор

Комбинации операторов

Тип результата

+

Величина типа Date + Число

Date

 

Число + Величина типа Date

Date

 

Величина типа Integer + Величина типа Integer

Integer

 

Число + число

 

 

ЧтоLто + ЧтоLто (все другие комбинации)

Float

 

 

String

 

Величина типа Date L Число

Date

 

Величина типа Date L Величина типа Date

Integer

 

Величина типа Integer L Величина типа Integer

 

 

Число L Число

Integer

 

 

Float

*

Величина типа Integer * Величина типа Integer

Integer

 

Число * Число

 

 

 

Float

/ (деление)

Число / Число

Float

\ (деление по

Число \ Число

Integer

модулю)

 

 

MOD

Число MOD Число

Integer

(остаток

 

 

деления по

 

 

модулю)

 

 

^ (степень)

Число ^ Число

Float

610

Справочник MapBasic

Приложение В: Арифметические и географические операторы

Приложение С: Техническая поддержка

Перевод программного пакета MapInfo/MapBasic Professional выполнен фирмой ЭСТИ МАП.

Все права на русскую версию MapInfo и MapBasic принадлежат фирме ЭСТИМАП, РФ, Москва, 121019, пер. Сивцев Вражек, 29/16, тел./факс (095) 2415732.

ESTI LM@.IBRAE.AC.RU

Техническая поддержка осуществляется специалистами ЭСТИ МАП и включает в себя следующее:

Консультирование пользователей MapInfo и MapBasic.

Информация о новейших разработках.

Сведения о новых версиях компонентов пакетов MapInfo и MapBasic.

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

Рассылка маркетинговой и технической информации.

Справочник MapBasic

611

Приложение В: Арифметические и географические операторы

612

Справочник MapBasic

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]