| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Работа с Конструктором алгоритмов
|
При этом следует учитывать, что поле автора алгоритма заполняется автоматически. |
При необходимости изменить параметры заголовка алгоритма возможно через команду
редактирования начального элемента алгоритма.
Каждый новый алгоритм предоставляет “базовый алгоритм”,
состоящий из элементарного набора элементов, таких как: начало алгоритма,
ввод данных, расчет, который по своей структуре имеет значение,
указывающее на то, что алгоритм заканчивается теми данными, которые
введены в элементе ввода. Оканчивается алгоритм, элементом - конец
алгоритма. Все это составляет - базовый алгоритм.
Рисунок 15 - Базовый алгоритм
При необходимости все элементы могут быть удалены. Однако следует помнить, что элемент начала и конца алгоритма удалены быть не могут. |
При необходимости вы можете всегда отредактировать уже имеющейся алгоритм. Для этого необходимо активизировать команду - открытие файла, который должен иметь расширение *.alg, через стандартное окно - открытия файла. Выбранный алгоритм располагается на рабочей поверхности окна проекта алгоритма.
Каждый алгоритм, возможно, закрыть, используя различные способы. Такой как, активизация команды - закрытия файла “алгоритма” через системное меню окна проекта. Либо по команде закрыть окно с алгоритмом “Close” или активизацией горячей клавиши Alt+F4. При этом следует учитывать, что если какие-нибудь изменения были внесены в структуру алгоритма и вы не сохранили их перед закрытием, вам будет предложено это осуществить перед тем, как закрыть измененный файл алгоритма.
Активизация команды - сохранить, позволяет сохранить файл алгоритма после внесения в него каких-либо модификаций. При этом следует помнить, что если файл только что создан и не имеет системного имени, то при активизации данной команды вам будет предложено ввести имя, под которым будет сохранен вновь созданный алгоритм.
При активизации команды сохранить как у вас появляется возможность сохранить файл под новым именем, если он уже был создан или в качестве альтернативы выбрать имя файла уже созданного из списка доступных файлов. При этом следует помнить, попытка сохранения файла под именем, которое уже существует приведет к тому, что система осуществит запрос на разрешение перезаписать новый файл под именем, которое уже используется, что в свою очередь приведет к потере информации в этом файле.
Выход из Конструктора алгоритмов осуществляется через специализированную команду. Следует помнить, что если в Конструкторе алгоритмов существует редактируемый алгоритм, который еще не был сохранен, то система предложит вам осуществить мероприятие по его сохранению.
1. | ( | ) | ||
2. | * | / | ||
3. | + | - | ||
4. | > | >= | < | <= |
5. | = | <> | ||
6. | & | AND | И | |
7. | | | OR | ИЛИ |
1. | + |
2. | - |
3. | * |
4. | / |
1. | < |
2. | <= |
3. | = |
4. | <> |
5. | > |
6. | >= |
1. | & | AND | И | объединение по И (+) |
2. | | | OR | ИЛИ | объединение по ИЛИ (*) |
Элемент алгоритма представляет собой основу для построения математической модели обработки информации. Тип элементов четко определен, но их количество в алгоритме ограничено только вашими нуждами для достижения поставленной цели. При этом каждый элемент имеет собственные настройки для выполнения действий в рамках модели алгоритма.
Элемент “начало алгоритма” всегда находится в самом начале алгоритма и имеет индекс А. Он является заголовком вновь образованного алгоритма и несет в себе описание алгоритма: имя автора, дату создания, дату последней модификации, а так же комментарии к алгоритму. Тип “начало алгоритма” определяется во время его создания и не может быть изменен. Но это не говорит о том, что алгоритм не позволяет обрабатывать или иметь для обработки разнотипные данные такие как: число, текст или дату. Но в любом случае результат работы алгоритма должен быть закончен только тем типом данных, который был определен для него в самом начале моделирования.
Элемент “ввод” алгоритма является тем связующим звеном, с помощью которого в объект алгоритма может
поступать необходимая информация.
В дальнейшем, после регистрации разработанного объекта алгоритма на сервере системы, при его
использовании в качестве (правила), к какой-либо характеристике объекта базы данных, в момент попытки
записи информации в нее, будет применен используемый алгоритм, который в свою очередь предоставит механизм по
передаче данных в него через имеющиеся элементы “ввода”, и только результат вычислений будет передан в
характеристику объекта базы данных (в поле таблицы) для хранения.
Элементы ввода данных в модели алгоритма служат для создания механизма передачи какой-либо
информации из вне, в тело объекта алгоритма.
Элемент “расчет” является основным механизмом, с помощью которого возможно описывать метод расчета какой-либо информации.
Синтаксис элемента “расчета” позволяет строить сложные выражения с использованием
основных математических выражений, таких как: плюс, минус, умножение, деление, использование скобок в
выражениях, вложенные скобки, а так же позволяет использовать функции. При этом следует заметить, что элемент
явного присвоения необходим только для, того чтобы полученные результаты в элементе “расчеты” можно было присвоить
другим элементам модели алгоритма. Например, для передачи полученных результатов в элемент “конец” алгоритма.
Однако следует заметить, что не смотря на явное присвоение результата другим элементам в алгоритме, полученные
результаты все равно будут так же сохранены в рассчитанных элементах.
Для описания выражений возможно использовать данные из имеющихся элементов, указывая имена их ячеек.
Например: А, А+В. Или непосредственно указывать необходимые значения.
Например: 50, А+50 и т.д. Также, для
описания необходимых действий над данными возможно использовать следующие операторы:
Например: ((50+C)/(A+D))*2, результат вычислений будет присвоен указанной ячейки, (а также, результат будет присвоен той же ячейке, в которой произведутся описанные действия). Вычисления будут происходить по следующей схеме: число 50 сложится с числом находящимся на момент вычисления в ячейке с именем С, далее от значения в ячейке А будет вычтено значение в ячейке D, затем первый результат будет разделен на второй, и полученное значение будет умножено на 2.
Особо следует подчеркнуть, что не определив явной передачи результатов расчета в элемент “конец алгоритма”, будет не возможно извлечь расчетные данные из алгоритма. |
Элемент “условие” является ключевым механизмом, позволяющим организовывать разветвленную систему обработки информации, основанную на анализе состояния полученных данных. Синтаксис задания “условий” приведен в специальной таблице. Следует заметить, что само условие может иметь достаточно сложное выражение. Во время описания элемента “условие” задается синтаксис ввода условия, по которому будут произведены переходы по условию “да”. Т.е. если условие в элементе получает значение истинно. Если условие ложно, то будет выполняться следующий элемент после элемента условия. При этом, автоматически создается элемент перехода по каждому элементу условия. Этот элемент может выступать в качестве самостоятельного элемента, настройка которого позволяет указать явный индекс “перехода”, следующий непосредственно после элемента “условие”.
В выражении элемента “условия”, возможно использовать следующие операторы:
Например: A+B/2>=80 или (C-7)*6<>20. Данное выражение будет “истинно”, если значение ячейки А сложенное со значением ячейки В, деленное на 2 будет больше или равно 80, или значение ячейки С уменьшенное на 7 и умноженное на 6 не равно 20. В любом другом случае выражение будет “ложным”, т.е. после вычисления выражения в элементе “условие” и получением результата “ложно” следующим местом выполнения алгоритма будет элемент следующий за элементом “условие”. В ином случае будет произведена активизация элемента “перехода”.
Функция не представлена специализированным методом. Доступ к ней возможно осуществлять только через ее описание в рамках элемента расчет. Использование функций позволяет применять достаточно сложные математические методы обработки информации в рамках вашего алгоритма. Все доступные функции, возможно, просмотреть через окно Справки.
Элемент “конец
алгоритма” является последним элементом в любом созданном вами
алгоритме. Именно данные, находящиеся в этом элементе могут быть
в дальнейшем получены из алгоритма. Т.е. содержимое данной ячейки
и будет итогом расчета построенной вами математической модели -
алгоритма. Следовательно, если вы не присвоили какому-либо элементу
“расчет” передать данные в “конец алгоритма”, вы не сможете воспользоваться
полученными результатами. В любом случае расчет, проведен в рамках
алгоритма, должен явно передан в последний элемент - “конец алгоритма”.
Как любой объект системы Miracle, алгоритм является одним из базовых
объектов, с которым возможно организовать связь по данным. А именно,
передавать информацию в алгоритм и получать из него готовые значения.
Количество передаваемых значений определяется количеством элементов
“ввода” в алгоритме. Полученный результат может быть получен только
из элемента “конец алгоритма”, т.е. объект алгоритм выдает только
одно значение.
При этом использование алгоритма в качестве самостоятельного
объекта позволяет не только легко производить его модификацию, без
“переделки” уже работающих решений, но и повторно использовать апробированные
методы в новых компонентах приложения.
Далее будет описаны основные подходы по работе с программой - конструктор алгоритмов и описаны возможные методы настройки тех или иных ее параметров.
При создании нового алгоритма предоставляется так называемый, “базовый” алгоритм, что является минимально необходимым логическим набором для проведения элементарных действий с данными. “Базовый” алгоритм состоит из четырех элементов:
При этом, по умолчанию, третий элемент - элемент расчета необходим для того, чтобы явно указать передачу введенных данных в элементе ввода на конечный элемент алгоритма. Тем самым “базовый” алгоритм позволяет осуществлять передачу данных с алгоритма получая их из вне, без какой-либо дополнительной математической обработки.
Используя те или иные дополнительные настройки, вы можете видоизменять параметры рабочей поверхности окна алгоритма, что позволяет осуществлять индивидуальную настройку по каждому алгоритму, таким образом, который необходим вам.
Структура математического алгоритма состоит из определенного вами набора элементов, (“базовый” алгоритм содержит 4 элемента), где каждый элемент занимает одну строчку. В начале строки стоит индекс элемента, который может изменяться в зависимости от добавления новых элементов. Далее, в строке, идет пиктограмма элемента алгоритма, а за ней может следовать до 3-х дополнительных идентификаторов, отражающих комментарии системы, данные в рамках элемента и комментарий пользователя.
Используя команду для изменения цвета фона окна алгоритма, вы можете задать собственный цвет фона, путем выбора необходимой гаммы на панели основных цветов. Выбор цвета осуществляется методом “указать - щелкнуть”, т.е. для выбора цвета необходимо установить курсор на необходимый вам цвет и нажать правую клавишу мыши. Либо использовать альтернативный подход перемещать выбор на необходимый цвет с использованием клавиш курсора и подтверждать выбор нажатием клавиши пробел . Подтверждение окончания выбора осуществляется через выход из палитры цветов клавишей ОК.
Изменение цвета текста в окне алгоритма осуществляется аналогично способу установки цвета фона, а именно через выбор необходимого цвета на панели цветов.
Это цвет, которым будет отображаться выбранная строка элемента алгоритма. Настройка цвета выбора осуществляется аналогичным способом выбора цвета фона или цвета текста.
Как говорилось ранее, пользователь может отображать в окне алгоритма комментарии по каждому элементу. Как правило, комментарии системы отображают суть каждого элемента алгоритма, и служат разработчику системной подсказкой, описывающей сущность типа используемого элемента алгоритма.
Комментарии пользователя могут быть присвоены каждому элементу алгоритма при его создании, модификации. Он в свою очередь необходим для того, чтобы помочь в дальнейшем разобраться в построенной модели алгоритма. Используя переключатель включения/выключения отображения комментариев пользователя, возможно, настроить окно алгоритма таким образом, чтобы эти комментарии все время отображались по каждому элементу алгоритма. Только один элемент алгоритма не может содержать пользовательских комментариев это элемент конец алгоритма.
Включение, выключение показа отображения данных по каждому элементу алгоритма позволяет вам настроить окно таким образом, чтобы вся информация по данным была представлена единовременно на экране. Отображаемые данные для каждого элемента алгоритма являются нерасчетными величинами, а установленными параметрами, т.е. отображают параметры настройки каждого элемента алгоритма. Только один элемент алгоритма не может содержать никаких данных (параметров), это последний элемент конец алгоритма.
Редактирование любого элемента, возможно, осуществив позиционирование курсора на строчку с необходимым элементом и активизировать функцию редактировать. Доступ к которому возможно осуществить через меню системы - Элемент|Редактировать или по выбору данной команды контекстного меню, активизация которого осуществляется нажатием правой клавиши мыши или же стандартным методом - двойным нажатием в любом месте строчки выбранного элемента, а также через специализированную кнопку на панели инструментов. Редактирование элементов алгоритмов осуществляется через специализированные окна, являющиеся уникальными для каждого типа элементов. Только один из элементов - конец алгоритма не может быть отредактирован.
Удаление элемента осуществляется через специализированную команду, позволяющую удалить указанный элемент. Перед каждым удалением будет выдан дополнительный запрос на подтверждение свершения данной операции, и при получении положительного ответа будет осуществлено удаление элемента. При этом следует заметить, что после удаления элемента система теряет фокус выбранного элемента, так как последний выбранный элемент был удален. Поэтому вам для продолжения работы, необходимо спозиционировать курсор на любой ином элемент в алгоритме.
Используя клавиатуру, вы можете так же свободно осуществлять навигацию по алгоритму,
используя клавиши курсора вверх, вниз, вправо, влево. При этом курсор вправо будет приводить к
перемещению фокуса по элементам алгоритма вниз, а курсор влево - к перемещению фокуса по элементам
алгоритма вверх.
Клавиша PageUp приведет к установке фокуса на первый элемент
алгоритма видимой части экрана, а клавиша PageDown - на последний элемент
алгоритма видимой части экрана. К таким же действиям приведет нажатие клавиш: Home (первый элемент
в алгоритме), End (последний элемент в алгоритме).
При нажатии клавиши Ins возможно осуществить вставку элемента:
ввода, расчета, сравнения, функций. Также возможно осуществлять редактирование или удаление
элемента, на котором в данный момент находится фокус, или осуществлять передачу связей выделенного
элемента другому элементу алгоритма.
Нажатие клавиши Enter приводит к вызову окна редактирования
элемента.
Данный механизм позволяет производить реорганизацию информационных потоков в рамках алгоритма. При этом следует помнить, что реорганизация возможна по двум направлениям:
Данный метод применим только к тем элементам алгоритма, которые имеют оговоренный выше тип связи. Изменение ссылок на данный элемент позволяет производить полную реорганизацию информационных потоков с этого элемента на любой другой в алгоритме. Т.е. тем самым вместо пошагового изменения связи в каждом элементе, который когда-либо ссылался на модифицированный элемент можно произвести глобальную реорганизацию указав это только в одном месте. А именно на том элементе, который передает эти связи.
Связь по переходам возникает в элементах типа условия, когда выполнение этого элемента может приводить к явному переходу на какой-либо элемент в структуре алгоритма. Тем самым изменяя связь по переходу с какого-либо элемента, возможно, указать в качестве элемента, элемент на который необходимо перейти всем элементам алгоритма, которые раньше ссылались на модифицированный элемент.
Связь по данным подразумевает в себе использование модифицированного алгоритма в каком-либо другом элементе алгоритма в качестве элемента представляющего данные. Следовательно, изменение связи по данным будет приводить к изменению индекса элемента алгоритма во всех формулах использующих первичный индекс.
Организация переходов связей (передача связей) осуществляется
на том элементе, который используется в каком-либо другом элементе.
Т.е. имеется связь либо по переходам, либо по данным. Организация
переходов осуществляется активизацией команды передача связей.
В рамках специализированного диалогового окна можно указать передачу
связей по переходам, выбрав из списка доступных элементов тот элемент,
который будет в дальнейшем использоваться как элемент перехода.
Передача связей по данным осуществляется аналогичным способом. Если
та, или иная передача связи не нужна, ее можно отключить, щелкнув
на заголовке перехода. Указав элементы, которые будут отвечать за
связи по данным или по переходам и подтвердив свой выбор, будет
произведена реорганизация всего алгоритма. Что приведет к тому,
что все элементы, которые раньше использовались к реорганизованному
элементу, и будут иметь в своих выражениях новое имя элемента (индекс),
к которому были переданы связи. А также все элементы осуществляющие
переход на реорганизованный элемент, будут иметь в выражениях перехода
новое имя (индекс).
Механизм передачи связей по данным и по переходам, является мощным методом,
позволяющим организовать групповую модификацию всех элементов в алгоритме.
Каждый алгоритм, созданный вами, должен быть преобразован в специализированный файл, который является полноценным компонентом системы Miracle. Только алгоритм, имеющий преобразованный вид, возможно, передавать на Сервер управления в качестве ресурса системы. Если вы произвели изменения в алгоритме, то необходимо повторное преобразование. Преобразованный файл имеет такое же имя, что и проект алгоритма, но только с расширением *.scp.
Тестирование алгоритма позволяет произвести пошаговую проверку алгоритма через активизацию специализированной команды. Диалоговое окно отладчика дает информацию о данных по каждому индексу (по каждому элементу), примечание о состоянии режима и иную информацию. Запуск пошагового отладчика производится специализированными средствами в рамках диалогового окна. При этом следует учитывать, что, если алгоритм использовал ввод данных в качестве альтернативного получения значений, вам будет представлены специализированные диалоговые окна ввода, где вам необходимо будет ввести данные с клавиатуры. После получения всей вводимой информации, возможно, продолжить пошаговую проверку алгоритма, используя специализированную кнопку далее. При этом фокус на алгоритме (в окне проекта) будет указывать на то место шага, на котором находится проверка алгоритма. В окне примечаний будет расписан результат действий шага. Активизировав команду данные, возможно посмотреть значения ячеек по индексам, где курсор будет указывать последний выполненный шаг. Осуществив пошаговую проверку и дойдя до конца алгоритма, вам будет представлен конечный полученный результат. Выход из режима тестирования осуществляется при повторном выборе команды пошаговая проверка алгоритма.
Регистрация алгоритмов на Сервере управления в качестве математического компонента для его дальнейшего использования в рамках других компонентов системы, возможна только в том случае, если алгоритм находится в специализированном формате *.scp. При этом вы можете передать не только текущий файл, но и любой другой файл, который находится уже в преобразованном виде. Выбрав конкретный файл и активизировав кнопку ОК, возможно произвести сеанс регистрации. В момент передачи, в специализированном диалоговом окне будет дополнительно представлено: формат имени файла, описание файла и автора файла алгоритма. Активизировав команду передача, будет произведена регистрация нового алгоритма на Сервере управления.
На Сервере управления алгоритмы находятся в единой форме хранения. И могут быть использованы для разных назначений. Так алгоритм, используемый в качестве основного дополнения к характеристике объекта БД, является глобальным алгоритмом в рамках базы данных (правилом). Описывающего обработку информации, перед записью в базу. При этом, этот же алгоритм или иной возможно использовать и в другом виде - в качестве элемента задачи для расчета тех или иных параметров, т.е. в качестве элемента решения. При этом следует заметить, что результаты обработанные таким способом не будут сохранены в виде значений в базе данных, а предназначены только для кратковременного отображения в активном приложении.
Модификация алгоритмов возможна только на базе сохраненных моделей алгоритмов в виде файла *.alg. После модификации, если данный алгоритм должен быть заменен, то его необходимо преобразовать его в специализированный вид и передать на Сервер управления. Тем самым произвести замену одного алгоритма на другой под одним и тем же именем. При этом, если модифицированный алгоритм будет записан под новым именем, то на Сервере управления появится новый алгоритм
Алгоритм, использующийся в качестве “бизнес-правила”, а именно являющийся расширением характеристики в объекте БД, должны быть модифицируемые с особой осторожностью, так как модификация алгоритмов, отвечающих за правила обработки информации перед записью в базу данных, являются основополагающими методами, в рамках которых производится обработка информации. И, следовательно, должны являться менее изменяемыми правилами в вашей информационной системе.
Действие | Аналог в меню | На панели инструментов |
Создание нового файла (алгоритма) | Файл|Новый | |
Открытие имеющегося файла (алгоритма) | Файл|Открыть | |
Закрытие файла (алгоритма) | Файл|Закрыть | |
Запись файла (алгоритма) | Файл|Сохранить | |
Запись файла (алгоритма) под новым именем | Файл|Сохранить как ... | |
Выход из программы | Файл|Выход | |
Вставить элемент “ввод” | Элемент|Ввод | |
Вставить элемент “расчет” | Элемент|Расчет | |
Вставить элемент “условие” | Элемент|Сравнение | |
Редактировать данные в выбранном элементе | Элемент|Редактировать | |
Удаление указанного элемента | Элемент|Удалить | |
Передать связь выделенного элемента к другому элементу | Элемент|Передача связи | |
Преобразовать алгоритм в специализированный модуль для тестирования или передачи на сервер | Алгоритм|Компилировать | |
Активизировать пошаговую проверку алгоритмов | Алгоритм|Отладка | |
Передача алгоритма на сервер системы | Алгоритм|Передать | |
Показать список всех зарегистрированных алгоритмов | Алгоритм|Список | |
Включить/выключить показ комментариев системы для каждого элемента в алгоритме | Настройка|Комментарии системы | |
Включит/выключить показ комментариев пользователя каждого элемента алгоритма | Настройка|Комментарии пользователя | |
Включить/выключить показ данных к каждому элементу алгоритма | Настройка|Данные | |
Настроить цвет фона проекта алгоритма | Настройка|Цвет фона ... | |
Настройка цвета текста в проекте алгоритма | Настройка|Цвет текста ... | |
Настройка цвета элемента выбора в окне проекта алгоритма | Настройка|Цвет выбора | |
Расположение окон проектов “каскадом” | Окна|Каскад | |
Расположение окон проектов “черепицей” | Окна|Черепица | |
Выравнивание пиктограммы минимизированных окон внизу окна MirMath | Окна|Выравнивать пиктограммки | |
Закрытие всех открытых окон с проектами алгоритмов | Окно|Закрыть все окна | |
©1995,1997,2000 НПФ ”И.В.А.”. Все права сохранены.
Название фирм и торговых марок используются только в качестве пояснения.