ПОИСК Статьи Чертежи Таблицы Основные этапы технологического процесса разработки программ решения задач на ЭВМ из "Экономическая информатика и вычислительная техника Издание 2 " Решение задачи на ЭВМ представляет собой процесс получения результатной информации на основе обработки исходной с помощью программы, составленной из команд системы управления работой отдельных устройств вычислительной машины. Создание такой программы решения задачи предполагает выполнение ряда последовательных этапов технологического процесса, принципиальная схема которого представлена на рис. 5.1. [c.138] Первый этап технологического процесса представляет собой постановку задачи. На этом этапе раскрывается организационно-экономическая сущность задачи, т.е. формулируется цель ее решения определяется взаимосвязь с другими задачами указывается периодичность ее решения раскрываются состав и форма представления входной, промежуточной и результатной информации характеризуются формы и методы контроля достоверности информации на ключевых этапах решения задачи специфицируются формы взаимодействия пользователя с ЭВМ в ходе решения задачи и т.п. [c.139] Кроме того, для цифровой информации указываются целочисленный или дробный характер реквизита (для дробных величин дополнительно указывается количество десятичных знаков (разрядов, выделяемых для записи дробной части числа) и допустимый диапазон изменения величин (т.е. максимальное и минимальное значения реквизита). [c.139] Для расчетных реквизитов дается соответствующее описание расчетов и особо выделяются те реквизиты, которые используются при последующих решениях задачи, так как эта информация должна сохраниться в памяти ЭВМ. [c.139] Завершается постшовка задач описанием контрольного примера, демонстрирующего порядок решения задачи традиционным способом. Основное требование к контрольному примеру - отражение всего многообразия возможных форм существования исходных данных. Контрольный пример сопровождается перечислением нештатных ситуаций, которые могут возникнуть при решении задачи, и описанием действий пользователя в каждой конкретной ситуации. [c.140] Особенность реализации этого этапа технологического процесса заключается в том, что конечный пользователь разрабатываемой программы, хорошо знающий ее проблемную сторону, обычно слабо представляет специфику и возможности использования ЭВМ для ее решения. В свою очередь предметная область пользователя быбает часто незнакома разработчику программ, хотя он знает возможности и ограничения на применение ЭВМ. Именно это противоречив является основной причиной возникновения ошибок при реализации данного этапа технологического процесса разработки программ. По данным экспертов, на этот этап приходится более 50% общего числа ошибок, обнаруживаемых в процессе разработки программ решения задач организационно-экономического характера, а затраты на исправление таких ошибок составляют в среднем 80% всех усилий разработчиков на поиск и устранение ошибок в программе. [c.140] Отсюда вся важность и ответственность этого этапа, необходимость осуществления корректной и полной постановки задачи, а также однозначность ее понимания как разработчиком программы, так и пользователем этой программы, в качестве которого обычно выступает постановщик задачи. [c.140] Экономико-математическое описание задачи и выбор метода ее решения представляет второй этап в технологии разработки программы. Выделение этого этапа обусловливается рядом причин, одна из которых вытекает из свойства неоднозначности естественного языка, на котором осуществляется описание постановки задачи. В связи с этим на втором этапе технологического процесса разработки программы выполняется формализованное описание задачи, т.е. устанавливаются и формулируются средствами языка математики логико-мате-матические зависимости между исходными и результатными данными. [c.140] Экономико-математическое описание зах ачи обеспечивает ее однозначное понимание постановщиком (пользователем) задачи и разработчиком программы, реализующей эту задачу. [c.141] Хотя математическая запись постановки задачи, как правило, отличается высокой точностью отображения ее сущности, лаконичностью записи, а главное, однозначностью понимания, далеко не для всех задач она может быть выполнена. Кроме того, математическое описание задачи в большинстве случаев трудно однозначно перевести на язык ЭВМ. Для задач, допускающих возможность экономико-математического описания, необходимо выбрать численный метод решения, а для нечисловых задач - принципиальную схему решения в виде однозначно понимаемой последовательности выполнения элементарных математических и логических функций (операций). [c.141] Третий этап технологического процесса подготовки решения задачи на ЭВМ представляет собой алгоритмшаиию ее решения, т.е. разработку оригинального или адаптацию (уточнение и корректировку уже известного) алгоритма. [c.142] Алгоритмизация - это сложный процесс, носящий в значительной степени творческий характер. По оценкам специалистов, постановка задачи и ее алгоритмизация нере цсо составляют 20 - 30% общего времени на разработку программных средств решения задачи. Сложность и ответственность реализации данного этапа объясняется тем, что для решения одной и той же задачи, как правило, существует множество различных алгоритмов, отличающихся друг от друга уровнем сложности, объемами вычислительных работ, составом необходимой исходной и промежуточной информации и другими факторами, которые оказывают существенное влияние на эффективность выбранного способа решения задачи. [c.142] В основу процесса алгоритмизации положено фундаментальное понятие математики и программирования - алгоритм. Название алгоритм происходит от латинизированного воспроизведения арабского имени узбекского математика Аль-Хорезми, жившего в конце VIII - начале IX вв., который первым сформулировал правила, позволяющие систематически составлять и решать квадратные уравнения. [c.142] Развитие ЭВМ сделало понятие алгоритма одним из центральных в прикладной математике, так как возникла острая потребность в определении общих способов формирования и единообразного решения целых классов задач управления на основе разработки комплексов универсальных алгоритмов. [c.142] Любой алгоритм обладает следующими свойствами детерминированностью, массовостью, результативностью и дискретностью. [c.143] Детерминированность (определенность, однозначность) означает, что набор указаний алгоритма должен быть однозначно и точно понят любым исполнителем. Это свойство определяет однозначность результата работы алгоритма при заданных исходных данных. [c.143] Массовость алгоритма предполагает возможность варьирования исходных данных в определенных пределах. Это свойство определяет пригодность использования алгоритма для решения множества задач данного класса. Свойство массовости алгоритма является определяющим фактором, обеспечивающим экономическую эффективность решения задач на ЭВМ. Из сказанного следует, что для задач, решение которых осуществляется один раз, целесообразность использования ЭВМ, как правило, диктуется внеэкономическими категориями. [c.143] Результативность алгоритма означает, что для любых допустимых исходных данных он должен через конечное число шагов (или итераций) завершить свою работу. [c.143] Дискретность алгоритма означает возможность разбиения определенного алгоритмического процесса на отдельные элементарные этапы, возможность реализации которых человеком или ЭВМ не вызывает сомнения, а результат выполнения каждого элементарного этапа вполне определен и понятен. Таким образом, алгоритм дает возможность чисто механически решать любую конкретную задачу из некоторого класса однотипных задач. [c.143] С понятием алгоритма тесно связано понятие данные. В алгоритмическом аспекте данные - это информация, несуидая полезную смысловую нагрузку, представленная в формализованном виде, позволяющем собирать, передавать, вводить и обрабатывать эту информацию с помо1Щ ю заданных алгоритмов. Реализация алгоритма на конкретных исходных данных решаемой задачи называется алгоритмическим процессом. [c.143] Вернуться к основной статье