Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




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

 

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.

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

3.1.4. Подготовка текстов программы и подпрограмм.

 

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

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

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

3.1.5. Отладка программы

 

Отладка программы - это процесс обнаружения, локализации и исправления ошибок в программе. Она может занимать до 50% времени от общих затрат на разработку программы. Обычно отладку программы выполняют в два этапа: поиск и исправление синтаксических ошибок (синтаксическая отладка) и поиск и исправление логических ошибок (алгоритмическая отладка). Цель отладки - доказательство правильности программы, определение основных характеристик программы.

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

При выполнении синтаксической отладки необходимо иметь в виду, что:

1) транслятор обнаруживает не все ошибки, например, если в некотором выражении в программе вместо NT записано HT и объявлены обе такие переменные, то такую ошибку транслятор обнаружить не сможет;

2) некоторые ошибки приводят к тому, что верные операторы воспринимаются транслятором, как ошибочные и наоборот - ошибочные операторы ЭВМ воспринимаются, как верные;

3) ошибка в одном месте программы может повлечь за собой серию диагностических сообщений в других местах программы.

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

Алгоритмическая отладка - это поиск и исправление семантических ошибок и ошибок в алгоритме. Семантическая ошибка появляется в результате неправильного понимания программистом смысла операторов языка программирования. Основными инструментами алгоритмической отладки являются тесты и пошаговое выполнение программы с контролем значений переменных.

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

 




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 367; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.014 сек.