Дипломы, курсовые, рефераты, контрольные...
Срочная помощь в учёбе

Математическое обеспечение задачи

РефератПомощь в написанииУзнать стоимостьмоей работы

Циклический алгоритм характеризуется повторением одних и тех же операций. Однако каждое повторение осуществляется при изменении параметра цикла, т. е. такой переменной, которая меняет свое значение по заданному закону при каждом вхождении в цикл. Количество повторений может быть четко заданным, тогда конец вычислений достигается за известное число повторений. Существуют также итерационные циклы… Читать ещё >

Математическое обеспечение задачи (реферат, курсовая, диплом, контрольная)

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

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

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

Основные свойства алгоритма заключаются в следующем.

Понятность (для исполнителя). Исполнитель алгоритма должен знать, как его выполнять.

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

Детерминированность (или определенность). Каждая команда или шаг алгоритма должны иметь абсолютно однозначную трактовку.

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

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

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

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

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

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

Все задачи можно разделить на два класса.

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

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

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

Для описания алгоритма в математической форме приведем расчет заработной платы (упрощенный вариант) для простой повременной или повременно-премиальной системы расчета, которая может быть основана на использовании всего одной величины — фиксированной дневной тарифной ставки. Формула выглядит следующим образом:

где ZP, — величина начисленной за месяц заработной платы i-му работнику; KD, — количество фактически отработанных дней i-м работником в течение расчетного месяца согласно табелю учета рабочего времени; DTt — дневная тарифная ставка i-ro работника; Ny — начисления ;-го вида на заработную плату i-му работнику; М — количество видов начислений для i-ro работника; Uik — удержания /с-го вида из заработной платы i-ro работника; L — количество видов удержаний для i-ro работника.

Качество работы алгоритма определяется тем, насколько полно и точно учтены в нем все возможные изменения в решении задачи, а алгоритм складывается из обработки определенной стандартной ситуации и совокупности нестандартных ситуаций. Алистер Коберн называет их «расширения» [43]. По существу это возможные пути решения задачи в зависимости от соблюдения заданных условий. В качестве иллюстрации нестандартных ситуаций можно привести пример, описанный в работе [59, с. 99—100].

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

Ниже приведены нестандартные ситуации (отметим, что перечень не исчерпывает всех возможных вариантов).

  • 1. Сотрудник выписал накладную клиенту, который не оплатил товар (в алгоритме не предусмотрено, что выписка накладной возможна только при наличии в БД информации об оплате товара).
  • 2. Накладная выписана на товар, который отсутствует в настоящий момент на складе (был нарушен временной регламент актуализации БД).
  • 3. Накладная выписана на большее количество товара, чем имеется в наличии (при выписке накладной не была предусмотрена своевременная проверка информации о количестве товара в БД).
  • 4. Накладная выписана не на тот товар, который заказал и оплатил клиент (товары различаются, например, артикулами).
  • 5. Клиент не пришел на склад за товаром по выписанной накладной в назначенное время (не предусмотрен лимит ожидания транзакции).
  • 6. Клиент отказался получать товар или его часть из-за обнаруженных дефектов.
  • 7. По просьбе клиента на складе ему вместо товара, указанного в накладной, выдали другой, который отличается по цене.
  • 8. Клиент потерял накладную по пути на склад.
  • 9. Кладовщик неправильно оприходовал товар по количеству и номенклатуре.
  • 10. Кладовщик похитил и укрыл товар.
  • 11. Кладовщик ошибся при отпуске товара.
  • 12. Кладовщик потерял накладную.

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

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

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

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

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

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

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

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

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

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

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

Например, сценарий диалога по расчету заработной платы для профессора С. И. Синицина, работающего на кафедре экономической теории, показан на рис. 5.48. Выбранные ответы выделены жирным шрифтом.

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

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

Пример логического построения фрагмента сценария диалога при описании алгоритма решения задачи.

Рис. 5.48. Пример логического построения фрагмента сценария диалога при описании алгоритма решения задачи.

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

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

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

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

Показать весь текст
Заполнить форму текущей работой