авторефераты диссертаций БЕСПЛАТНАЯ БИБЛИОТЕКА РОССИИ

КОНФЕРЕНЦИИ, КНИГИ, ПОСОБИЯ, НАУЧНЫЕ ИЗДАНИЯ

<< ГЛАВНАЯ
АГРОИНЖЕНЕРИЯ
АСТРОНОМИЯ
БЕЗОПАСНОСТЬ
БИОЛОГИЯ
ЗЕМЛЯ
ИНФОРМАТИКА
ИСКУССТВОВЕДЕНИЕ
ИСТОРИЯ
КУЛЬТУРОЛОГИЯ
МАШИНОСТРОЕНИЕ
МЕДИЦИНА
МЕТАЛЛУРГИЯ
МЕХАНИКА
ПЕДАГОГИКА
ПОЛИТИКА
ПРИБОРОСТРОЕНИЕ
ПРОДОВОЛЬСТВИЕ
ПСИХОЛОГИЯ
РАДИОТЕХНИКА
СЕЛЬСКОЕ ХОЗЯЙСТВО
СОЦИОЛОГИЯ
СТРОИТЕЛЬСТВО
ТЕХНИЧЕСКИЕ НАУКИ
ТРАНСПОРТ
ФАРМАЦЕВТИКА
ФИЗИКА
ФИЗИОЛОГИЯ
ФИЛОЛОГИЯ
ФИЛОСОФИЯ
ХИМИЯ
ЭКОНОМИКА
ЭЛЕКТРОТЕХНИКА
ЭНЕРГЕТИКА
ЮРИСПРУДЕНЦИЯ
ЯЗЫКОЗНАНИЕ
РАЗНОЕ
КОНТАКТЫ


Pages:     | 1 |   ...   | 3 | 4 ||

«Пышкин Е.В. СТРУКТУРНОЕ ПРОЕКТИРОВАНИЕ: ОСНОВАНИЕ И РАЗВИТИЕ МЕТОДОВ С примерами на языке C++ Учебное пособие ...»

-- [ Страница 5 ] --

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

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

названия могут запутывать читателя.

В работе [Шалыто, Туккель, 2001] показывается, каким образом итерационные (структурированные и неструктурированные) алгоритмы могут быть преобразованы к автоматным. Следует заметить, что для многих задач, не связанных с управлением потоком событий и проверкой большого числа условий, адекватность и наглядность автоматной модели остается предметом дискуссий.

Студентам, изучающим программирование, весьма полезно сравнить подходы к обработке событий, основанные на автоматной модели, с другими реализациями. Актуальной реализацией является модель программирования, ориентированного на события, в рамках вычислительной платформы Microsoft.NET и языка программирования C#.

Отметим, что в языке C# содержатся специальные изобразительные средства для представления событий и привязываемых к ним обработчиков (см., например,[Richter, 2002]).

Заключение Если обратиться к латинским корням слова «искусство», мы найдем ars, artis, что означает «умение». Не следует умалять и значения соответствующего греческого слова, корня и для «технологии», и для «техники». В наши дни, говоря об искусстве, мы в первую очередь подразумеваем «изящные искусства» такие как живопись и скульптура, в то время как до наступления XX столетия это слово использовалось главным образом в совершенно ином значении Дональд Элвин Кнут Я поместил в эту книгу немного необычное заключение, составленное из трех небольших заметок о программировании как синтетической области знания, в которой искусство и вдохновение дополняет науку и технологию.

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

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

Разрабатывая программу на некотором языке, мы не просто перечисляем в некоторой условной форме порядок действий, выполняемых компьютером, а пытаемся объяснить читателю, какие действия мы хотели бы получить в результате исполнения этой программы. Таким образом, объектом программы является человек. «Компьютерные программы приятно писать, а хорошо написанные программы приятно читать, – отмечает Д. Кнут, – компьютерные программы, которые действительно красивы, и полезны, должны быть читаемыми» [Knuth, 1992].

Еще в 1976 году Э. Дейкстра выражал свое разочарование тем, что, несмотря на то, что «программы могут очаровывать глубиной своего логического изящества, [...] большинство из них появляются в виде, совершенно непригодном для человеческого восприятия» [Dijkstra, 1976].

Проблема остается актуальной и по сей день. Стоит помнить, что первым читателем программы является сам автор – воистину: «возлюби ближнего твоего как самого себя» (Мат. 22, 39).

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

Единство формы и содержания (то есть правильность выбора изобразительных средств и построения абстракций предметной области) во многом обусловливает стилистическую целостность программного кода. В последней фразе появляется понятие стиля (по определению Н. Вирта, этого «неуловимого, но важного свойства» искусства программирования [Wirth, 1976]). Критика стиля – один из самых дискуссионных моментов в творчестве вообще и в искусстве проектирования программ, в частности, поскольку замечания типа «хороший стиль» или, напротив, «плохой стиль»

не всегда легко мотивировать. Хороший стиль обычно связан с профессионализмом исполнения. Р. Бар приводит пример из области архитектуры [Bahr, 1984]. Домашний умелец может выстроить на своем дачном участке функциональную, надежную и, возможно, не лишенную оригинальности постройку, но ориентирами в проектировании зданий и сооружений, предметом изучения студентов архитектурного института остаются работы профессиональных архитекторов и инженеров, которые и формируют стилистические направления в архитектурном творчестве. В статье «Контрапункт стилей как особенность искусств» Д.С. Лихачев дает короткое, но емкое объяснение: «Стиль всегда некоторое единство. Это единство пронизывает и объединяет собой как форму произведения искусства, так в известной мере и его содержание» [Лихачев, 1989].

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

[Лихачев, 1989]).

Мысль Д.С. Лихачева перекликается здесь с искусствоведческими исследованиями П.А. Флоренского, который отмечал, говоря об искусстве живописи, что рассматривание живописного полотна не есть акт мгновенного созерцания, а именно акт разглядывания, при котором зритель повторяет направления движения взгляда, заданное художником или изобретенное самим зрителем (если зритель не смог или не захотел уловить или понять волю художника). Картина эстетически-принудительно разворачивается перед зрителем. «Ведь произведения изобразительных искусств, пока они не прочитаны и не осуществлены во времени, вообще для нас не стали художеством. В этом смысле они не более понятны музыкальной партитуры, если таковая, будучи сама в себе лишь родом плоского орнамента, не зазвучала ритмически инструментальным или внутренним чтением. А по указанию композиторов, уже г р а ф и ч е с к и й р и с у н о к симфонии, з р и т е л ь н а я к р а с о т а [разрядка моя – Е.П.] его или безобразие, дает опытному человеку основание судить о музыкальной ценности этой записи» («Анализ пространственности в художественно-изобразительных произведениях» [Флоренский, 1983]).

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

От сложного к простому, или принципы Дэвида Стрэйкера …просто, насколько возможно, но не более того Альберт Эйнштейн В замечательной книге «Стиль программирования на C: стандарты и рекомендации» (C-Style: Standards and Guidelines) [Straker, 1992] Д. Стрэйкер сформулировал ряд принципов, ценность которых едва ли исчерпывается программированием на языке C.

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

Анализируя скрупулезную монографию Д. Стрэйкера, невольно замечаешь, что большинство высказываемых им рекомендаций по организации и форматированию кода, именованию и размещению программных объектов, комментированию кода и составлению документации во многом сходятся с теми правилами, которым большинство программистов следуют в повседневной практике. Принцип «Думайте о читателе» конкретизируется Д. Стрэйкером в виде четверки основных принципов конструирования программ:

Принцип «не усложняйте простое», или так называемый KISS Principle (акроним от англ. «Keep It Simple, Stupid!», придуманный Смитом [Smith, 1983]). Обратной стороной простоты является сложность. Это означает, что следует избегать таких ситуаций, когда код кажется простым на вид, однако его назначение в действительности далеко не очевидно.

Принцип «явно выражайте свои намерения», или SWYP Principle (акроним от англ. «Say What You Mean»). Это означает, что следует минимизировать те случаи, когда автор полагается на действие различных подразумеваемых, но не сформулированных явно соглашений.

Принцип «сохраняйте единство стиля», ведь, как было отмечено ранее, стиль – всегда единство. Нет единства – нет и стиля. Это касается различных сторон проектирования, включая такие мелочи, как использование отступов и пробелов, конструирование имен, размещение инструкций языка относительно друг друга.

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

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

Нет единственно верного стиля. Но есть множество примеров плохого стиля!

Стандарт, который не используют, не является стандартом.

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

Соблюдение стандарта не гарантирует качество кода. Отличные программы пишут отличные проектировщики [Brooks, 1995].

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

Используйте стандартные библиотечные средства. Объясняйте случаи отклонения от стандартной библиотеки.

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

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

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

(разработка качественного программного обеспечения) во многом остается недостижимым идеалом.

Результаты Проектные принципы Стандарты и рекомендации Основания проектирования Талант и труд Искусство и вдохновение Наука и технология Но разве идеалы существуют для того, чтобы их достигать?

М.Ф. Лекарев Список источников Ссылки на зарубежные источники даются по возможности в их оригинальном наименовании. Одновременно приводятся библиографические сведения о переводном издании (при этом автор и название напечатаны полужирным шрифтом). Если полужирным начертанием выделено издание на языке оригинала, это означает, что автору неизвестен или оказался недоступен перевод этого издания на русский язык, и он пользовался оригинальной версией.

[Aho, Ullman, 1972] Aho A.V., Ullman J.V. The Theory of Parsing, Translation and Compiling. Volume 1:

Parsing. Prentice Hall, Englewood Cliffs, N.J., 1972.

Ахо А., Ульман Дж. Теория синтаксического анализа, перевода и компиляцию Том 1: Синтаксический анализ / Пер. с англ.- М.: Мир, 1978. 612 с.

[Austern, 1999] Austern, Matthew H. Generic Programming and the STL: Using and Extending the C++ Standard Template Library. Addison-Wesley. 1999.

Остерн М. Обобщенное программирование и STL: Использование и наращивание стандартной библиотеки шаблонов / Пер. с англ.- СПб.:

Невский диалект, 2004.- 544 с., ил.

[Buhr, 1984] Buhr, R.J.A. System Design with Ada. Carleton University Ottawa, Ontario, Canada.

Prentice-Hall Inc. Englewood Cliffs, 1984.

Бар Р. Язык Ада в проектировании систем / Пер. с англ.- М.: Мир, 1988. 320 с., ил.

[Brooks, 1995] Brooks, Frederick P., Jr. The Mythical Man-Month. Essays on Software Engineering.

Anniversary Edition. Addison-Wesley, 1995.

Брукс Ф. Мифический человеко-месяц, или как создаются программные системы / Пер. с англ.- СПб.: Символ, 2000.- 304 с., ил.

[Coplien, 1999] Coplien J. Multiparadigm Design for C++. Addison-Wesley, 1999.

Коплиен Дж. Мультипарадигменное проектирование для C++ / Пер. с англ.- СПб.: Питер, 2005- 235 с., ил.

[Dahl, Dijkstra, Hoare, 1972] Dahl O.-J., Dijkstra E.W., Hoare C.A.R. Structured Programming. Academic Press.

London and New York. 1972.

Дал У., Дейкстра Э., Хоор К. Структурное программирование / Пер. с англ.- М.:Мир,1975.-248 с.

[Dijkstra, 1968] Dijkstra, Edsger W. GOTO statement considered harmful // Communication of the ACM, Vol.11, No.3, March 1968. P.147-148.

[Dijkstra, 1976] Dijkstra, Edsger W. A Discipline of Programming. Prentice-Hall Inc. Englewood Cliffs, N.J., 1976.

Дейкстра Э. Дисциплина программирования / Пер. с англ.- М.:Мир,1978. 280 с.

[Eckel, 2000] Eckel, Bruce. Thinking in C++. 2nd ed. Volume One: Introduction to Standard C++.

Prentice Hall Inc. 2000.

Эккель Б. Философия C++. Введение в стандартный C++. 2-е изд / Пер. с англ. - Питер, 2004.- 572 с., ил.

[Eckel, Allison, 2003] Eckel, Bruce;

Allison, Chuck. Thinking in C++. 2nd ed. Volume Two: Practical Programming. Prentice Hall Inc. 2003.

Эккель Б., Эллисон Ч. Философия C++. Практическое программирование / Пер. с англ. - Питер, 2004.- 608 с., ил.

[Fowler, 1999] Fowler, Martin. Beck, Kent. Refactoring. Improving the Design of Existing Code. Addison Wesley Pub. Co. 1999.

Фаулер М. Рефакторинг. Улучшение существующего кода / Пер. с англ. М.: Символ-Плюс, 2003.- 432 с.

[Gries, 1971] Gries, David. Compiler Construction for Digital Computers. Cornell University. John Wiley & Sons, Inc. 1971.

Грис Д. Конструирование компиляторов для цифровых вычислительных машин / Пер. с англ.- М.: Мир, 1975.- 544 с., ил.

[Gunnerson, 2000] Gunnerson, Eric. A Programmer’s Introduction to C#. Apress. 2000.

Гуннерсон Э. Введение в C#. Библиотека программиста / Пер. с англ. СПб.: Питер, 2001.- 304 с., ил.

[Harel, 1987] Harel D. Statecharts: A Visual Formalism for Complex systems // Elsevier Science Publishers B.V. (North-Holland), Science of Computer Programming, Vol.8, 1987. pp.231-274.

[Harel, 1988] Harel D. On Visual Formalisms // Communications of the ACM, Vol.31, No.5, May 1988.- pp.514-530.

[IEEE, 1985] Binary Floating-Point Arithmetic. IEEE Standard 754, IEEE, New York, 1985.

[Jacob, 1985] Jacob R.J.K. A state transition diagram language for visual programming // Computer, Vol.18, No.8, August 1985.- pp.51-59.

[Kernighan, Plauger, 1978] Kernighan, Brian W. Plauger P.J. The Elements of Programming Style.

McGraw-Hill Book Compamy, 1978.

[Knuth, 1973] Knuth, Donald E. The art of computer programming. Volume 3. Sorting and Searching.

Addison-Wesley, 1973.

Кнут Д. Искусство программирования для ЭВМ. Т.3. Сортировка и поиск. М.: Мир, 1978.- 844 с.

[Knuth, 1974] Knuth, Donald E. Structured programming with go to statements // Computer Surveys, Vol.6, No.4, December 1974, pp.261-301.

[Knuth, 1992] Knuth, Donald E. Literate Programming. CSLI: Center for study of Language and Infromation. Leland Stanford Junior University. 1992. (Chapter 1: Computer Programming as an Art, pp. 1-16).


[Lekarev, 1993] Lekarev M.F. Das graphische Verfahren der Software-Entwicklung fr logisch komplizierte Anwendungen // Technische Berichte der Fachhochschule Hamburg, №25 (Aug.1993), s.36-38.

[Linger, Mills, Witt, 1979] Linger, Richard S. Mills, Harland D. Witt, Bernard I. Structured Programming: Theory and Practice. Addison-Wesley, 1979.

Лингер Р., Миллс Х., Уитт Б. Теория и практика структурного программирования / Пер. с англ.- М.: Мир, 1982- 406 с., ил.

[McConnell S., 1993] McConnell, Steve. Code Complete. A Practical Handbook of Software Construction. Microsoft Press. Redmond, Washington. 1993.

[McConnell J., 2001] McConnell, Jeffrey J. Analysis of Algorithms: An Active Learning Approach. Jones & Barlett Publishers, 2001.

Макконелл Дж. Анализ алгоритмов. Вводный курс / Пер. с англ.- М.:

Техносфера, 2002- 304 с.

[Mendelson, 1963] Mendelson, Elliott. Introduction to Mathematical Logic. D. van Nostrand Company, Inc.

1963.

Мендельсон Э. Введение в математическую логику / Пер. с англ.- М.:

Наука, 1971- 320 с., ил.

[Meyers, 2000] Meyers, Scott. How Non-Member Functions Improve Encapsulation // C/C++ Users Journal, Feb.2000. www.cuj.com/articles/2000/ Мейерc C. Как функции, не являющиеся методами, улучшают инкапсуляцию / Пер. с англ. А.И. Легалова. www.softcraft.ru/coding/sm/sm01.shtml [Ming, Vitanyi, 1993] Ming, Li. Vitanyi, Paul. An Introduction to Kolmogorov Complexity and Its Applications.

Springer-Verlag, 1993.

[Nassi, Schneiderman, 1973] Nassi I, Schneiderman B. Flowcharts techniques for structured programming // ACM SIGPLAN Notices, Vol.8, No.8, August 1973.-pp.12-26.

[Petzold, 1999] Petzold, Charles. Code. The Hidden Language of Computer Hardware and Software.

Microsoft Press. 1999.

Петцольд Ч. Код. Тайный язык информатики / Пер. с англ.- М.: Издательско торговый дом «Русская редакция», 2004.- 512 с., ил.

[Perec, 1978] Perec, George. La Vie, mode d’emploi. Romans. Hachette, 1978.- 640 p.

[Pychkine, 2003] Pychkine, Evgueni V. Understanding the Object Model. Prerequisites for the crash course of software engineering. Ajankohtaista-aktuellt. Central Ostrobothnia Polytechnics.

2003. ISBN 952-5107-33-7.

[Pychkine, 2004] Pychkine, Evgueni. An Introduction to the Microsoft.NET Framework Architecture and Tools. Supplementary materials for the crash course of software engineering. Central Ostrobothnia Polytechnic, 2004.- 63 p.

[Richter, 2002] Richter, Jeffrey. Applied Microsoft.NET Framework Programming. Microsoft Press.

2002.

Рихтер Дж. Программирование на платформе Microsoft.NET Framework / Пер. с англ.- М.: Издательско-торговый дом «Русская редакция», 2002.- 512 с., ил.

[Robbins, 2000] Robbins, John. Debugging Applications. Microsoft Press. 2000.

Роббинс Дж. Отладка приложений / Пер. с англ.- СПб.: БХВ-Петербург, 2001. 512 с., ил.

[Sebesta, 2002] Sebesta, Robert W. Concepts of Programming Languages. Addison-Wesley Inc. 2002.

Себеста Р.У. Основные концепции языков программирования / Пер. с англ.- М.: Издательский дом «Вильямс», 2001.-672 с., ил.

[Shneiderman, 1980] Shneiderman, Ben. Software Psychology. Human Factors in Computer and Information Systems. Little, Brown and Co., 1980.

Шнейдерман Б. Психология программирования: человеческие факторы в вычислительных и информационных системах / Пер. с англ.- М.: Радио и связь, 1984.- 304 с.

[Smith, 1983] Smith, Ronald B. The Kiss Principle. New York and Princeton, NJ: Petrosellig, 1983.


[Straker, 1992] Straker, David. C-style: standards and guidelines. Prentice Hall, International (UK) Ltd., 1992.

[Stroustrup, 2000] Stroustrup, Bjarne. The C++ Programming Language. Special Edition. Addison-Wesley.

2000.

Страуструп Б. Язык программирования C++. Специальное изд. / Пер. с англ.- М.: «Издательство Бином», СПб.: «Невский диалект», 2001.- 1099 с., ил.

[Stroustrup, 2001] Stroustrup, Bjarne. The Future is Multiparadigm Programming // Interview for Linux World, February 2001.

Калев Д. Будущее по Бьерну Страуструпу // Интервью Б. Страуструпа для Linuz World, пер. с англ.- Мир ПК, №5, М., 2001.

[Troy, 1986] Troy, Douglas A. Complete C Language Programming for the IBM-PC. Little, Brown and Company. Трой Д. Программирование на языке Си для персонального компьютера IBM PC / Пер. с англ.- М.: Радио и связь, 1991.- 432 с., ил.

[Weinberg, 1988] Weinberg, Gerald. Understanding the Professional Programmer. Dorset House Publishing, 1988.

[Wiener, 1961] Wiener, Norbert. Cybernetics, or Control and Communication in the Animal and the Machine. 2nd Ed. New York – London. Винер Н. Кибернетика, или управление и связь в животном и машине. / Пер. с англ.- М.: Гл. ред. изданий для зарубежных стран изд-ва «Наука», 1983.- 344 с.

[Wirth, 1973] Wirth, Niclaus. Systematic Programming. An Introduction. Prentice-Hall, Inc. Englewood Cliffs, N.J. 1973.

Вирт Н. Систематическое программирование. Введение / Пер. с англ.- М.:

Мир, 1977.- 184 с., ил.

[Wirth, 1976] Wirth, Niclaus. Algorithms + Data Structures = Programs. Prentice-Hall, Inc. Englewood Cliffs, N.J. 1976.

Вирт Н. Алгоритмы + структуры данных = программы / Пер. с англ.- М.:

Мир, 1985.- 406 с., ил.

[Вельбицкий, 1984] Вельбицкий И.В. Технология программирования. - Киеа: Технiка, 1984. 279 с.

[Вельбицкий, 1985] Вельбицкий И.В. Безбумажная Р-технология проектирования широкого применения // Выч. техника социалистических стран, вып. 18.- М.:

Финансы и статистика, 1985.- с. 21-39.

[ГОСТ 19.005-85] ГОСТ 19.005-85. Р-схемы алгоритмов и программ. Обозначения условные графические и правила выполнения. – Действует с 01.07.1986.

[ГОСТ 19.701-90] ГОСТ 19.701-90 (ИСО 5807-85). Схемы алгоритмов, программ, данных и систем. Обозначения условные и правила выполнения.. – Действует с 01.01.1992.

[Давыдов, 2003] Давыдов В.Г. Программирование и основы алгоритмизации: Учебное пособие. - М.: Высшая школа, 2003.- 447 с., ил.

[Давыдов, 2005] Давыдов В.Г. Технологии программирования. C++. Учебное пособие. – СПб.: БХВ-Петербург, 2005.- 672 с., ил.

[Карпов, 2003] Карпов Ю.Г. Теория автоматов. Учебник для вузов –СПб.: Питер, 2003. 208 с.

[Карпов, 2005] Карпов Ю.Г. Теория и технология программирования. Основы построения трансляторов –СПб.: БХВ-Петербург, 2005.- 272 с.

[Колосов, Мелехин, 1983] Колосов В.Г., Мелехин В.Ф. Проектирование узлов и систем автоматики и вычислительной техники. – Л.: Энергоатомиздат, 1983. 256 с.

[Колмогоров, 1987] Колмогоров А.Н. Теория информации и теория алгоритмов. - М.: Наука, 1987.- 304 с., ил.

[Костомаров, 1994] Костомаров В.Г. Жизнь языка: От вятичей до москвичей. - М.: Педагогика Пресс, 1994.- 240 с., ил.

[Легалов, 2000] Легалов А.И. Процедурно-параметрическая парадигма программирования. Возможна ли альтернатива объектно ориентированному стилю? – Красноярск:2000. Деп. рук. №622-В00. Деп. в ВИНИТИ 13.053.2000.- 43 с.

[Легалов, 2002] Легалов А.И. Эволюция мультиметодов при процедурном подходе (2002). – www.softcraft.ru/coding/evp/evp.shtml [Лекарев, Мелехин, Пышкин, 1995] Лекарев М.Ф., Мелехин В.Ф., Пышкин Е.В. Автоматизированный синтез комбинационных схем на задаваемом наборе логических элементов // Вычислительные, измерительные и управляющие системы. Труды СПбГТУ №452, 1995, с.193- [Лекарев, 1997] Лекарев М.Ф. Визуальный формализм для разработки программного обеспечения. – Санкт-Петербургский гос. техн. ун-т. СПб,1997.-95 с.

[Лекарев, 2000-1] Лекарев М.Ф. Модули с двумя выходами в программных проектах. – СПб.: СПбГТУ, 2000.-72 с., ил.

[Лекарев, 2000-2] Лекарев М.Ф. Программная реализация конечных автоматов с использованием L-сети: методические указания. –СПб.: СПбГТУ, 2000. 32 с., ил.

[Лекарев, 2000-3] Лекарев М.Ф. Использование формализма L-сети в программах обработки текстов. –СПб.: СПбГТУ, 2000.-72 с., ил.

[Лекарев, 2000-4] Лекарев М.Ф. Программная реализация конечных автоматов с использованием L-сети. –СПб.: СПбГТУ, 2000.-32 с., ил.

[Лекарев, 2000-5] Лекарев М.Ф. L-сеть в сверхбольшом программном проекте. –СПб.:

СПбГТУ, 2000.-96 с., ил.

[Лекарев, Давыдов, 2002] Лекарев М.Ф., Давыдов В.Г. Проектирование Windows-приложений:

Учебное пособие.- СПб.: Издательство СПбГТУ, 2002.- 224 с., ил.

[Лихачев, 1989] Лихачев Д.С. О филологии.- М.: Высшая школа, 1989.- 208 с., ил.

[Одинцов, 2002] Одинцов И.С. Профессиональное программирование. Системный подход.- СПб.: БХВ-Петербург, 2002.- 512 с., ил.

[Павловская, 2001] Павловская Т.А. C/C++. Учебник -СПб.: Питер, 2001.- 464 с.

[Паронджанов, 1999] Паронджанов В.Л. Как улучшить работу ума. (Новые средства для образного представления знаний, развития интеллекта и взаимопонимания) -М.: Радио и связь, 1999.- 352 с.

[Пышкин, 1999] Пышкин Е.В. Автоматизация синтеза многоуровневых схем дискретных преобразователей информации на задаваемом избыточном элементном базисе // Диссертация на соискание ученой степени канд. техн. наук., СПб.: Санкт-Петербургский гос. технический университет, 1999.- 223 с.

[Пышкин, 2004] Пышкин Е.В. Функциональные особенности электронных документов и модели информационного обмена в электронном документообороте // Вычислительные, измерительные и управляющие системы: Сборник научных трудов аспирантов и молодых ученых факультета технической кибернетики / Под. ред. Ю.Б. Сениченкова.- СПб.: Изд-во Политехн.

ун-та, 2004. с.79-83.

[Пышкин, 2005] Пышкин Е.В. Основные концепции и механизмы объектно ориентированного программирования. Учебное пособие - СПб.: БХВ Петербург, 2005.- 640 с., ил.

[Флоренский, 1993] Флоренский П.А. Иконостас. Избранные труды по искусству. - СПб.:

Мифрил, Русская книга, 1993.- 366 с.

[Шалыто, 1998] Шалыто А.А. SWITCH-технология. Алгоритмизация и программирование задач логического управления. - СПб.: Наука, 1998. 628 с.

[Шалыто, Туккель, 2000] Шалыто А.А., Туккель Н.И. SWITCH-технология – автоматный подход к созданию программного обеспечения «реактивных» систем // «Программирование», №5, 2001.- с.45-62.

[Шалыто, Туккель, 2001] Шалыто А.А., Туккель Н.И. Преобразование итеративных алгоритмов в автоматные // «Программирование», №5, 2002.- с.12-26.

[Шопырин, Шалыто, 2004] Шопырин Д.Г., Шалыто А.А. Синхронное программирование // «Информационно-управляющие системы», №3, 2004.- с.35-42.



Pages:     | 1 |   ...   | 3 | 4 ||
 





 
© 2013 www.libed.ru - «Бесплатная библиотека научно-практических конференций»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.