4.4. ПРОЕКТНЫЕ РЕШЕНИЯ ПО МАТЕМАТИЧЕСКОМУ ОБЕСПЕЧЕНИЮ

Все задачи можно разделить на два класса, в которых:

  • 1) решение может быть однозначным, например учет проданных товаров;
  • 2) возможно несколько вариантов решения. Их количество зависит от варьирования начальных условий и налагаемых ограничений, например планирование продаж при разных ценах.

Алгоритмы могут быть представлены в следующих формах:

  • • математической (формализованной);
  • • графической (блок-схема);
  • • диалоговой (структуры);
  • • словесной.

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

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

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

Представление алгоритма должно осуществляться при обязательном сотрудничестве постановщика задачи (специалиста по ИТ) и ее потенциального пользователя (например, маркетолога).

Основные особенности алгоритма:

  • 1. Понятность (для исполнителя). Исполнитель алгоритма (программист) должен знать, как его выполнять.
  • 2. Дискретность. Процесс решения состоит из отдельных элементарных действий (шагов), логически связанных между собой и выполняющихся в регламентированном порядке.
  • 3. Детерминированность (или определенность). Каждая команда или шаг алгоритма должны иметь абсолютно однозначную трактовку.
  • 4. Результативность и конечность. Независимо от сложности и длительности выполнения, во-первых, алгоритм должен всегда приводить к результату, во-вторых, результат должен быть достигнут за конечное число шагов.
  • 5. Массовость (илиуниверсальность). Каждый алгоритм, разработанный для решения какой-либо конкретной задачи и апробированный на соответствующих исходных данных, будет пригоден для выполнения при всех других вариантах исходных данных. Тем самым достигается применимость однажды разработанного алгоритма для определенного типа или класса задач.

Несмотря на огромное количество алгоритмов, все они строятся при использовании всего трех базовых структур: линейной, разветвляющейся (выбор) и циклической.

Линейный алгоритм представляет собой строго выполняющуюся последовательность действий.

Алгоритм выбора предполагает наличие разных путей (вариантов) решения, каждый из которых активизируется в зависимости от выполнения определенных условий.

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

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

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

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

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

  • 1) все используемые в формулах показатели должны быть описаны на предыдущих этапах постановки задачи;
  • 2) все обозначения показателей должны сопровождаться их расшифровкой, что указывается непосредственно после формул.

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

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

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

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

Одним из элементов описания алгоритма, часто используемых в настоящее время, может быть сценарий диалога, который пользователь будет осуществлять в процессе решения. Сценарий планируется в том случае, когда решение неоднозначно и требует постоянной «направляющей руки» со стороны пользователя. Это могут быть, например, контроль за решением, изменение траектории решения при выполнении (или невыполнении) каких-либо условий или другие функции.

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

  • • разделять решение задачи во времени;
  • • решать задачу по частям;
  • • выполнять вычисления для различного объема информации;
  • • выполнять вычисления по разным параметрам или значениям одного параметра.

Например, алгоритм задачи «Анализ продаж» можно отразить в форме диалогового режима, фрагмент сценария которого показан на рис. 4.13 (выбранные ответы выделены жирным шрифтом; подготовлено автором).

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

Конструктивные вопросы ведения диалогов в ИС должны решаться на этапе написания технического задания и быть едиными для всей проектируемой ИС.

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

Пример сценария диалога

Рис. 4.13. Пример сценария диалога

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

Для обязательных документов необходимо составить перечень, пример которого приведен на рис. 4.14 (подготовлено автором). В данный список войдут все формы выходных документов, которые были представлены и описаны на предыдущих этапах. При выполнении рассматриваемого

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

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

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

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >