Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Проверка правильности алгоритма




Построение алгоритма

После постановки задачи и построения для нее модели необходимо приступить к разработке алгоритма ее решения. Выбор метода разработки, в большинстве случаев, определяется построенной моделью и может существенно повлиять на эффективность алгоритма решения. Несколько различных алгоритмов могут быть правильными, но, в то же время, значительно отличаться по эффективности (понятие и критерии эффективности будут рассмотрены ниже). Для построения «хорошего» алгоритма необходим тщательный анализ построенной модели и ее ограничений. Следует отметить, что среди начинающих (и не только) программистов существует тенденция уделять разработке алгоритма при создании программы необоснованно меньше времени, чем на собственно создание программы. Опыт преподавания дисциплины «Программирование» на факультете Математики и информатики Тульского государственного педагогического университета позволяет утверждать, что в большинстве случаев студенты недооценивают стадию построения алгоритма и стремятся как можно быстрее перейти к написанию программы. Для некоторых достаточно простых задач такой подход во многом оправдан, но более серьезные требуют тщательного продумывания алгоритма, лежащего в их основе. В конечном итоге это приводит к отождествлению понятий «программирование» и «набор программы» и невозможности дальнейшей отладки полученной программы.

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

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




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


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


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



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




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