Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Konspekt_TiTP_2011.docx
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
167.68 Кб
Скачать

Хлопин Сергей Владимирович

Конспект лекций «Теория и технологии программирования. Процедурное программирование»

Санкт-Петербург

2011

Оглавление.

Этапы создания программного продукта. 5

Структурирование программы. 6

Этапы получения программного кода 7

Функциональная декомпозиция 8

Алгоритм программы 9

Функция main 16

Блоки кода 17

Комментарии 17

Базовые понятия языка Си. 18

Специфика присвоения имён. 19

Ключевые слова Си 20

Типы данных. 22

Функции 23

Блоки кода программы. 24

Операторы языка C. 25

Базовые типы данных. 29

Файловый ввод - вывод. 30

Понятие, объявление и определение. 31

Ключевое слово typedef. 32

Виды компоновки программ: 32

Область видимости. 33

Область видимости переменной. 34

Оператор разрешения области видимости. 36

Пространство имён – namespace. 36

Инструкции. 37

Инструкции условий. 38

Инструкции цикла. 39

Инструкции безусловного перехода. 40

Препроцессор. Заголовочные файлы. Директивы препроцессора. 41

Указатели. 45

Арифметика указателей. 46

Связь массивов и указателей. 50

Двумерные массивы. 51

Трёхмерные массивы. 52

Массивы указателей. 52

Динамическое распределение памяти. 52

Управление памятью. Оператор new и delete. 53

Оператор new и массивы. 54

Многомерные массивы. 55

Ссылки. 55

Функции. 58

Определение функции (реализация). 59

Вызов inline функции. 60

Указатели на массивы в качестве параметров функции. 64

Значения аргументов функций по умолчанию. 65

Переменное число параметров функции. 67

Функции стандартной библиотеки 68

Виды возвращаемых значений и механизмы их формирования. 69

Проблемы при возвращении ссылки или указателя. 70

Ключевое слово const. 71

“Перегрузка” имён функции. 71

Возможный конфликт при использовании параметров по умолчанию. 73

Рекурсивные функции. 73

Структуры Си. 74

Структуры и функции. 77

Этапы создания программного продукта.

Любой выпущенный программный продукт за свой жизненный цикл проходит множество стадий от возникновения идеи и у заказчика к оформлению технического задания, производства программного комплекса и последующей его поддержки. Жизненный цикл программного продукта может быть представлен в виде хронологического ряда, который изображен на рисунке 1.

Постановка задачи

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

Проектирование

Оценка риска

Верификация

Кодирование

Тестирование

Уточнения

Производство

Сопровождение

Рис. 1. Этапы создания программного продукта.

Чем хуже организованны этапы разработки, тем больше требуется время на программирование, и тем самым повышается стоимость программы.

Структурирование программы.

Для увеличения скорости разработки программы, вся задача по созданию программы делится на подзадачи между разработчиками. В данном случае, применяется метод структурного программирования.

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

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

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

Рис. 2. Декомпозиция задачи на подзадачи.

Рис. 3. Файловая декомпозиция.

Разбиение на файлы позволяет:

  1. лучше ориентироваться в тексте программы;

  2. уменьшить общее количество времени создания нового загрузочного модуля компилятором.

Но между файлами возникают взаимодействия, поэтому программист обязан за ними следить.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]