Основные этапы решения инженерных задач на ЭВМ. Понятие численных методов расчета
Основные этапы решения инженерной задачи с помощью ЭВМ:
постановка проблемы: правильно сформулировать задачу не менее сложно, чем ее решить;
формализация или же построение математической модели (может быть, выбор): определяются объем и специфика исходных данных, устанавливается принадлежность решаемой задачи к одному из известных классов задач и выбирается соответствующий математический аппарат;
постановка вычислительной задачи: полная постановка многих сложных задач невыполнима, требуется упрощение задачи, что невозможно без хорошего представления о том, какие факторы и параметры наиболее важны для изучаемой задачи;
предварительный (предмашинный) анализ свойств вычислительной задачи: анализ корректности ее постановки, вопросы существования и единственности решения, исследование устойчивости решения;
выбор или построение численного метода: необходимо помнить, что любой получаемый результат является приближенным (погрешность численного метода, погрешность округления чисел);
алгоритмизация:
разложение вычислительного процесса на возможные составные части,
установление порядка их следования,
описание каждой части в какой-либо форме,
проверка реализации выбранного численного метода;
в процессе разработки алгоритм проходит несколько этапов детализации:
укрупненная схема алгоритма (наиболее важные и существенные связи между частями процесса),
детализация выделенных частей вычислительного процесса, имеющих самостоятельное значение;
на каждом этапе детализации выполняется многократная проверка и исправление (отработка) схемы алгоритма;
структуризация: каждый элемент крупноблочной схемы алгоритма должен быть максимально самостоятельным и логически завершенным в такой степени, чтобы дальнейшую его детализацию можно было выполнять независимо от детализации остальных элементов; это упрощает процесс проектирования алгоритма и позволяет осуществлять его разработку по частям одновременно нескольким людям;
различные способы описания, отличающиеся по простоте, наглядности, компактности, степени формализации, ориентации на машинную реализацию и другим показателям:
словесная запись,
схемы,
псевдокод (формальные алгоритмические языки),
структурограммы (диаграммы Насси-Шнейдермана);
программирование: разработанный алгоритм задачи необходимо изложить на языке, который будет понятен ЭВМ непосредственно или после предварительного машинного перевода; язык Паскаль был предложен в 1970 г. профессором Никлаусом Виртом из Цюриха (Швейцария), назван в честь Блеза Паскаля, который изобрел один из первых калькуляторов; Язык Паскаль заложил основы современной методологии программирования, основной тезис его разработки: "язык должен быть очевидным и естественным отражением фундаментальных и наиболее важных концепций алгоритмов";
отладка программы: процесс поиска и устранения ошибок в программе;
ошибки бывают синтаксические (ошибки в тексте) и алгоритмические, синтаксические устраняются легко, алгоритмические – труднее; отладка может считаться законченной, если программа правильно работает на одном-двух наборах входных данных;
процесс отладки для сложных по структуре программ требует больше машинного времени, чем собственно решение на ЭВМ;
тестирование программы: проверка, как ведет себя программа на как можно большем количестве входных наборов данных, в том числе и на заведомо неверных (особенно, если программой будут пользоваться другие);
счет по программе;
обработка и интерпретация результатов: для правильной интерпретации и оценки результатов требуется глубокое знание существа решаемой инженерной задачи, ясное представление об используемой ММ и понимание (хотя бы в общих чертах) особенностей применяемого вычислительного метода;
использование результатов и коррекция математической модели.