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

Подыгрыш с помощью дерева формул

 

 

Назначение, Области окна

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

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

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

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

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

-

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

-

Дерево формул, которое строит пользователь.

Первым элементом дерева всегда является предопределённая локальная переменная result. Её имя нельзя изменить, а тип равен типу ссылки на входную переменную , к которой относится данный подыгрыш. Переменная result предназначена для связи подыгрыша с подыгрываемой входной переменной проекта. Значение, которое будет присвоено переменной result после выполнения подыгрыша запишется во входную переменную .

-

Окно, в котором приводятся поля свойств элемента, выделенного в данный момент в дереве . Описание полей свойств элементов дерева смотрите ниже на данной странице.

-

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

Ошибки

Если в тексте формулы или в группе в формуле свойства Активность есть ошибка, то она отобразится в данном поле. Двойной щелчок левой кнопкой мыши на строке помеченной в её левой части символом подсветит элемент в дереве , к которому относится ошибка.

Информация

Окно содержит список предопределённых переменных, которые можно использовать в тексте формул.

  • result . В переменную должен быть сохранён результат вычисления подыгрыша. Тип переменной равен типу ссылки на входную переменную , к которой относится данный подыгрыш.
  • t . Неизменяемая переменная, имеющая тип float. Равна времени в миллисекундах, прошедшего с начала процесса тестирования с помощью тестового сценария, включающего данный подыгрыш.
  • n . Неизменяемая переменная, имеющая тип int. Равна индексу цикла тестирования с помощью тестового сценария, включающего данный подыгрыш. Всегда больше либо равна 0.

 

Разберём из чего состоит область графика более подробно.

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

-

Панель кнопок, управляющая отображением информации на графике.

-

Маркер максимального значения видимой в данный момент части графика.

-

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

-

Маркер минимального значения видимой в данный момент части графика.

- Задаёт вертикальный масштаб отображения графика. Сжатие и растяжение графика по оси Y.
- Устанавливает единичный (без масштабирования) вертикальный масштаб отображения графика.
-

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

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

Задаёт горизонтальный масштаб отображения графика. Сжатие и растяжение графика по оси X.

-

Информационная строка со вспомогательной информацией.

  • Масштаб - масштаб графика по оси Y.
  • Текущий цикл - индекс первого видимого цикла подыгрыша в левой части графика.
  • Число циклов - число циклов подыгрыша, которые помещаются на графике по оси X.

 

Показанный выше график появляется в окне Подыгрыш с помощью дерева формул в том случае, если подыгрываемая входная переменная имеет тип bool, int, uint или float. Если мы имеем дело с типом string, то окно приобретает вид изображённый на следующем рисунке.

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

Список состоит из трёх столбцов. В первом самом левом столбце указывается индекс цикла, начиная с 0. Во втором столбце - время, соответствующее циклу, с момента запуска тестового сценария на выполнение. В третьем - значение, которое получит входная переменная на данном цикле. Это значение можно просмотреть в отдельном окне. Для этого необходимо выделить нужную строку и нажать в её правой части на кнопку .

Остальные области окна не изменяются.

 

Работа с деревом

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

Опции меню описаны в следующей таблице.

Добавить группу

Создаёт в дереве пустой элемент группы.

Добавить переменную...

Создаёт в дереве элемент локальной переменной.

При выборе опции откроется окно Создание новой переменной. В нём необходимо ввести имя и тип будущей переменной. Т.к. работа с массивами в дереве не допустима, то поле размерности в окне будет недоступно.

После закрытия окна, если это было сделано по нажатию на кнопку OK или на клавишу Enter (Ввод) на клавиатуре, будет создана новая локальная переменная.

Добавить формулу...

Создаёт в дереве элемент формулы в виде отдельного элемента.

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

1 1 1 1
Вырезать Ctrl+X

Копирует текущий выделенный элемент дерева и все вложенные в него элементы в буфер обмена операционной системы и удаляет его.

Копировать Ctrl+C

Копирует текущий выделенный элемент дерева и все вложенные в него элементы в буфер обмена операционной системы без его удаления.

Вставить Ctrl+V

Вставляет в дерево элемент или группу элементов, описание которых в данный момент содержится в буфере обмена операционной системы.

1 1 1 1
Удалить Del

Удаляет выделенный элемент, а также все элементы, которые в него включены. Удаление предопределённой переменной result не возможно.

ы h 1 1 1 1
  Свернуть всё

Сворачивает элементы всех групп.

  Раскрыть всё  

Разворачивает (раскрывает) элементы всех групп.

Нажатие на кнопку OK закрывает окно и сохраняет созданное дерево формул.

Нажатие на кнопку Отмена, на кнопку в правом верхнем углу окна или на клавишу Esc на клавиатуре закрывает окно без сохранения изменений в дереве формул.

 

Поля свойств группы

При выделении в дереве элемента группы в области свойств отображаются её поля свойств.

В следующей таблице расположены описания полей свойств.

Имя

Текстовое поле для задания имени группы .

Описание

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

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

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

Активность

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

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

 

Поля свойств переменной

При выделении в дереве элемента локальной переменной в области свойств отображаются её поля свойств.

В следующей таблице расположены описания полей свойств.

Имя

Текстовое поле для задания имени локальной переменной .

Описание

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

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

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

Активность

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

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

Тип

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

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

Начальное значение

Значение, которое присваивается переменной, когда в дереве поток вычисления подыгрыша доходит до неё. Т.е. происходит её обязательная предварительная инициализация.

 

Поля свойств формулы

При выделении в дереве элемента формулы в области свойств отображаются её поля свойств.

 В следующей таблице расположены описания полей свойств.

Результат

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

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

Выражение

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

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

Описание

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

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

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

Активность

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

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

 

 

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

forum.aviosoft.ru

 

сборка: 706