Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 636193)
Контекстум
Руконтекст антиплагиат система

Программирование на C++ (1500,00 руб.)

0   0
Первый авторДейл
АвторыХедингтон М.
ИздательствоМ.: ДМК Пресс
Страниц674
ID836591
АннотацияКнига рассчитана на тех, кто нуждается в понятном и доступном введении в язык C++, и может использоваться как самоучитель. Она также рассказывает о компьютерах и алгоритмическом решении задач, поэтому может служить в качестве первого учебника программирования. Авторы убедительно показывают, что темы, когда-то считавшиеся слишком сложными для вводного курса по С++ и объектно-ориентированному программированию, можно успешно объяснять на ранних стадиях обучения. Книга является удачным выбором для первого знакомства с С++. Материал излагается в строгой, но доступной для начинающего программиста форме. Авторы приводят многочисленные откомпилированные и проверенные упражнения с ответами. Издание предназначено для пользователей ПК (от начального до среднего уровня), начинающих программистов, школьников, студентов и преподавателей информатики.
ISBN978-5-89818-342-4
Дейл, Н. Программирование на C++ / М. Хедингтон; Н. Дейл .— Москва : ДМК Пресс, 2023 .— 674 с. — ISBN 978-5-89818-342-4 .— URL: https://rucont.ru/efd/836591 (дата обращения: 18.05.2024)

Предпросмотр (выдержки из произведения)

Программирование_на_C++.pdf
Стр.5
Стр.6
Стр.7
Стр.8
Стр.9
Стр.10
Стр.11
Стр.12
Стр.13
Стр.14
Стр.15
Программирование_на_C++.pdf
ББК 32.973-018.1 Д94 Д94 Дейл, Нелл. Программирование на C++ / Н. Дейл, Ч. Уимз, М. Хедингтон ; пер. с англ. А. С. Цемахмана. — 2-е изд., эл. — 1 файл pdf : 674 с. — Москва : ДМК Пресс, 2023. — (Учебник). — Систем. требования: Adobe Reader XI либо Adobe Digital Editions 4.5 ; экран 10". — Текст : электронный. ISBN 978-5-89818-342-4 Книга рассчитана на тех, кто нуждается в понятном и доступном введении в язык C++, и может использоваться как самоучитель. Она также рассказывает о компьютерах и алгоритмическом решении задач, поэтому может служить в качестве первого учебника программирования. Авторы убедительно показывают, что темы, когда-то считавшиеся слишком сложными для вводного курса по С++ и объектно-ориентированному программированию, можно успешно объяснять на ранних стадиях обучения. Книга является удачным выбором для первого знакомства с С++. Материал излагается в строгой, но доступной для начинающего программиста форме. Авторы приводят многочисленные откомпилированные и проверенные упражнения с ответами. Издание предназначено для пользователей ПК (от начального до среднего уровня), начинающих программистов, школьников, студентов и преподавателей информатики. ББК 32.973-018.1 Электронное издание на основе печатного издания: Программирование на C++ / Н. Дейл, Ч. Уимз, М. Хедингтон ; пер. с англ. А. С. Цемахмана. — Москва : ДМК Пресс, 2007. — 672 с. — (Учебник). — ISBN 5-93700-008-0. — Текст : непосредственный. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами защиты авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации. ISBN 978-5-89818-342-4 © Перевод на русский язык, оформление. ДМК Пресс
Стр.5
Содержание Предисловие .........................................................................................................15 Глава I. Введение в программирование и решение задач ..........21 Введение в программирование .......................................................................22 Как пишутся программы ..........................................................................................22 Что такое язык программирования ...............................................................27 Устройство компьютера .....................................................................................30 Методика решения задач .................................................................................35 Задавайте вопросы .................................................................................................36 Находите привычные ориентиры ............................................................................36 Решайте по аналогии ..............................................................................................36 Анализ цели и средств ............................................................................................37 «Разделяй и властвуй» ............................................................................................38 Метод «строительных плит» ...................................................................................38 Слияние решений ....................................................................................................38 Мысленный барьер: страх сделать первый шаг .....................................................40 Алгоритмическое решение задачи ........................................................................40 Итоги главы ............................................................................................................40 Глава II. Синтаксис, семантика и разработка программ на C++ ..............................................................................42 Элементы программ на С++ ..............................................................................43 Структура программы .............................................................................................43 Синтаксис и семантика ...........................................................................................45 Синтаксические шаблоны .......................................................................................47
Стр.6
6 Программирование на С++ Называем элементы программ: идентификаторы .................................................49 Данные и их типы.....................................................................................................50 Описываем элементы программы: объявления ......................................................54 Начинаем действовать: выполняемые выражения .................................................58 Сверх минимума: добавляем комментарии к программе .....................................64 Построение программы .....................................................................................65 Блоки или составные выражения ............................................................................67 Препроцессор С++ ..................................................................................................69 Пример программирования. «Автопробег» ................................................70 Советы по тестированию и отладке ...............................................................73 Итоги главы ............................................................................................................73 Быстрая самопроверка ...........................................................................................74 Упражнения для подготовки к экзамену .................................................................76 Упражнения для разминки ......................................................................................80 Задачи по программированию ..............................................................................81 Глава III. Арифметические выражения, вызов функций и вывод ..............................................................83 Арифметические выражения.............................................................................84 Правила приоритета ...............................................................................................84 Неявное приведение и явное преобразование типов ...........................................85 Вызов функций и библиотечные функции ...................................................88 Функции, возвращающие значение ......................................................................88 Библиотечные функции ...........................................................................................90 Функции типа void ...................................................................................................91 Форматирование вывода ..................................................................................92 Вставка пустых строк ...............................................................................................93 Вставка пробелов внутри строки ............................................................................94 Манипуляторы .........................................................................................................95 Пример программирования. «Измерения по карте» ............................. 100 Советы по тестированию и отладке ............................................................. 103 Итоги главы .......................................................................................................... 103 Быстрая самопроверка ........................................................................................ 104 Упражнения для подготовки к экзамену .............................................................. 105 Упражнения для разминки ................................................................................... 108 Задачи по программированию ........................................................................... 110 Глава IV. Программный ввод и процесс разработки программного обеспечения .................................................................... 112 Ввод данных в программу ............................................................................. 113 Потоки ввода и операция извлечения ................................................................. 113 Маркер считывания и символ новой строки ....................................................... 116 Считывание символьных данных с помощью get ................................................ 117
Стр.7
Содержание 7 Пропуск символов с помощью ignore .................................................................. 120 Интерактивный вводвывод ............................................................................ 121 Неинтерактивный вводвывод ....................................................................... 122 Файловый вводвывод ..................................................................................... 123 Что такое файл ..................................................................................................... 123 Использование файлов ........................................................................................ 124 Пример программы с использованием файлов .................................................. 127 Ошибка ввода ..................................................................................................... 128 Разработка программного обеспечения ................................................... 130 Функциональная декомпозиция ................................................................. 130 Программные модули........................................................................................... 132 Объектноориентированная разработка ................................................... 133 Пример программирования. «Средневзвешенное значение экзаменационных оценок» ........................................................................... 136 Тестирование и отладка ................................................................................. 139 Советы по тестированию и отладке .................................................................... 141 Итоги главы ........................................................................................................... 141 Быстрая самопроверка ........................................................................................ 142 Упражнения для подготовки к экзамену .............................................................. 143 Упражнения для разминки ................................................................................... 145 Задачи по программированию ........................................................................... 147 Глава V. Управляющие структуры: условия, логические выражения, выбор ................................................................................. 149 Поток управления .............................................................................................. 150 Выбор .................................................................................................................... 150 Условия и логические выражения ................................................................. 151 Логические выражения ........................................................................................ 151 Приоритет операций ............................................................................................ 158 Операции сравнения и типы с плавающей точкой ............................................. 160 Условный оператор............................................................................................ 160 Условный оператор в форме IfThenElse ............................................................ 160 Применение блоков в условном операторе ....................................................... 162 Условный оператор в форме IfThen .................................................................... 163 Одна распространенная ошибка ........................................................................ 165 Вложенные условные операторы ............................................................... 165 Висячее else ........................................................................................................... 168 Проверка состояния потока вводавывода ............................................... 169 Пример программирования. «Результат экзамена» .............................. 172 Тестирование и отладка ................................................................................... 175 Этап решения задачи: сквозной контроль алгоритма ....................................... 175 Этап реализации .................................................................................................. 178 Автоматическая проверка при компиляции и выполнении ................................ 182
Стр.8
8 Программирование на С++ Советы по тестированию и отладке .................................................................... 182 Итоги главы ........................................................................................................... 184 Быстрая самопроверка ........................................................................................ 185 Упражнения для подготовки к экзамену .............................................................. 186 Упражнения для разминки ................................................................................... 189 Задачи по программированию ........................................................................... 192 Глава VI. Циклы ................................................................................................... 195 Оператор While ................................................................................................... 196 Этапы выполнения цикла................................................................................. 197 Циклы с While ...................................................................................................... 198 Циклы, управляемые счетчиком ........................................................................... 198 Циклы, управляемые событием............................................................................ 199 Циклические подзадачи ....................................................................................... 202 Как проектировать циклы ............................................................................... 205 Проектирование потока управления ................................................................. 205 Проектирование процесса внутри цикла ........................................................... 206 Выход из цикла .................................................................................................... 207 Вложенная логика ............................................................................................. 207 Проектирование вложенных циклов ................................................................... 209 Пример программирования. «Средний доход мужчин и женщин» .. 210 Тестирование и отладка .................................................................................. 214 Методика проверки циклов ................................................................................. 214 Советы по тестированию и отладке .................................................................... 215 Итоги главы ........................................................................................................... 216 Быстрая самопроверка ........................................................................................ 217 Упражнения для подготовки к экзамену .............................................................. 218 Упражнения для разминки ................................................................................... 221 Задачи по программированию ........................................................................... 222 Глава VII. Функции ............................................................................................ 224 Функциональная декомпозиция и функции типа void .......................... 225 Запись модулей как функций типа void .............................................................. 225 Синтаксис и семантика функций типа void ................................................. 228 Вызов функции ...................................................................................................... 228 Описания и объявления функций ........................................................................ 229 Локальные переменные ....................................................................................... 231 Оператор return .................................................................................................... 232 Файлы заголовков ................................................................................................ 233 Параметры ............................................................................................................ 233 Параметры, передаваемые по значению ........................................................... 235 Параметры, передаваемые по ссылке ................................................................ 235 Разработка функций ......................................................................................... 238 Запись утверждений в виде комментариев ......................................................... 239
Стр.9
Содержание 9 Документирование направления потока данных ............................................... 241 Пример программирования. «Сравнение продаж в мебельных магазинах» ................................................................................. 244 Тестирование и отладка ................................................................................... 250 Библиотечная функция assert ............................................................................... 251 Советы по тестированию и отладке .................................................................... 253 Итоги главы .......................................................................................................... 254 Быстрая самопроверка ....................................................................................... 255 Упражнения для подготовки к экзамену .............................................................. 256 Упражнения для разминки ................................................................................... 261 Задачи по программированию ........................................................................... 263 Глава VIII. Область и время действия ..................................................... 267 Область действия и время жизни ................................................................... 268 Область действия идентификаторов ................................................................... 268 Правила области действия ................................................................................... 270 Объявления и описания переменных .................................................................. 274 Время жизни переменной .................................................................................... 275 Разработка интерфейса ................................................................................... 278 Побочные эффекты ............................................................................................... 278 Глобальные константы .......................................................................................... 279 Функции, возвращающие значение ........................................................... 280 Логические функции ............................................................................................ 283 Проектирование интерфейса функций, возвращающих значение .................. 284 Когда применяют функции, возвращающие значение ...................................... 285 Пример программирования. «Вес и балансировка самолета» ........... 286 Тестирование и отладка ................................................................................... 294 Заглушки и драйверы ....................................................................................... 294 Советы по тестированию и отладке .................................................................... 295 Итоги главы .......................................................................................................... 296 Быстрая самопроверка ........................................................................................ 297 Упражнения для подготовки к экзамену .............................................................. 299 Упражнения для разминки ................................................................................... 302 Задачи по программированию ........................................................................... 304 Глава IX. Дополнительные управляющие структуры .................. 307 Оператор Switch ................................................................................................. 308 Оператор DoWhile ............................................................................................ 311 Оператор For ........................................................................................................ 313 Инструкции break и continue ........................................................................... 315 Критерии выбора циклической структуры ................................................ 318 Пример программирования. «Среднемесячное количество осадков» ........................................................................................... 318
Стр.10
10 Программирование на С++ Тестирование и отладка ................................................................................... 322 Советы по тестированию и отладке .................................................................... 323 Итоги главы ........................................................................................................... 323 Быстрая самопроверка ........................................................................................ 323 Упражнения для подготовки к экзамену .............................................................. 324 Упражнения для разминки ................................................................................... 326 Задачи по программированию ........................................................................... 328 Глава X. Простые типы данных ................................................................ 331 Встроенные простые типы ............................................................................... 332 Целые типы ............................................................................................................ 334 Типы с плавающей точкой .................................................................................... 335 Дополнительные операторы С++ .................................................................. 336 Операторы присваивания и инструкция присваивания ..................................... 337 Операторы инкремента и декремента ................................................................ 338 Поразрядные операторы ..................................................................................... 339 Оператор преобразования ................................................................................. 339 Оператор sizeof .................................................................................................... 340 Оператор ?: .......................................................................................................... 340 Приоритет операторов ........................................................................................ 340 Обработка символьных данных .................................................................... 341 Наборы символов ................................................................................................. 342 Константы типа char в языке С++ ................................................................... 343 Методы программирования ................................................................................. 344 Подробнее о числах с плавающей точкой ................................................. 347 Представление чисел с плавающей точкой ........................................................ 347 Арифметика чисел с плавающей точкой ............................................................ 348 Простые типы, определенные пользователем ......................................... 352 Перечисляемые типы ............................................................................................ 352 Именованные и анонимные типы данных ........................................................... 357 Файлы заголовков, написанные пользователем ................................................ 359 Подробнее о приведении типов .................................................................... 359 Приведение типов в арифметических инструкциях и инструкциях сравнения ..................................................................................... 360 Приведение типов при присваивании, передаче параметров и возвращении значения функции ...................................................................... 360 Пример програмирования. «Напоминание о дне рождения» ............ 362 Тестирование и отладка .................................................................................. 367 Данные с плавающей точкой ............................................................................... 367 Борьба с ошибками ввода ................................................................................... 367 Советы по тестированию и отладке .................................................................... 368 Итоги главы ........................................................................................................... 369
Стр.11
Содержание 11 Быстрая самопроверка ........................................................................................ 370 Упражнения для подготовки к экзамену .............................................................. 371 Упражнения для разминки ................................................................................... 374 Задачи по программированию ........................................................................... 376 Глава XI. Одномерные массивы ............................................................... 377 Сравнение простых и составных типов данных ........................................ 378 Одномерные массивы ....................................................................................... 379 Объявление массивов .......................................................................................... 381 Обращение к отдельным компонентам............................................................... 382 Индексы массивов за пределами границ ............................................................ 384 Инициализация массивов при объявлении ......................................................... 385 Примеры объявления и обращения к массивам ................................................. 386 Передача массивов в качестве параметров ....................................................... 389 Обработка массивов ......................................................................................... 391 Обработка подмассивов ..................................................................................... 391 Параллельные массивы ........................................................................................ 392 Смысловое значение индексов ............................................................................ 392 Пример програмирования. «Сравнение двух списков» ........................ 392 Тестирование и отладка ................................................................................... 397 Советы по тестированию и отладке .................................................................... 398 Итоги главы ........................................................................................................... 399 Быстрая самопроверка ........................................................................................ 399 Упражнения для подготовки к экзамену .............................................................. 401 Упражнения для разминки ................................................................................... 403 Задачи по программированию ........................................................................... 404 Глава XII. Применение массивов: списки и строки Cписки и списочные алгоритмы ..................................................................... 410 Последовательный поиск в неупорядоченном списке ........................................ 411 Сортировка ........................................................................................................... 413 Последовательный поиск в упорядоченном списке ............................................ 416 Вставка в упорядоченный список ........................................................................ 417 Бинарный поиск в упорядоченном списке .......................................................... 421 Обработка строк ................................................................................................. 425 Инициализация строк .......................................................................................... 427 Ввод и вывод строк ............................................................................................... 428 Ввод имен файлов при выполнении программы ................................... 431 Библиотечные функции для работы со строками ............................................... 432 Использование typedef с массивами................................................................... 434 Пример программирования. «Напоминание о дне рождения – 2» ...435 Тестирование и отладка ................................................................................... 439 Советы по тестированию и отладке .................................................................... 440 Итоги главы ........................................................................................................... 441
Стр.12
12 Программирование на С++ Быстрая самопроверка ........................................................................................ 441 Упражнения для подготовки к экзамену .............................................................. 442 Упражнения для разминки ................................................................................... 445 Задачи по программированию ........................................................................... 447 Глава XIII. Многомерные массивы ......................................................... 449 Двумерные массивы ........................................................................................ 450 Обработка двумерных массивов .................................................................. 454 Сложение по строкам ........................................................................................... 455 Сложение по столбцам ........................................................................................ 457 Инициализация таблицы ...................................................................................... 458 Вывод таблицы ...................................................................................................... 459 Передача двумерных массивов в качестве параметров ....................... 460 Другой способ задания двумерных массивов ........................................... 462 Многомерные массивы .................................................................................... 464 Пример программирования. «Муниципальные выборы» .................... 468 Тестирование и отладка ................................................................................... 476 Советы по тестированию и отладке .................................................................... 478 Итоги главы .......................................................................................................... 478 Быстрая самопроверка ........................................................................................ 479 Упражнения для подготовки к экзамену .............................................................. 480 Упражнения для разминки ................................................................................... 484 Задачи по программированию ........................................................................... 486 Глава XIV. Записи .............................................................................................. 489 Записи ................................................................................................................... 490 Массивы записей .............................................................................497 Иерархические записи ....................................................................498 Союзы .............................................................................................501 Подробнее о выборе структуры данных .................................................... 502 Представление логической организации объекта с помощью иерархических записей ....................................................................................... 502 Пример программирования. «Кампания в поддержку кандидата» ................................................................................. 504 Тестирование и отладка ................................................................................... 514 Советы по тестированию и отладке .................................................................... 516 Итоги главы .......................................................................................................... 516 Быстрая самопроверка ........................................................................................ 517 Упражнения для подготовки к экзамену .............................................................. 518 Упражнения для разминки ................................................................................... 521 Задачи по программированию ........................................................................... 524
Стр.13
Содержание 13 Глава XV. Классы, абстракция данных и ООП .................................... 529 Абстрактные типы данных ............................................................................... 530 Классы С++ ............................................................................................................ 532 Класс, объекты класса и члены класса ................................................................ 535 Встроенные операции над классами ................................................................... 535 Область действия классов .................................................................................... 538 Сокрытие информации ........................................................................................ 539 Файлы спецификации и реализации ........................................................... 541 Файл спецификации ............................................................................................ 541 Файл реализации ................................................................................................. 543 Компиляция и компоновка программы, состоящей из нескольких файлов .......................................................................................... 547 Инициализации классов с использованием конструкторов ................. 550 Вызов конструктора ............................................................................................. 552 Измененные файлы спецификации и реализации для TimeType ....................... 552 Рекомендации по использованию конструкторов классов ................................ 554 Объектноориентированное программирование .................................. 556 Объекты ................................................................................................................. 557 Наследование ..................................................................................................... 559 Создание одного класса из другого ............................................................. 559 Спецификация класса ExtTime ............................................................................. 563 Реализация класса ExtTime .................................................................................. 566 Композиция .......................................................................................................... 569 Разработка класса TimeCard ............................................................................... 569 Реализация класса TimeCard ............................................................................... 570 Динамическое связывание и виртуальные функции .............................. 573 Проблема разделения ......................................................................................... 574 Виртуальные функции .......................................................................................... 575 Объектноориентрованная разработка ..................................................... 578 Шаг 1: Определение объектов и операций ........................................................ 578 Шаг 2: Определение взаимоотношений между объектами .............................. 579 Шаг 3: Разработка драйвера .............................................................................. 580 Реализация проекта .......................................................................................... 581 Тестирование и отладка ................................................................................... 582 Советы по тестированию и отладке .................................................................... 585 Итоги главы ......................................................................................................... 587 Быстрая самопроверка ........................................................................................ 588 Упражнения для подготовки к экзамену .............................................................. 591 Упражнения для разминки ................................................................................... 596 Задачи по программированию ........................................................................... 599
Стр.14
14 Программирование на С++ Глава XVI. Рекурсия .......................................................................................... 604 Что такое рекурсия? .......................................................................................... 605 Ханойские башни .............................................................................................. 609 Рекурсивные алгоритмы и структурированные переменные ............. 613 Рекурсия или итерации? .................................................................................. 616 Тестирование и отладка ................................................................................... 616 Советы по тестированию и отладке .................................................................... 616 Итоги главы ........................................................................................................... 617 Быстрая самопроверка ........................................................................................ 617 Упражнения для подготовки к экзаменам ......................................................... 618 Упражнения для разминки ................................................................................... 619 Задачи по программированию ........................................................................... 620 ПРИЛОЖЕНИЯ ..................................................................................................... 622 Приложение А. Зарезервированные слова ............................................... 622 Приложение Б. Приоритет операторов ...................................................... 622 Приложение В. Библиотечные функции С++ ............................................ 623 Приложение Г. Символьные таблицы .......................................................... 632 Приложение Д. Форматирование текста программы ........................... 634 Словарь терминов ........................................................................................... 638 Ответы на некоторые вопросы ................................................................. 645 Предметный указатель ................................................................................ 668
Стр.15

Облако ключевых слов *


* - вычисляется автоматически
Антиплагиат система на базе ИИ