Общие сведения

Оглавление

Учебное пособие

ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ

М.В. Аристов, Д.И. Полетаев

Учебное пособие

ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ

М.В. Аристов, Д.И. Полетаев

Искусство адаптации на рабочем месте. Социально-психологическое сопровождение сотрудников в период адаптации.

Псков

Издательство ПсковГУ


Министерство образования и науки Российской Федерации

Псковский государственный университет

Рекомендовано к изданию кафедрами

«Информационные системы и технологии»

и

«Вычислительная техника»

Псковского государственного университета

Псков

Издательство ПсковГУ


УДК 004.42

А813

ББК 32.97-018.2

Рецензенты:

Ильин С.Н., заместитель генерального директора ОАО «СКБ Вычислительной техники»;

Лёхин С.Н., к.т.н., декан факультета Информатики, заведующий кафедрой «Вычислительная техника».

Рекомендовано кафедрами «Информационные системы и технологии» и «Вычислительная техника» Псковского государственного университета

Аристов М.В.., Полетаев Д.И. Технологии программирования. — Псков: Изд-во Псков ГУ, 2013. — 128 с.

Учебное пособие предназначено для студентов всех форм обучения факультета Информатики Псковского государственного университета по направлению подготовки 230100 "Информатика и вычислительная техника". Может быть использовано студентами других вузов технических специальностей и направлений подготовки дипломированных специалистов.

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

ISBN

УДК 004.42

ББК 32.97-018.2

© Псковский государственный

университет, 2013.

© Аристов М.В., Полетаев Д.И., 2013.


Введение............................................................................................... 6

1. Языки программирования «С», «С++».......................................... 7

1.1. Характеристика языков «С» и «С++»............................ 7

1.2. Переменные. Типы данных........................................... 13

1.3. Константы...................................................................... 16

1.4. Операции........................................................................ 18

1.5. Операторы ветвления и цикла...................................... 20

1.6. Функции......................................................................... 22

1.7. Указатели. Массивы. Строки........................................ 25

1.8. Организация ввода-вывода........................................... 31

1.9. Директивы препроцессора............................................ 36

1.10. Метки. Безусловный переход...................................... 37

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

1.12. Введение в объектно-ориентированное программирование 42

1.13. Примеры программ..................................................... 44

Контрольные вопросы......................................................... 52

2. Введение в технологию программирования................................ 53

2.1 Общие положения........................................................... 53

2.2. Жизненный цикл программного продукта.................. 59

2.3. Стратегии разработки программных средств............. 61

2.4. Реализация стратегий разработки ПС в различных моделях проектирования........................................................................................................ 61

2.5. Процессы проектирования программного продукта.. 71

2.6. Декомпозиция подсистемы на модули.......................... 74

2.7. Кодирование.................................................................. 79

2.8. Процессы тестирования программного продукта....... 80

2.9. Основные принципы тестирования ПО........................ 82

2.10. Особенности функционального тестирования программного обеспечения......................................................................................................... 90

2.11. Организация процесса тестирования ПО................... 94

2.12. Тестирование интеграции............................................ 97

2.13 Системное тестирование............................................. 102

2.14. Документирование..................................................... 104

2.15. Проектирование пользовательского интерфейса..... 104

Контрольные вопросы....................................................... 107

Часть 3. Типовые структуры данных.............................................. 108

3.1. Общие сведения........................................................... 108

3.2 Основные структуры данных....................................... 108

3.3. Упорядоченные структуры данных............................ 112

3.4. Деревья......................................................................... 115

3.5. Множества, графы....................................................... 118

3.6. Строки.......................................................................... 120

3.7. Библиотека STL........................................................... 122

Контрольные вопросы....................................................... 125

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


Введение

Настоящее пособие содержит описание синтаксиса и семантики языка программирования высокого уровня Си с примерами реализации типовых алгоритмов и структур данных с использованием Си, а также технологии и этапов разработки программных продуктов

В первой главе приведены сведения о синтаксисе и семантике языков программирования высокого уровня «С» и «С++». Для усвоения приведенного материала достаточно базовых знаний в области алгоритмических структур и представления о языках программирования высокого уровня.

При изложении материала главы используются следующие мета-конструкции:

- текст, заключенный в квадратные скобки и выделенный курсивом, указывает на необязательную часть языковой конструкции, например [else оператор2;]

- символ → обозначает результат операции

- многоточие в примерах обозначает множество операторов, содержание которого для примера не важно.

Примеры, приводимые в тексте, содержат фрагменты программ, для их понимания достаточно сведений из предыдущих параграфов. Такие примеры выделены курсивом. Более сложные примеры, в том числе завершённые программы, приведены в последнем параграфе главы.

По языку Си рекомендуется литература [1] — [3], по С++ — [4]. Общие подходы к программированию изложены в [5].

Во второй главе рассматриваются основные понятия технологии разработки программного обеспечения, этапы проектирования программного продукта и методика его тестирования. Подходы к проектированию изложены в [6]-[9]. Дополнительно с принципами объектной декомпозиции систем можно ознакомиться в [10] — [11].

Третья глава посвящена основным структурам данных и механизмам их обработки с примерами на С++. Для лучшего понимания изложенного материала желательно знакомство с курсом «Дискретная математика», а также знание основ С++. Литература по разделу: [5,12]


1. Языки программирования «С», «С++»

1.1. Характеристика языков «С» и «С++»

Си (англ. C) — стандартизированный процедурный язык программирования, разработанный в начале 1970-х годов сотрудниками Bell Labs Кеном Томпсоном и Денисом Ритчи как развитие языка Би. Си был создан для использования в операционной системе UNIX. С тех пор он был портирован на многие другие операционные системы и стал одним из самых используемых языков программирования. Синтаксис языка Си стал основой для многих других языков.

Язык программирования Си был разработан в лабораториях Bell Labs в 1973 году. Язык назвали «Си», потому что многие его особенности берут начало от старого языка «Би». В 1978 году Ритчи и Керниган опубликовали первую редакцию книги «Язык программирования Си». Эта книга, известная среди программистов как «K&R», служила многие годы неформальной спецификацией языка. Версию языка Си, описанную в ней, часто называют «K&R C». В 1983 году Американский национальный институт стандартов (ANSI) сформировал комитет для разработки стандартной спецификации Си, которая была утверждена в 1989 году как «Язык программирования Си» ANSI X3.159-1989. Эту версию языка принято называть ANSI C или C89. В 1990 году стандарт ANSI C был принят с небольшими изменениями Международной организацией по стандартизации (ISO) как ISO/IEC 9899:1990. В конце 1990-х годов стандарт подвергся пересмотру, что привело к публикации ISO 9899:1999 в 1999 году. Этот стандарт обычно называют «C99». По состоянию на 2013 год GCC и другие компиляторы языка Си поддерживают многие нововведения стандарта C99. Тем не менее, ощущается недостаточная поддержка стандарта со стороны крупных производителей средств разработки, таких как Microsoft и Borland. В марте 2000 года стандарт был принят и адаптирован ANSI. 8 декабря 2011 опубликован новый стандарт для языка Си (ISO/IEC 9899:2011). Некоторые возможности нового стандарта, по состоянию на 2013 год, уже поддерживаются компиляторами GCC и Clang.

Стандартной библиотекой языка Си (также известная как libc, crt) называется часть стандарта ANSI C, посвященная заголовочным файлам и библиотечным подпрограммам. Стандартная библиотека обычно поставляется вместе с компилятором. Стандартные библиотеки конкретных реализаций компиляторов могут расширять стандарт, при этом расширения в различных компиляторах, как правило, не совместимы между собой.

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

C++ — компилируемый статически типизированный язык программирования общего назначения. Поддерживает такие парадигмы программирования как процедурное программирование, объектно-ориентированное программирование, обобщённое программирование, обеспечивает модульность, раздельную компиляцию, обработку исключений, абстракцию данных, объявление типов (классов) объектов, виртуальные функции.

Язык был разработан в начале 1980-х годов сотрудником фирмы Bell Labs Бьёрном Страуструпом. В 1985 году вышло первое издание «Языка программирования C++», обеспечивающее первое описание этого языка. В 1989 году состоялся выход C++ версии 2.0. В 1998 году был опубликован стандарт языка ISO/IEC 14882:1998 (известный как C++98). В 2003 году был опубликован стандарт языка ISO/IEC 14882:2003, где были исправлены выявленные ошибки и недочёты предыдущей версии стандарта. С 2009 года велась работа по обновлению предыдущего стандарта, предварительной версией нового стандарта сперва был C++99, а спустя год C++0x. В 2011 году принят C++11, куда были включены дополнения в ядро языка и расширение стандартной библиотеки.

Язык С++ расширяет язык С в части поддержки объектно-ориентированного программирования. Следует отметить, что, хотя данные языки являются родственными, начиная с С99, они не являются полностью совместимыми даже в области структурного программирования.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: