Категория:Переменные и выражения

Материал из K3-Macro
(перенаправлено с «Defarrays»)
Макро | Переменные и выражения | Присваивание значений переменной | Оператор условный | Оператор перехода | Оператор вызова подпрограммы | Оператор выхода в вызывающую макропрограмму | Оператор выхода в интерактивный режим | Оператор вызова макропрограммы | Оператор получения параметров в макропрограмме | Обработка ошибок | Команды системы

Для осуществления вычислений в макропрограммах можно использовать переменные, массивы и выражения. Синтаксис выражений системы K3, в общем, соответствует синтаксису языка С. В выражениях можно использовать переменные и массивы только с ранее присвоенным значением. Выражения могут содержать обращения к функциям системы K3. Описание функций приведено ниже в данной инструкции.

Eksklamacia.png Внутри выражения и переменной не допускается использование символа «Пробел»

Переменные и выражения в системе K3 могут принимать значения следующих типов:

  • Целый
  • Действительный
  • Логический
  • Строковый
  • Объектный

Переменные не требуют дополнительного описания. Их тип определяется типом присвоенного выражения.

Максимальная длина имени переменной - 12 символов. Переменные иногда называют "калькуляторными переменными".

Целые и действительные переменные содержат числа соответствующих типов.

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

< (меньше),
<= (меньше или равно),
> (больше),
>= (больше или равно),
== (равно),
!= (не равно),
&& (логическое "и"),
|| (логическое "или").

Строковая переменная может содержать текстовую строку. Над этими переменными определены операции

  • + (сложение);
  • - (вычитание, обрезка конца строки);
  • * (умножение, дублирование строки несколько раз).

Переменная объектного типа содержит ссылку на геометрический объект. Такая переменная может быть использована для указания объектов в командах и функциях системы.

Массивы должны быть описаны командой:

defarrays <Name1[N1]>, <Name2[N2,N3]>, ..., <NameN[NN]>

где <Name1>, <Name2>, ..., <NameN> — имена массивов, N1, N2, N3, N4 – их размерности.

При этом массивы <Name1> и <NameN> — одномерные, а массив <Name2> — двумерный. Элементы одного массива могут быть разных типов.

Существуют следующие ограничения на использование массивов:

  • значение размерности лежит в диапазоне от 1 до 32767
  • количество элементов в одном массиве лежит в диапазоне от 1 до 65534

Переменные и массивы в макропрограммах могут быть локальными и глобальными. Локальные не требуют дополнительного описания, однако их можно использовать только в пределах данной макропрограммы. Глобальные переменные и массивы могут быть использованы еще и в других макропрограммах, и непосредственно при работе в диалоговом режиме. Глобальные переменные и массивы необходимо описать оператором global. Например:

global x, y, z;
global d;
defarrays d[20];

Макро | Переменные и выражения | Присваивание значений переменной | Оператор условный | Оператор перехода | Оператор вызова подпрограммы | Оператор выхода в вызывающую макропрограмму | Оператор выхода в интерактивный режим | Оператор вызова макропрограммы | Оператор получения параметров в макропрограмме | Обработка ошибок | Команды системы