Решение задач на ЭВМ представляют собой процесс получения результатной информации на основе обработки исходной с помощью программы, составленной из команд системы управления работой отдельных устройств вычислительной машины. Создание такой программы решения задачи предполагает выполнение ряда последовательных этапов технологического процесса.
Рис.1
1 – экономико-математическое описание и выбор метода;
2 – разработка (выбор и адаптация) алгоритма решения;
3 – разработка программы решения задачи;
4 – тестирование и отладка программы.
В зависимости от специфических особенностей конкретной задачи (её вычислительные и логические сложности, состава и структуры исходной промежуточной и результатной информации), профессионального уровня подготовки специалистов и ряда других факторов. Некоторые этапы, представленные на схеме могут быть объединены в более крупные этапы:
1.Первый этап технологического процесса представляет собой постановку задачи. На этом этапе раскрывается организационно-экономическая сущность задачи, то есть формулируется цель её решения. Раскрывается состав и формула представления входной, промежуточной и результативной информации. Характеризуются формы и методы контроля достоверности информации на ключевых этапах решения задачи. Специфицируются формы взаимодействия пользователя с ЭВМ в ходе решения задачи и т. д.
Особое внимание в процессе постановке задачи уделяется детальному описанию входной, выходной, результатной и промежуточной информации. При этом характеризуются:
Форма представления отдельных реквизитов (цифровая, символьная);
Количество знаков (разрядов), выделяемых для записи реквизитов, выходя из их максимальной значимости;
Вид реквизита в процессе решения задачи (расчетный, первичный, нормативный, справочный);
Источник (документ) возникновения реквизита.
Кроме того, для цифровой информации указывается целочисленный или дробный характер реквизита (для дробных величин дополнительно указывается количество деятельных знаков (разрядов), выделяемых для записи дробной части и допустимый диапазон изменения величин (то есть максимальное и минимальное значение реквизита)). Для расчётных реквизитов даётся соответствующее описание реквизитов, и выделяются те реквизиты, которые используются при последующих решениях задач, так как эта информация должна сохраняться в памяти ЭВМ.
Важной особенностью экономических задач является использование в процессе их решения массивов условной постоянной информации, отражающей многократно используемые справочные, нормативные, расчетные и другие сведения. Данная информация детально специфицируется в соответствии с общими требованиями к описанию информации, а также указываются периодичность внесения изменений в эти массивы. Завершается постановка задачи описанием контрольного примера, демонстрирующего порядок решения задачи традиционным способом.
Основное требование к контрольному примеру – отражение всего многообразия возможных форм существования исходных данных. Контрольный пример сопровождается перечислением внештатных ситуаций, которые могут возникнуть при решении задачи и описании действий пользователя в каждой конкретной ситуации.
2.Экономико-математическое описание задачи и выбор метода её решения. На втором этапе технического процесса разработки программы выполняется формализованное написание задачи, то есть устанавливаются и формулируются средствами языка математики многие математические зависимости между исходными и результатными данными. Второй этап обеспечивает её однозначное понимание поставщиком (пользователем) задачи и разработчиком программы, реализующим эту задачу. В процессе подготовки экономико-математического описания задачи (модели задачи) могут использоваться различные разделы математики, особенно прикладной. При решении экономических задач наиболее часто используются следующие классы моделей для формализованного описания их постановок:
Аналитические (вычислительные);
Матричные (балансовые);
Графические (частный вид – сетевые).
Выбор класса моделей, а иногда и конкретной формы её представления внутри одного и того же класса в ряде случаев позволяет не только облегчить и ускорить процесс решения задачи, но иногда и повысить точность получаемых результатов. Хотя математическая запись постановки задачи, как правило, отличается высокой точностью отображения её сущности, лаконичностью её записи, а главное – однозначностью понимания не для всех задач может быть выполнена. Для задач, допускающих возможность экономико-математического описания необходимо выбрать численный метод решения, а для нечисловых задач – принципиальную схему решения в виде однозначно понимаемой последовательности выполнения элементарных математических и логических функций (операций). При выборе метода решения задачи предпочтения отдаются методу, который наиболее полно удовлетворяет к следующим основным требованиям:
Обеспечивает необходимую точность получаемых результатов, не обладает свойством вырождения (бесконечным зацикливанием на каком-либо участке задач при определенных исходных данных);
Позволяет использовать уже готовые стандартные программы для решения задачи или её отдельных фрагментов;
Ориентирован на минимальный объем исходной информации;
Обеспечивает наиболее быстрое получение искомых результатов решений.
3. Алгоритмизация решения, то есть разработка оригинального или адаптация (уточнение и корректировка) уже известного алгоритма. Постановка задачи и её алгоритмизация составляют порядка 20-30% общего времени на разработку программных средств решения задачи.
Схема процесса алгоритмизации решения задач:
Выделение автономных этапов процесса решения задачи (как правило, с одним входом и выходом).
Формализованное описание содержания работ, выполняемых на каждом выделенном этапе.
Проверка правильности реализации выбранного алгоритма на различных примерах решения задач.
Согласно ГОСТу алгоритм – это точное предписание, определяющее вычислительный процесс, ведущий от варьируемых начальных данных к искомому результату.