Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Стили и методы программирования. Учебное пособие для СПО

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
Методы по отношению к стилям
Мы рассмотрим лишь методы высшего уровня. Их конкретизации (например, метод динамического программирования как конкретизация метода потока данных), конечно же, подчиняются общим закономерностям, но могут из-за большей конкретности либо
сглаживать их, либо обострять
1)
. Скажем, метод динамического программирования приводит к почти безнадежной неэффективности либо неэстетичности программ во всех стилях, кроме циклического варианта структурного стиля.
Дадим первый вариант сводки известных сочетаемостей и несочетаемостей. Он не оформлен в виде таблицы, поскольку его пункты зачастую требуют комментариев.
1. Метод потока данных.
Отлично сочетается со структурным программированием в его циклической форме. Даже если поток данных слишком сложен для прямого представления в качестве структуры данных в программе, он является ядром понимания и перестройки алгоритма, заставляя осознать и документировать сеть данных.
Хорошо сочетается:
с программированием от событий, если данные сами по себе не слишком сложные, а их взаимосвязи в потоке динамичны; с сентенциальным программированием в форме конкретизации, если данные достаточно широкие, иерархически структурированы, а их перестройки в основном глобальные.
Плохо сочетается с сентенциальными методами унификации и возвратов, программированием от приоритетов, функциональным программированием, автоматным программированием.
2. Метод таблиц.
Стили и методы программированияНепейвода Н.Н.
291
Отлично сочетается с автоматным программированием как в последовательной, так и в параллельной форме.
Хорошо сочетается с сентенциальным программированием в обоих видах и с программированием от приоритетов.
Удовлетворительно сочетается с функциональным программированием.
Плохо сочетается с программированием от событий и со структурным программированием в обеих формах.
3. Метод нисходящего проектирования.
Отлично сочетается со структурным программированием в обеих формах, с функциональным программированием и с унификационным вариантом сентенциального.
Удовлетворительно либо плохо сочетается со всеми остальными.
4. Метод восходящего проектирования.
Отлично сочетается со всеми формами событийного и автоматного программирования.
Удовлетворительно либо плохо сочетается с остальными.
5. Метод программирования в ширину.
Отлично сочетается с сентенциальным программированием, с событийным и автоматным программированием.
Плохо сочетается со структурным и функциональным программированием (они требуют слишком большой упорядоченности знаний, которая в данном случае достижима лишь на заключительных этапах).
6. Метод макроподстановок.
Отлично сочетается с функциональным и сентенциальным программированием.
Стили и методы программированияНепейвода Н.Н.
292
Плохо сочетается с остальными.
7. Метод динамического порождения программ.
Отлично сочетается с функциональным и сентенциальным программированием.
Плохо сочетается с остальными.
8. Метод индукции и инвариантов.
Отлично сочетается с рекурсивным вариантом структурного программирования.
Хорошо сочетается с циклическим вариантом рекурсивного программирования, когда поток данных простой, и с унификационным вариантом сентенциального программирования.
Плохо сочетается со всеми остальными.
1)
Чаще всего в одних аспектах они сглаживают концептуальные
противоречия (не устраняя их полностью), а в других обостряют.
Стили и методы программированияНепейвода Н.Н.
293

Список литературы

1. Алагич С., Арбиб М., Проектирование корректных структурированных программ., М.: Радио и связь, 1984. - 264 с.
2. Анисимов С.Н., Пупышев В.В., 1001 задача по программированию., Открытые системы, 2004.
3. Бабаев И.О., Герасимов М.А., Косовский Н.К. и др., Интеллектуальное программирование. Турбо Пролог и Рефал на персональных компьютерах., СПб.: СПбГУ, 1992. - 167 с.
4. Бежанова М.М., Поттосин И.В., Современные понятия и методы программирования., М.: Научный мир, 2000.
5. Бельтюков А.П., Язык программирования Рефал (учебное пособие для студентов­математиков)., Ижевск, УдГУ. 1989. - 62 с.
6. Братко И., Програм мирование на языке ПРОЛОГ для искусственного интеллекта., М.: Мир, 1990. - 560 с.
7. Брудно А.Л., Программирование в содержательных обозначениях., М.: Наука, 1968. ­144 с.
8. Гамма Э., Хелм Р., Джонсон Р., Ворссидес Дж., Приемы объектно­ориентированного проектирования. Паттерны проектирования., СПб: Питер, 2001. ­368 с.
9. Грис Д., Наука программирования., М.: Мир, 1984.
10. Рутен Ф. Гурин, Сергей А. Романенко, ЯЗЫК ПРОГРАММИРОВАНИЯ РЕФАЛ ПЛЮС, URL: http://www.refal.ru/rfp_frm.html
11. Дейкстра Э., Дисциплина программирования., М.: Мир, 1978. - 278 с.
12. Ковальски Р., Логика в решении проблем., М.: Наука, 1990. - 280с.
13. Кормен Т., Лейзерсон Ч., Ривест Р., Алгоритмы: построение и анализ., М.: МЦНМО,
1999.
14. Корнеев В.Д., Параллельное программирование в МPI., М. - Ижевск: ИКИ, 2003. ­303 с.
15. Котельников И., Чеботаев П, Издательская система LАTEX2e., Новосибирск: Сибирский хронограф, 1998.
16. Котов В.Е., Введение в теорию схем программ., М.: Наука, 1978. - 257 с.
17. Котов В.Е. Сабельфельд В. К., Теория схем программ., М.: Наука, 1991. - 248 с.
18. Леоненков А.А., Самоучитель UML., СПб.: БХВ-Петербург, 2001. - 304 с.
19. Мартин Д. и др., XML для профессионалов., М.: Лори, 2001.
20. Непейвода Н.Н., Прикладная логика, Новосибирск: НГУ, 2000. - 491 с.
21. Непейвода Н.Н., Основания программ ирования. Лекции 2004 г, М.: ИНТУИТ, 2004.
22. Непейвода Н.Н., Скопин И.Н., Основания программирования., Москва-Ижевск, РХД, 2003. - 880 с.
23. Ренделл Б., Рассел Л., Реализация АЛГОЛА 60., М.: Мир, 1967. - 475 с.
24. Базисный Рефал и его реализация на вычислительных машинах., М.: ЦНИПИАСС,
1977. - 258 с.
25. Скопин И.Н., Языковая среда для разработки программ непрофессиональными пользователями ЭВМ / Под ред. И.М. Бобко., Новосибирск: НИИ ИВТ АПН СССР,1991.
- 94 с.
Стили и методы программированияНепейвода Н.Н.
294
26. Турчин В.Ф., Базисный Рефал. Описание языка и основные приемы программирования. (Методические рекомендации)., М.:ЦНИПИАСС, 1974. - 96 с.
27. Тыугу Э.Х., Концептуальное программ ирование., М. Наука. 1984. - 256 с.
28. Хоар Ч., Взаимодействующие последовательные процессы., М.: Мир, 1989.
29. Чень Ч., Ли Р., Математическая логика и автоматическое доказательство теорем., М.: Наука, 1983. - 358 с.
30. Цейтин Г.С., На пути к сборочному программ ированию, Програм мирование, №1,
1990. - С. 78-92.
31. Шалыто А.А., SWITCH-технология. Алгоритмизация и программирование задач логического управления., СПб.: Наука, 1998. - 628 с.
32. Шалыто А.А., Логическое управление Методы аппаратной и программной реализации алгоритмов, СПб.: Наука, 2000. - 780 с.
33. Шалыто А.А., Новая инициатива в программировании. Движение за открытую проектную документацию, Мир ПК, №9, 2003. - с.52-56.
34. Bacus J., Can programming be liberated from the von Neuman style?, Comm. ACM, 21,1978,
35. Deransart P., Ed-Dbali A. and Cervoni L., Prolog: The Standard, Springer-Verlag, New York, 1996.
36. Rational Unified Process, Copyright c 2001 Rational Software Corporation.
37. Turchin V.F., Refal-5, Programming Guide and Reference Manual., New England Publishing Co., Holyoke, 1989.
Стили и методы программированияНепейвода Н.Н.
295