ЭТАПЫ РЕШЕНИЯ ЗАДАЧИ НА ЭВМ

Процесс решения задачи на ЭВМ разделяется на ряд последовательных этапов (рис. 4.7).

Этапы решения задачи на ЭВМ

Рис. 4.7. Этапы решения задачи на ЭВМ

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

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

Специалисты-постановщики считают, что выполнение этапа формализации равнозначно выполнению половины всей работы по программированию.

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

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

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

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

Написание программы (разработка программы). Алгоритм, предназначенный для исполнения на ЭВМ, должен быть записан на языке программирования (см. подраздел 4.11.2).

Программа — это набор машинных команд (МК), которые следует выполнять компьютеру для реализации того или иного алгоритма. Иными словами, программа — это форма представления алгоритма для исполнения его машиной. Программист пишет программу на одном из языков программирования (исходный текст). Исходные тексты помещают в текстовые файлы. Затем с исходными текстами работают программы-посредники — трансляторы (компиляторы и интерпретаторы). В результате трансляции получается программа, готовая к исполнению на ЭВМ.

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

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

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

Рассмотренный процесс решения задачи на ЭВМ имеет в основе триаду:

Системный подход к разработке программного обеспечения (ПО) рассматривается в технологии программирования или в методах разработки ПО.

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