Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
_Лекция-5-Т3.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
205.82 Кб
Скачать

Лекция 5

3. Алгоритмизация вычислительных процессов

3.1. Этапы разработки программ.

3.1.1 Анализ задания

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

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

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

Пример.

Индуктивность металлической рамки можно определить из соотношения

L = 8X(Ln(8X / B) - 2.58)

Если надо определить индуктивность, то достаточно подставить исходные данные в формулу и выполнить соответствующие арифметические действия. Если же надо определить размер X для заданной индуктивности, то надо решать нелинейное уравнение, которое в данном случае имеет вид

X = L / (8(Ln(8X / B) - 2.58))

При обосновании применяемого метода следует выявить его достоинства и недостатки по сравнению с другими возможными методами реализации функций.

Раздел анализа задания должен содержать все математические соотношения, которые будут в дальнейшем использоваться в алгоритме и программе.

3.1.2. Разработка алгоритмов

.

Разработка алгоритмов решения задачи проводится методом структурного программирования и включает в себя разработку: схемы иерархии; укрупненных и детальных схем алгоритмов.

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

3.1.3. Подготовка тестов

Тест - это совокупность исходных данных, результатов и промежуточных значений переменных, рассчитанных вручную или любым другим способом. Результаты теста могут быть получены различными путями. Если есть возможность, то результаты теста лучше получать путем, отличным от реализованного в программе, так как, если вычисления проводить точно по алгоритму, то можно не заметить ошибку, которую затем не выявит и отладка.

Например, если в программе решается нелинейное уравнение численным методом, то значение корня уравнения можно получить путем решения этого уравнения в приложении MathCad.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]