ПрагмаСофтСтудия 2.1

Формулы, как отдельные элементы

 

 

Общая информация

Формула в виде отдельного элемента дерева - это случай, в котором формулы создаются в наиболее привычном для нас виде. Они имеют правую и левую часть со знаком '=' между ними. Правая часть - это источник, её значение после вычисления будет присвоено левой части. Она в свою очередь должна состоять из имени выходной или локальной переменной с указанием или без указания индекса.

x = a + 2*b

Как было сказано в статье Правила написания формул, индекс - это целое значение, которое отсчитывается от 0 и заключается в квадратные скобки.

x[1] = a + 2*b

Значение индекса не должно превышать размерность переменной. Т.е., если переменная имеет размерность 1, иначе говоря, состоит только из одной ячейки памяти, то индекс может иметь только значение 0, или его можно вообще не указывать. Но, если переменная имеет размерность больше единицы, например, 5, т.е. образована пятью ячейками памяти, то указание индекса переменной обязательно, и он может принимать значения 0,1,2,3,4. Значение индекса меньше нуля, а также равного или большего размерности переменной считается ошибкой.

В процессе создания проекта и тестовых сценариев необходимо периодически проводить их тестирование. Вы можете делать это вручную в любой момент времени. Для проверки корректности проекта выберите опцию меню {Рабочее пространствоПроверка проекта (Ctrl+T)} или, как указано в круглых скобках, нажмите клавишу Ctrl вместе с заглавной латинской буквой T. Для проверки тестовых сценариев предназначена опция меню {Рабочее пространствоПроверка сценариев (Ctrl+H)} или с помощью одновременного нажатия клавиш Ctrl и H.

Но лучшего результата можно достичь периодически запуская процесс моделирования {МоделированиеСтарт (Ctrl+F5)}. Во-первых, при его запуске автоматически выполняется проверка проекта и тестовых сценариев. Во-вторых, процесс моделирования - это дополнительная проверка, проверяется уже не просто синтаксис выражений, а их реальная работа. Любое недопустимое значение при вычислении, например, некорректный индекс переменной, тут же приводит к остановке с уведомлением пользователя об ошибке.

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

x[ lg(10) + FuncCalc() ] = a + 2*b

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

x[ lg(10) + FuncCalc() ] = a[ max(0,c) ] + 2*b[3]

Применение в левой части формулы входной переменной в качестве переменной, куда будет помещён результат вычисления, не допустимо. Это связано с предназначением входных переменных и, как следствие, запретом записи в них значений. Они предназначены исключительно для введения в процесс моделирования на каждом его цикле всё новых и новых исходных данных. Источник такого рода не должен кем-либо меняться в проекте.

 

Создание

Давайте попробуем создать формулу. Данный вид формул создаётся в деревьях окон Прорисовка и Функции, и происходит это примерно одинаковым образом. Разница лишь в том, что для окна Функции формула должна создаваться в приделах элемента функции. Иначе говоря, она должна быть потомком элемента с пиктограммой или . Загрузите проект или создайте новый. В окне Прорисовка на каком-либо элементе нажмите правую клавишу мыши, появится контекстное меню.

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

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

В окне в поля редактирования введите левую и правую часть формулы. Нажатие на кнопку OK внизу окна заканчивает создание формулы. После его закрытия в дереве рабочего окна в конце родительской ветви появится новый элемент. Внутри группы это могло бы выглядеть примерно так.

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

 

Поля свойств

Формула в виде отдельного элемента дерева имеет 4 свойства. Они отображаются в окне Свойства, как отдельные строки, и называются полями. Чтобы их увидеть, выделите элемент формулы в дереве. При этом для описанной выше формулы окно Свойства будет иметь следующий вид.

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

Результат

Поле содержит выражение описывающее, куда будет сохранён результат вычисления. Это левая часть формулы.

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

Выражение

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

При выделении поля в его правой части появляется кнопка . Нажатие на неё открывает окно редактора.

Описание

Поле позволяет пользователю задать любой произвольный текст, который с его точки зрения как-то характеризует формулу. Это может быть описание действий, которые совершает формула, назначение её переменных, вида и особенностей выходного результата и т.д..

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

Описание формулы также приводится в виде одиночной строки во втором столбце дерева справа от элемента формулы. Если описание многострочное, то его строки объединяются в одну.

Активность

Активность формулы определяется состоянием данного поля. В целом активность - это участие формулы в процессе моделирования, генерации документации и программного кода, а также во всём, что с этим связано. Отсутствие активности равносильно отсутствию самой формулы в проекте.

Значение поля Есть устанавливает метку на элементе дерева формулы. Соответственно, метка означает, что формула неактивна.

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

 

 

Авионика и Софт

forum.aviosoft.ru

 

сборка: 706