Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Стили и методы программирования. Учебное пособие для СПО
.pdf
Методы по отношению к стилям
Мы рассмотрим лишь методы высшего уровня. Их конкретизации
(например, метод динамического программирования как конкретизация
метода потока данных), конечно же, подчиняются общим
закономерностям, но могут из-за большей конкретности либо
сглаживать их, либо обострять
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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
