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

Рис. \(1\). Этапы решения задачи
1. Постановка задачи. Это первый этап решения задачи, на котором определяется цель решения, собираются исходные данные, выясняются формат и область значений результатов. На этом этапе предполагается построение адекватных моделей объектов исследования с характеристиками, близкими к оригиналу. Здесь важно определить оптимальный набор исходных данных, которые позволят решить задачу, но не сделают её решение трудновыполнимым.
На входе — проблема; на выходе — исходные данные и формат результатов.
2. Формализация задачи. На этом этапе осуществляется построение математической модели задачи. Взаимодействие моделей объектов, участвующих в реальном процессе, заменяется известными математическими соотношениями и уравнениями.
Зачастую в определённой сфере человеческой деятельности уже накоплен набор математических уравнений, с помощью которых принято решать те или иные задачи. Умение предложить новые модели решения связано с широким кругозором исследователя, его неординарным подходом. Такие же качества требуются от человека и при решении новых задач, тех, которые ранее не решались в конкретной области.
На этом этапе реализуется исключительно творческая деятельность человека, а успех решения задачи зависит от выбора и обоснования метода решения.
На этом же этапе определяются допустимая точность, объём и время вычислений, а также технические средства, с помощью которых будет реализовываться решение.
На входе — исходные данные и формат результатов; на выходе — математическая модель и технические средства для решения.
3. Создание алгоритма решения. На этом этапе реализуются методы, с помощью которых будет осуществляться решение. Здесь необходимо скоординировать работу всех участников проекта решения. Создаются блок-схемы алгоритмов, технологические карты загрузки оборудования, например распараллеливание вычислений. Определяется последовательность выполнения отдельных блоков вычислений.
На входе — математическая модель; на выходе — блок-схема или другой способ описания алгоритма.
4. Составление программы для решения задачи. Алгоритм реализуется на конкретном языке программирования. Уточняются формат и область значений результатов в зависимости от выбранного языка программирования.
На входе — блок-схема или другой способ описания алгоритма; на выходе — программа обработки исходных данных.
5. Тестирование и отладка программы. Составление программы обработки исходных данных — процесс трудоёмкий, особенно если необходимо соединить блоки разных разработчиков и параллельно работающих процессов. Отладка программы выполняется в несколько этапов: определяются синтаксические и семантические ошибки. Для обнаружения ошибок проводят тестирование на специально подготовленных данных. Внутри программы расставляют «контрольные точки», получая таким образом сообщение об ошибке в ходе выполнения программы до её завершения. Кроме компьютерного тестирования полученные данные должен проанализировать специалист в той области, в которой работает поставленная задача. Такой подход позволяет выявить ошибки на предыдущих этапах решения задачи. Например, анализ результатов может выявить недочёты, связанные с выбором алгоритма решения, постановкой задачи или со сбором исходных данных. В этом случае процесс решения возвращается на предыдущие этапы и проводится их корректировка.
На входе — программа обработки исходных данных; на выходе — результаты решения задачи.
Источники:
Рис. 1. Этапы решения задачи. © ЯКласс.