WWW.DISS.SELUK.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА
(Авторефераты, диссертации, методички, учебные программы, монографии)

 

ББК 32.973.2-018.1

УДК 004.43(075)

П12

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

П12 C/C++. Структурное и объектно-ориентированное программирование: Практикум. — СПб.: Питер, 2011. — 352 с.: ил. — (Серия «Учебное пособие»).

ISBN 978-5-459-00613-1

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

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

ББК 32.973.2-018. УДК 004.43(075) Все права защищены. Никакая часть данной книги не может быть воспроизведена в какой бы то ни было форме без письменного разрешения владельцев авторских прав.

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

ISBN 978-5-459-00613-1 © ООО Издательство «Питер», Краткое оглавление Предисловие

Часть I. Структурное программирование

Семинар 1. Линейные программы

Семинар 2. Ветвления и циклы

Семинар 3. Одномерные массивы и указатели

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

Семинар 5. Строки и файлы

Семинар 6. Структуры

Семинар 7. Функции

Семинар 8. Перегрузка и шаблоны функций

Семинар 9. Динамические структуры данных

Часть II. Объектно-ориентированное программирование

Семинар 10. Классы

Семинар 11. Наследование

Семинар 12. Шаблоны классов. Обработка исключительных ситуаций................. Семинар 13. Стандартные потоки

Семинар 14. Файловые и строковые потоки. Строки класса string

Семинар 15. Стандартная библиотека шаблонов

Приложение. Основные приемы работы в Microsoft Visual C++.NET 2005........... Литература

Алфавитный указатель

Оглавление Предисловие

Часть I. Структурное программирование

Семинар 1. Линейные программы

Задача 1.1. Расчет по формуле

Вывод кириллицы

Отладка программы

Описание переменных

Задача 1.2. Временной интервал

Итоги

Задания

Семинар 2. Ветвления и циклы

Разветвляющиеся программы

Задача 2.1. Вычисление значения функции, заданной графически

Задача 2.2. Выстрел по мишени

Задача 2.3. Клавиши курсора

Циклы

Задача 2.4. Таблица значений функции

Задача 2.5. Вычисление суммы ряда

Итоги

Задания

Семинар 3. Одномерные массивы и указатели

Задача 3.1. Количество элементов между минимумом и максимумом

Задача 3.2. Сумма элементов правее последнего отрицательного

Задача 3.3. Быстрая сортировка массива

Итоги

Задания

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

Задача 4.1. Среднее арифметическое и количество положительных элементов массива

6 Оглавление Задача 4.2. Номер столбца из положительных элементов

Задача 4.3. Упорядочивание строк матрицы

Итоги

Задания

Семинар 5. Строки и файлы

Описание строк

Операции со строками

Работа с символами

Задача 5.1. Поиск подстроки

Задача 5.2. Подсчет количества вхождений слова в текст

Задача 5.3. Вывод вопросительных предложений

Итоги

Задания

Семинар 6. Структуры

Задача 6.1. Поиск в простой базе (массив структур)

Задача 6.2. Сортировка массива структур

Задача 6.3. Структуры и бинарные файлы

Задача 6.4. Структуры в динамической памяти

Итоги

Задания

Семинар 7. Функции

Задача 7.1. Передача в функцию параметров стандартных типов

Задача 7.1-а. Передача в функцию имени функции

Задача 7.2. Передача массивов в функцию

Задача 7.3. Передача строк в функцию

Задача 7.4. Передача структур в функцию

Задача 7.5. Рекурсивные функции

Многофайловые проекты

Что и как следует размещать в заголовочном файле

Задача 7.6. Многофайловый проект — форматирование текста

Итоги

Задания

Функции и массивы

Функции, строки и файлы

Функции, структуры и бинарные файлы

Семинар 8. Перегрузка и шаблоны функций

Перегрузка функций

Задача 8.1. Перегрузка функций

Шаблоны функций

Задача 8.2. Шаблоны функций

Итоги

Задания

Семинар 9. Динамические структуры данных

Задача 9.1. Стек

Задача 9.2. Линейный список

Оглавление Задача 9.3. Бинарное дерево

Итоги

Задания

Часть II. Объектно-ориентированное программирование

Семинар 10. Классы

Появление объектно-ориентированного программирования

Критерии качества декомпозиции проекта

Что принесло с собой ООП



От структуры — к классу

Задача 10.1. Поиск в простой базе (массив объектов)

Конструктор по умолчанию

Инициализаторы конструктора

Конструктор копирования

Перегрузка операций

Перегрузка операций инкремента

Перегрузка операции присваивания

Статические элементы класса

Задача 10.2. Реализация класса треугольников

Этап 1

Этап 2

Этап 3

Этап 4

Итоги

Задания

Семинар 11. Наследование

Наследование классов

Замещение функций базового класса

Конструкторы и деструкторы в производном классе

Устранение неоднозначности при множественном наследовании

Доступ к объектам иерархии

Виртуальные методы

Абстрактные классы. Чисто виртуальные методы

Отношения между классами. Диаграммы классов на языке UML

Ассоциация

Наследование

Агрегация

Зависимость

Паттерны проектирования

Паттерн Стратегия (Strategy)

Проектирование программы с учетом будущих изменений

Задача 11.1. Функциональный калькулятор

Задача 11.2. Продвинутый функциональный калькулятор

Задача 11.3. Работа с объектами символьных и шестнадцатеричных строк....... Итоги

Задания

Общая часть заданий для вариантов 1–20

Варианты 1–10

Варианты 11–20

Семинар 12. Шаблоны классов. Обработка исключительных ситуаций......... Шаблоны классов

Определение шаблона класса

Использование шаблона класса

Организация исходного кода

Параметры шаблонов

Специализация

Использование функциональных объектов для настройки шаблонных классов

Разработка шаблонного класса для представления разреженных массивов... Задача 12.1. Шаблонный класс для разреженных массивов

Обработка исключительных ситуаций

Определение исключений

Перехват исключений

Неперехваченные исключения

Классы исключений. Иерархии исключений

Спецификации исключений

Исключения в конструкторах

Исключения в деструкторах

Задача 12.2. Шаблонный класс векторов

Итоги

Задания

Семинар 13. Стандартные потоки

Потоковые классы

Классы стандартных потоков

Заголовочные файлы библиотеки ввода-вывода C++

Объекты и методы стандартных потоков ввода-вывода

Обработка ошибок потоков

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

Задача 13.1. Первичный ввод и поиск информации в базе данных

Итоги

Задания

Семинар 14. Файловые и строковые потоки. Строки класса string................ Файловые потоки

Строковые потоки

Строки класса string

Задача 14.1. Подсчет количества вхождений слова в текст

Задача 14.2. Вывод вопросительных предложений

Итоги

Задания

Оглавление Семинар 15. Стандартная библиотека шаблонов

Основные концепции стандартной библиотеки

Контейнеры

Итераторы

Общие свойства контейнеров

Алгоритмы

Использование последовательных контейнеров

Задача 15.1. Сортировка вектора

Шаблонная функция print для вывода содержимого контейнера

Адаптеры контейнеров

Стек

Очередь

Очередь с приоритетами

Использование алгоритмов

Алгоритмы count и nd

Алгоритмы count_if и nd_if

Алгоритм for_each

Алгоритм search

Алгоритм sort

Функциональные объекты

Обратные итераторы

Итераторы вставки и алгоритм copy

Алгоритм merge

Использование ассоциативных контейнеров

Множества

Словари

Задача 15.2. Формирование частотного словаря

Задача 15.3. Морской бой

Итоги

Задания

Приложение. Основные приемы работы в Microsoft Visual C++.NET 2005..... Запуск интегрированной среды.Создание пустого проекта

Добавление файлов к проекту

Многофайловые проекты

Редактирование текста программы

Сохранение проекта и программы, завершение работы

Продолжение работы над проектом

Компиляция и компоновка программы

Выполнение и отладка программы

Работа со справочной системой

Литература

Алфавитный указатель

Предисловие Эта книга не просто объединяет под одной обложкой практикумы «Структурное программирование» и «Объектно-ориентированное программирование» [22, 23]:

материалы были переработаны и обновлены, листинги программ обновлены и проверены в среде Microsoft.NET.

Наша цель — научить читателя самостоятельно создавать грамотные и, по возможности, профессиональные программы на C++. Практикум рассчитан на планомерное освоение этого языка с начального и до профессионального уровня. Извлечь пользу из этой книги смогут в первую очередь студенты, обучающиеся по направлению «Информатика и вычислительная техника» и смежным с ним, а также любознательные школьники, упорные пенсионеры, домохозяйки, безработные менеджеры — в общем, все, кто твердо решил освоить этот непростой язык для практического применения.

Книга состоит из двух частей: «Структурное программирование» и «Объектноориентированное программирование». В первой части рассматриваются возможности С++, используемые в рамках процедурной парадигмы: стандартные типы данных, управляющие конструкции языка, массивы, указатели, строки, структуры, функции, шаблоны функций, а также динамические структуры данных. Обсуждаются алгоритмы, методы и приемы написания программ, типичные ошибки, которые совершают начинающие (и не только) программисты, вопросы качества и стиля. Большое внимание уделяется процессу отладки и тестирования.

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

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

Если вы не знакомы с основами ООП и с базовыми концепциями программной инженерии (software engineering), то написанная вами программа, если и заработает,



Похожие работы:

«Министерство образования и науки Российской Федерации ФГБОУ ВПО Московский архитектурный институт (государственная академия) И.В.Мигалина, Н.И.Щепетков Расчет и проектирование естественного освещения помещений Учебное пособие Москва МАРХИ 2013 3 УДК 535-5 ББК 38.113 Р 24 Мигалина И.В., Щепетков Н.И. Расчет и проектирование естественного освещения помещений: учебное пособие / И.В.Мигалина, Н.И.Щепетков. — М.: МАРХИ, 2013. — 72 с. Учебное пособие разработано на основе действующих и...»

«МИНИСТЕРСТВО ТРАНСПОРТА РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ АГЕНТСТВО МОРСКОГО И РЕЧНОГО ТРАНСПОРТА Омский институт водного транспорта (филиал) федерального бюджетного образовательного учреждения высшего профессионального образования Новосибирская государственная академия водного транспорта ГОДОВОЙ ОТЧЕТ учебный год 2010 - 2011 (начало уч. года) (конец уч. года) Директор Т.И. Зайко (Подпись) (Ф.И.О.) ОМСК - 2011 (город) (год) Содержание 1 Организационно-правовое обеспечение образовательной...»

«ОГЛАВЛЕНИЕ 1 ЦЕЛИ И ЗАДАЧИ ДИСЦИПЛИНЫ - ЭКОНОМИКА, ЕЕ МЕСТО В СТРУКТУРЕ ОСНОВНОЙ ОБРАЗОВАТЕЛЬНОЙ ПРОГРАММЫ 2 КОМПЕТЕНЦИИ ОБУЧАЮЩЕГОСЯ, ФОРМИРУЕМЫЕ В РЕЗУЛЬТАТЕ ОСВОЕНИЯ ДИСЦИПЛИНЫ – ЭКОНОМИКА. 3 ОБЪЕМ ДИСЦИПЛИНЫ И ВИДЫ УЧЕБНОЙ РАБОТЫ 4 СОДЕРЖАНИЕ ДИСЦИПЛИНЫ 4.1 Лекционный курс 4.2 Семинары 4.3 Самостоятельная внеаудиторная работа студентов 5 МАТРИЦА РАЗДЕЛОВ УЧЕБНОЙ ДИСЦИПЛИНЫ И ФОРМИРУЕМЫХ В НИХ ОБЩЕКУЛЬТУРНЫХ И ПРОФЕССИОНАЛЬНЫХ КОМПЕТЕНЦИЙ.10 5.1 Разделы дисциплины 5.2 Матрица разделов...»

«Л.С. СаЛоматина Теория и практика обучения младших школьников созданию письменных текстов различных типов (повествование, описание, рассуждение) Лекции 1–4 москва Педагогический университет Первое сентября 2010 Лариса Сергеевна Саломатина материалы курса теория и практика обучения младших школьников созданию письменных текстов различных типов (повествование, описание, рассуждение): лекции 1–4. – м.: Педагогический университет Первое сентября, 2010. – 124 с. Учебно-методическое пособие Редактор...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Сыктывкарский лесной институт (филиал) федерального государственного бюджетного образовательного учреждения высшего профессионального образования Санкт-Петербургский государственный лесотехнический университет имени С. М. Кирова Кафедра менеджмента и маркетинга СТРАХОВАНИЕ Учебно-методический комплекс по дисциплине для студентов специальности 080507 Менеджмент организации всех форм обучения Самостоятельное учебное электронное издание...»

«Юго-Восточное окружное управление образования Департамента образования города Москвы Государственное бюджетное образовательное учреждение города Москвы средняя общеобразовательная школа №398 Утверждаю: Согласовано: директор ГБОУ СОШ № 398 Научно-методический центр Крючкова Н.В. _2011 г. __2011 г. САМООБОРОНА физкультурно-спортивная, развивающая, адаптированная программа в системе дополнительного образования Автор: Дубынин Игорь Викторович, педагог дополнительного образования ЦРТД и Ю Лефортово...»

«Стандарты МЗ РФ по ведению больных, национальные рекомендации – чем и когда руководствоваться врачу ЛПУ и эксперту контрольных органов?! Филиппенко Н.Г. КЛИНИЧЕСКАЯ МЕДИЦИНА Направление развития: Стандартизация фармакологического лечения заболеваний. Конечная цель лечения 1. острое заболевание – выздоровление, 2. хроническое заболевание – достижение стойкой ремиссии в оптимальные сроки. Принципы фармакотерапии 1. эффективность, 2. безопасность, 3. экономичность, 4. сохранение и улучшение...»

«Пояснительная записка Данная рабочая программа разработана на основе Федерального компонента Государственного образовательного стандарта основного общего образования и авторской программы под редакцией А. И. Кравченко Обществознание для 8-9 кл, Русское слово, 2008. Рабочая программа рассчитана на 35 учебных часов из расчета 1 час в неделю. При составлении рабочей программы учтены рекомендации инструктивнометодического письма О преподавании истории и обществознания в 2013-2014 учебном году в...»

«Федеральное государственное бюджетное образовательное Составители: В.В. ФИЛИППОВ, А.А. СКОРОХОД учреждение высшего профессионального образования УДК 66.02 САМАРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ Ректификация смеси этилового спирта и воды. Метод. указ. к лабоКафедра химической технологии и раторной по курсу Основные процессы и аппараты химической промышленной экологии технологии. / Самар. гос. тех. ун-т; Сост. В.В. Филиппов, А.А. Скороход. Самара, 2012. 31 с. Ректификация смеси...»

«56 Приложение 3 № 2897 621.396.62(07) М 545 Перечень элементов принципиальной схемы Поз., обо- Наименование Кол. Примечание значение МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ ТАГАНРОГСКИЙ ГОСУДАРСТВЕННЫЙ РАДИОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ Методические указания по курсовому проектированию радиоприёмных устройств аналоговых сигналов Для студентов ФБФО и дневной формы обучения радиотехнических специальностей ЦТРК 2007.097232. Лит. Масса Масштаб Радиовещательный приИзм. Лист № докум. Подпись Дата...»

«II С. Бразинскас Как подготовить маркетинговую стратегию для центра коммерциализации технологий Проект EuropeAid Наука и коммерциализация технологий 2006 Серия методических материалов Практические руководства для центров коммерциализации технологий подготовлена под руководством Питера Линдхольма (inno AG), директора проекта, представляющего консорциум inno AG (Германия), АЕА Technology (Великобритания), TNO (Нидерланды) при участии С. Клесовой (Франция), В. Иванова, О. Лукши (Россия), А. Бретта...»

«ЭКСПЕРТНОЕ ЗАКЛЮЧЕНИЕ о содержании и направлении деятельности ОС Школа 2100 Авторским коллективом ОС Школа 2100 создана современная личностно ориентированная образовательная система для массовой школы. Разработана теоретическая концепция, базирующаяся на системе психолого-дидактических принципов развивающего образования, сформулированных академиком А.А. Леонтьевым: личностно, культурно и деятельностно ориентированных. Сформулированная ОС Школа 2100 цель образования отвечает современным...»

«ИНФОРМАЦИЯ О МЕТОДИЧЕСКИХ И ИНЫХ ДОКУМЕНТАХ, РАЗРАБОТАННЫХ ДЛЯ ОБЕСПЕЧЕНИЯ ОБРАЗОВАТЕЛЬНОГО ПРОЦЕССА Наименование рукописей Авторы (составители) №№ 2008 Метрология, техническое регулирование (стандартизация и сертификация). Л.В. Рогачев, А.С. Яржемский 1 Учебное пособие Материаловедение. Учебное пособие для практических занятий Цориев С.О., Басиев К.Д. 2 Начертательная геометрия. Рабочая тетрадь для всех специальностей Македонова Л.Н. 3 Методы контроля. Курс лекций для спец. МЦ, ТЭА Хоменко...»

«LOGO О деятельности руководителя ОУ по планированию и реализации мероприятий, составляющих нормативно-правовое и организационное сопровождение внедрения ФГОС ОО Пиндюрина Р.Е., директор МОУ гимназии №19 им. Н.З. Поповичевой г. Липецка Первоочередные действия в управленческой деятельности по введению Стандарта: обеспечение нормативно-правовой базы, регулирующей введение ФГОС ОО разработка комплекса организационно-методических мероприятий подготовка и совершенствование кадрового ресурса внедрение...»

«3040 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ ЛИПЕЦКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ Кафедра транспортных средств и техносферной безопасности МЕТОДИЧЕСКИЕ УКАЗАНИЯ И РАБОЧАЯ ПРОГРАММА первой производственной практики для студентов направления 190109 Наземные транспортно-технологические средства специализации Подъемно-транспортные, строительные, дорожные средства и...»

«Негосударственное образовательное учреждение высшего профессионального образования Юридический институт Кафедра теории и истории государства и права ИСТОРИЯ ОТЕЧЕСТВЕННОГО ГОСУДАРСТВА И ПРАВА учебно-методическое пособие Направление 030900.62 Юриспруденция квалификация Бакалавр юриспруденции Разработчик: кандидат юридических наук, доцент Романов Игорь Евгеньевич Санкт-Петербург 2012 Учебно-методическое пособие по дисциплине История отечественного государства и права составлено в соответствии с...»

«Рабочая программа Технология 5-8 (мальчики) Пояснительная записка Рабочая программа разработана на основе программы Технология: программы начального и основного общего образования, М.В.Хохлова, П.С.Самородский, Н.В.Синица и др., М., Вентана-Граф, 2011. Место предмета в базисном учебном плане. Федеральный базисный учебный план для образовательных учреждений Российской Федерации отводит на этапе основного общего образования для обязательного изучения каждого направления образовательной области...»

«БУК Областная библиотека для детей и юношества Библиотека – точка опоры методическое пособие по материалам выездных районных семинаров Выпуск 3 город Омск 2013 Уважаемые коллеги, на протяжении нескольких лет сотрудники областной библиотеки для детей и юношества проводят выездные районные семинары для библиотекарей муниципальных библиотечных систем Омской области под общим названием Современная библиотека. Наполнением этих семинаров служат консультации и практические задания по запросам...»

«С.Н.Литвинова Организация досуга детей и подростков (Методическое пособие для педагогов системы дополнительного образования и для родителей) В методическом пособии освещены современные подходы к организации досуговой деятельности в школах, в центрах дополнительного образования по месту жительства. Показана специфика применения методов досуговой деятельности, направленных на воспитание детей и подростков с учетом возрастных особенностей. Охарактеризованы виды досуга и формы организации досуговой...»

«Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Уфимский государственный авиационный технический университет Методические указания по изучению дисциплин Теоретические основы электротехники и Основы теории цепей для студентов Уфа 2012 Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования...»






 
2014 www.av.disus.ru - «Бесплатная электронная библиотека - Авторефераты, Диссертации, Монографии, Программы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.