C/C++. Структурное и объектно-ориентированное программирование. Практикум

Т.А. Павловская, Ю.А. Щупак

Практикум предназначен для изучения языка программирования С++ на семинарах или самостоятельно. Издание дополняет и расширяет учебник Т.А.Павловской «С/С++. Программирование на языке высокого уровня», но может использоваться и как отдельное пособие.

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

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

Издательство: Питер, 2011 г.

ISBN 978-5-459-00613-1

Количество страниц: 352.

Содержание книги «C/C++. Структурное и объектно-ориентированное программирование. Практикум»:

  • 10 Предисловие
  • 13 Часть I. Структурное программирование
  • 14 Семинар 1. Линейные программы
    • 14 Задача 1.1. Расчет по формуле
    • 18 Вывод кириллицы
    • 18 Отладка программы
    • 21 Описание переменных
    • 22 Задача 1.2. Временной интервал
    • 23 Итоги
    • 24 Задания
  • 26 Семинар 2. Ветвления и циклы
    • 26 Разветвляющиеся программы
    • 26 Задача 2.1. Вычисление значения функции, заданной графически
    • 29 Задача 2.2. Выстрел по мишени
    • 31 Задача 2.3. Клавиши курсора
    • 32 Циклы
    • 33 Задача 2.4. Таблица значений функции
    • 35 Задача 2.5. Вычисление суммы ряда
    • 37 Итоги
    • 37 Задания
  • 40 Семинар 3. Одномерные массивы и указатели
    • 42 Задача 3.1. Количество элементов между минимумом и максимумом
    • 45 Задача 3.2. Сумма элементов правее последнего отрицательного
    • 47 Задача 3.3. Быстрая сортировка массива
    • 50 Итоги
    • 50 Задания
  • 55 Семинар 4. Двумерные массивы
    • 58 Задача 4.1. Среднее арифметическое и количество положительных элементов массива
    • 60 Задача 4.2. Номер столбца из положительных элементов
    • 61 Задача 4.3. Упорядочивание строк матрицы
    • 64 Итоги
    • 64 Задания
  • 68 Семинар 5. Строки и файлы
    • 68 Описание строк
    • 71 Операции со строками
    • 72 Работа с символами
    • 73 Задача 5.1. Поиск подстроки
    • 75 Задача 5.2. Подсчет количества вхождений слова в текст
    • 78 Задача 5.3. Вывод вопросительных предложений
    • 81 Итоги
    • 81 Задания
  • 83 Семинар 6. Структуры
    • 84 Задача 6.1. Поиск в простой базе (массив структур)
    • 89 Задача 6.2. Сортировка массива структур
    • 90 Задача 6.3. Структуры и бинарные файлы
    • 92 Задача 6.4. Структуры в динамической памяти
    • 93 Итоги
    • 94 Задания
  • 99 Семинар 7. Функции
    • 101 Задача 7.1. Передача в функцию параметров стандартных типов
    • 105 Задача 7.1-а. Передача в функцию имени функции
    • 107 Задача 7.2. Передача массивов в функцию
    • 108 Задача 7.3. Передача строк в функцию
    • 109 Задача 7.4. Передача структур в функцию
    • 111 Задача 7.5. Рекурсивные функции
    • 113 Многофайловые проекты
    • 113 Что и как следует размещать в заголовочном файле
    • 115 Задача 7.6. Многофайловый проект — форматирование текста
    • 119 Итоги
    • 120 Задания
      • 120 Функции и массивы
      • 120 Функции, строки и файлы
      • 120 Функции, структуры и бинарные файлы
  • 121 Семинар 8. Перегрузка и шаблоны функций
    • 121 Перегрузка функций
    • 122 Задача 8.1. Перегрузка функций
    • 124 Шаблоны функций
    • 125 Задача 8.2. Шаблоны функций
    • 126 Итоги
    • 127 Задания
  • 128 Семинар 9. Динамические структуры данных
    • 128 Задача 9.1. Стек
    • 131 Задача 9.2. Линейный список
    • 138 Задача 9.3. Бинарное дерево
    • 150 Итоги
    • 151 Задания
  • 159 Часть II. Объектно-ориентированное программирование
  • 160 Семинар 10. Классы
    • 160 Появление объектно-ориентированного программирования
    • 161 Критерии качества декомпозиции проекта
    • 162 Что принесло с собой ООП
    • 163 От структуры – к классу
    • 163 Задача 10.1. Поиск в простой базе (массив объектов)
    • 170 Конструктор по умолчанию
    • 170 Инициализаторы конструктора
    • 171 Конструктор копирования
    • 172 Перегрузка операций
    • 173 Перегрузка операций инкремента
    • 174 Перегрузка операции присваивания
    • 175 Статические элементы класса
    • 175 Задача 10.2. Реализация класса треугольников
      • 177 Этап 1
      • 182 Этап 2
      • 184 Этап 3
      • 187 Этап 4
    • 189 Итоги
    • 189 Задания
  • 194 Семинар 11. Наследование
    • 194 Наследование классов
      • 195 Замещение функций базового класса
      • 196 Конструкторы и деструкторы в производном классе
      • 196 Устранение неоднозначности при множественном наследовании
      • 197 Доступ к объектам иерархии
      • 198 Виртуальные методы
      • 199 Абстрактные классы. Чисто виртуальные методы
    • 199 Отношения между классами. Диаграммы классов на языке UML
      • 200 Ассоциация
      • 201 Наследование
      • 201 Агрегация
      • 202 Зависимость
    • 202 Паттерны проектирования
      • 204 Паттерн Стратегия (Strategy)
    • 205 Проектирование программы с учетом будущих изменений
    • 207 Задача 11.1. Функциональный калькулятор
    • 215 Задача 11.2. Продвинутый функциональный калькулятор
    • 221 Задача 11.3. Работа с объектами символьных и шестнадцатеричных строк
    • 231 Итоги
    • 232 Задания
      • 232 Общая часть заданий для вариантов 1–20
      • 232 Варианты 1–10
      • 234 Варианты 11–20
  • 235 Семинар 12. Шаблоны классов. Обработка исключительных ситуаций
    • 235 Шаблоны классов
      • 235 Определение шаблона класса
      • 236 Использование шаблона класса
      • 237 Организация исходного кода
      • 238 Параметры шаблонов
      • 238 Специализация
      • 239 Использование функциональных объектов для настройки шаблонных классов
      • 241 Разработка шаблонного класса для представления разреженных массивов
    • 241 Задача 12.1. Шаблонный класс для разреженных массивов
    • 246 Обработка исключительных ситуаций
      • 247 Определение исключений
      • 248 Перехват исключений
      • 249 Неперехваченные исключения
      • 250 Классы исключений. Иерархии исключений
      • 251 Спецификации исключений
      • 252 Исключения в конструкторах
      • 254 Исключения в деструкторах
    • 255 Задача 12.2. Шаблонный класс векторов
    • 263 Итоги
    • 264 Задания
  • 266 Семинар 13. Стандартные потоки
    • 266 Потоковые классы
      • 267 Классы стандартных потоков
      • 267 Заголовочные файлы библиотеки ввода-вывода C++
      • 267 Объекты и методы стандартных потоков ввода-вывода
      • 269 Обработка ошибок потоков
      • 270 Перегрузка операций извлечения и вставки для типов, определенных программистом
    • 271 Задача 13.1. Первичный ввод и поиск информации в базе данных
    • 276 Итоги
    • 276 Задания
  • 283 Семинар 14. Файловые и строковые потоки. Строки класса string
    • 283 Файловые потоки
    • 286 Строковые потоки
    • 287 Строки класса string
    • 290 Задача 14.1. Подсчет количества вхождений слова в текст
    • 291 Задача 14.2. Вывод вопросительных предложений
    • 293 Итоги
    • 293 Задания
  • 294 Семинар 15. Стандартная библиотека шаблонов
    • 294 Основные концепции стандартной библиотеки
    • 294 Контейнеры
    • 295 Итераторы
    • 297 Общие свойства контейнеров
    • 298 Алгоритмы
    • 299 Использование последовательных контейнеров
    • 301 Задача 15.1. Сортировка вектора
    • 302 Шаблонная функция print для вывода содержимого контейнера
    • 303 Адаптеры контейнеров
      • 303 Стек
      • 304 Очередь
      • 304 Очередь с приоритетами
    • 305 Использование алгоритмов
      • 305 Алгоритмы count и find
      • 306 Алгоритмы count_if и find_if
      • 306 Алгоритм for_each
      • 306 Алгоритм search
      • 307 Алгоритм sort
      • 308 Функциональные объекты
      • 309 Обратные итераторы
      • 309 Итераторы вставки и алгоритм copy
      • 310 Алгоритм merge
    • 311 Использование ассоциативных контейнеров
      • 311 Множества
      • 313 Словари
    • 313 Задача 15.2. Формирование частотного словаря
    • 315 Задача 15.3. Морской бой
    • 326 Итоги
    • 326 Задания
  • 332 Приложение. Основные приемы работы в Microsoft Visual C++.NET 2005
    • 332 Запуск интегрированной среды. Создание пустого проекта
    • 333 Добавление файлов к проекту
    • 334 Многофайловые проекты
    • 334 Редактирование текста программы
    • 335 Сохранение проекта и программы, завершение работы
    • 335 Продолжение работы над проектом
    • 335 Компиляция и компоновка программы
    • 336 Выполнение и отладка программы
    • 337 Работа со справочной системой
  • 339 Литература
  • 341 Алфавитный указатель

Инструкция как скачать книгу Т.А. Павловская, Ю.А. Щупак: C/C++. Структурное и объектно-ориентированное программирование. Практикум в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.
C/C++. Структурное и объектно-ориентированное программирование. Практикум
Рейтинг книги:
3 голоса
1177

Поиск книг:




При поиске учитываются только слова, длина которых больше 3-х символов.

Статистика: