Д.Н. Стародубов
Технология программирования
Учебное пособие
Муром
Содержание
Тема 1. Принципы решения задач на ЭВМ... 5
1.1 Основные этапы решения задач на ЭВМ... 5
1.2 Уровни и методы проектирования программ.. 6
1.3 Структурное программирование. 9
Тема 2. Представление алгоритмов обработки информации. 10
2.1 Основные свойства алгоритма. 10
2.2 Способы записи алгоритма. 10
2.2.1 Вербальное представление алгоритма. 11
2.2.2 Построчная запись алгоритма. 11
2.2.3 Представление алгоритма в виде блок-схемы.. 11
2.2.4 Представление алгоритма на языке программирования. 12
Тема 3. Написание программ для ЭВМ... 13
3.1 Языки программирования. 13
3.2 Системы программирования. 14
Тема 4. Основы С++. 15
4.1 История возникновения. 15
4.2 Алфавит и идентификаторы.. 16
4.2.1 Правила образования идентификаторов. 16
4.2.2 Ключевые слова. 17
4.2.3 Символы операций и разделители. 17
4.2.4 Литералы.. 17
4.3 Основные типы данных. 18
4.3.1 Логический тип (bool) 20
4.3.2 Символьные типы (char, wchar_t) 20
4.3.3 Целые типы (short, int, long) 20
4.3.4 Вещественные типы (float, double, long double) 20
4.3.5 Тип void. 21
4.4 Объявление переменных. 21
4.5 Время существования и область видимости переменных. 22
4.6 Комментарии. 24
4.7 Операции, выражения и операторы.. 24
4.7.1 Арифметические операции. 26
4.7.2 Инкремент и декремент. 26
4.7.3 Операции отношения. 27
4.7.4 Логические операции. 28
4.7.5 Операции присваивания. 28
4.7.6 Побитовые операции. 29
4.7.7 Сдвиги. 31
4.8 Приведение типов. 31
4.9 Ключевое слово typedef. 32
4.10 Перечисления. 32
Тема 5. Механизмы ввода-вывода. 34
5.1 Встроенные потоки ввода–вывода. 35
5.2 Форматированный ввод-вывод. 36
5.2.1 Форматирование с использованием флагов. 36
5.2.2 Использование манипуляторов ввода-вывода. 38
5.2.3 Установка ширины поля, точности и символов заполнения. 39
5.3 Функции ввода-вывода printf и scanf. 39
Тема 6. Ветвления и циклы.. 41
6.1 Операторы выбора. 41
6.1.1 Условный оператор (if) 41
6.1.2 Тернарный оператор ?: 44
6.1.3 Оператор switch. 44
6.2 Операторы цикла. 46
6.2.1 Цикл for 46
6.2.2 Цикл while. 48
6.2.3 Цикл do…while. 49
6.2.4 Операторы управления циклами – break и continue. 50
6.3 Оператор безусловного перехода goto. 51
Тема 7. Массивы, строки и указатели. 52
7.1 Одномерные массивы.. 52
7.2 Многомерные массивы.. 54
7.3 Указатели. 56
7.4 Адресная арифметика. 57
7.5 Указатели и массивы.. 58
7.6 Строки. 59
7.6.1 Ввод строк с клавиатуры.. 60
7.6.2 Функции работы со строками. 61
7.7 Работа с динамической памятью.. 62
7.8 Динамические массивы.. 63
7.9 Ссылки. 65
Тема 8. Функции. 66
8.1 Объявление, определение и вызов функции. 66
8.2 Передача аргументов. 68
8.2.1 Передача аргументов по значению.. 68
8.2.2 Передача аргументов через указатель. 69
8.2.3 Передача аргументов по ссылке. 71
8.2.4 Аргументы по умолчанию.. 72
8.3 Рекурсивные функции. 73
8.4 Встраиваемые функции. 74
8.5 Перегрузка функций. 75
8.6 Шаблоны функций. 77
Тема 9. Директивы препроцессора. 78
9.1 Директива #include. 79
9.2 Директива #define. 79
9.3 Директивы условной компиляции. 80
Тема 10. Объектно-ориентированное программирование. 83
10.1 Основные принципы ООП.. 83
10.2 Объявление класса. 85
10.3 Использование класса. Объекты.. 86
10.4 Конструкторы.. 89
10.5 Деструкторы.. 91
10.6 Структуры.. 92
10.7 Объединения. 93
Тема 11. Обработка исключительных ситуаций. 95
11.1 Генерация и перехват исключений. 95
11.2 Генерация исключений внутри функций. 97
11.3 Повторная генерация исключения. 99
11.4 Стандартные и собственные классы исключений. 100
Лабораторные работы по дисциплине «Технология программирования». 103
Лабораторная работа № 1. Типы данных и структуры программы. Вычисление простого и условного выражений. 103
Лабораторная работа № 2. Табулирование функции. 112
Лабораторная работа № 3. Работа с битами. Массивы. 119
Лабораторная работа № 4. Структуры.. 126
Лабораторная работа № 5. Функции. Перегрузка функций. Шаблоны функций. 130
Лабораторная работа № 6. Файлы и строки. 138
Лабораторная работа № 7. Динамические структуры данных. 147
Лабораторная работа № 8. Разработка объектно-ориентированной программы.. 156