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