- •Нижегородский государственный университет им. Н.И. Лобачевского
- •Оглавление
- •Предисловие
- •Глава 1. Вычисление значений функций
- •1.1. Операторы циклов
- •1.2. Операторы ветвления
- •Когда в программе нужно выбрать один из многочисленных вариантов, бывает целесообразным применять оператор-переключатель switch. Этот оператор называется ещё оператором множественного выбора [1].
- •Switch (выражение)
- •1.3. Алгоритмы, необходимые для написания программ
- •Глава 2. Суммирование рядов
- •Глава 3. Позиционная запись числа
- •Глава 4. Делители целого числа
- •5.1. Сортировка вставкой
- •5.2. Метод пузырька
- •5.3. Сортировка выбором
- •5.4. Быстрая сортировка
- •Глава 6. Работа с файлами. Построение массивов без повторений
- •6.1. Работа с файлами
- •6.2. Построение массивов без повторений
- •Глава 7. Обработка последовательности символов
- •7.1. Алгоритм выделения слова из строки
- •7.2. Выбор слов, подходящих под шаблон
- •7.3. Перевод прописных символов в строчные
- •Глава 8. Побитовые операции
- •Глава 9. Преобразование и построение матриц
- •Содержимое файла “input.Txt”
- •Глава 10. Структуры
- •Выделение памяти под объект coat
- •Содержимое файла "input.Txt".
- •Содержимое файла "outout.Txt"
- •Содержимое файла "input.Txt"
- •11. Динамические структуры данных
- •11.1. Односвязные списки
- •11.2. Очереди
- •11.3. Стеки
- •Содержимое файла “input.Txt”
- •Содержимое файла “input.Txt”
- •Список литературы
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Нижегородский государственный университет им. Н.И. Лобачевского
Национальный исследовательский университет
В.И. Перова
Т.А. Сабаева
ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ С++
Учебное пособие
Рекомендовано ученым советом механико-математического
факультета для студентов ННГУ, обучающихся по направлениям подготовки
080500 «Бизнес-информатика», 010100 «Математика», 010200 «Математика
и компьютерные науки», 010400 «Прикладная математика и информатика»,
010800 «Механика и математическое моделирование»
Нижний Новгород
2013
УДК 681.3.06(075.8)
ББК 32.973.26-018.1
П26
П26 Перова В.И., Сабаева Т.А. ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ С++: Учебное пособие. – Нижний Новгород: Изд-во Нижегородского госуниверситета, 2013. – 124 с.
Рецензенты: доктор технических наук, профессор В.Р. Милов
кандидат физ.- мат. наук, доцент Н.В. Кротов
В учебном пособии изложены сведения, необходимые для теоретического и практического освоения объектно-ориентированного языка программирования С++. Приведено большое количество реально работающих программ, которые иллюстрируют возможности и особенности языка С++. Информация в учебном пособии расположена в порядке усложнения: от способов написания простых программ, имеющих линейную структуру, до более сложных. Большое внимание уделено таким темам, как вычисление значений функций, суммирование рядов, позиционная запись числа и делители целого числа, сортировка, работа с файлами, построение массивов, обработка последовательности символов, побитовые операции, преобразование и построение матриц, структуры, динамические структуры данных. В конце каждой главы приведены упражнения для самостоятельной работы студентов.
Для студентов механико-математического факультета ННГУ, обучающихся по направлениям подготовки 080500 «Бизнес-информатика», 010100 «Математика», 010200 «Математика и компьютерные науки», 010400 «Прикладная математика и информатика», 010800 «Механика и математическое моделирование». Оно призвано оказать помощь всем пользователям, стремящимся к эффективному использованию современных объектно-ориентированных технологий.
Ответственный за выпуск:
председатель методической комиссии
механико-математического факультета ННГУ,
к.ф.-м.н., доцент Н.А. Денисова
УДК 681.3.06(075.8)
ББК 32.973.26-018.1
© В.И. Перова, Т.А. Сабаева, 2013
© Нижегородский государственный
университет им. Н.И. Лобачевского, 2013
Оглавление
ПРЕДИСЛОВИЕ …………………………………………………………... |
5 |
ГЛАВА 1. Вычисление значений функций ………………... |
7 |
1.1. Операторы циклов …………………………………………………. |
7 |
1.2. Операторы ветвления ……………………………………………… |
8 |
1.3. Алгоритмы, необходимые для написания программ ……………. |
10 |
ГЛАВА 2. Суммирование рядов ……………………………….. |
18 |
ГЛАВА 3. Позиционная запись числа …………………….. |
24 |
ГЛАВА 4. Делители целого числа …………………………… |
30 |
ГЛАВА 5. Сортировка данных …………………………………… |
35 |
5.1. Сортировка вставкой ……………………………………………….. |
35 |
5.2. Метод пузырька …………………………………………………… |
36 |
5.3. Сортировка выбором ……………………………………………….. |
38 |
5.4. Быстрая сортировка ………………………………………………. |
41 |
ГЛАВА 6. Работа с файлами. Построение массивов без повторений ……………………….. |
46 |
6.1. Работа с файлами ………………………………………………….. |
46 |
6.2. Построение массивов без повторений …………………………….. |
48 |
ГЛАВА 7. Обработка последовательности символов |
55 |
7.1. Алгоритм выделения слова из строки ……………………………. |
55 |
7.2. Выбор слов, подходящих под шаблон …………………….............. |
56 |
7.3. Перевод прописных символов в строчные ………………………. |
57 |
ГЛАВА 8. Побитовые операции ………………………………. |
60 |
ГЛАВА 9. Преобразование и построение матриц ……. |
70 |
ГЛАВА 10. СТРУКТУРЫ ……………………………………………….. |
86 |
ГЛАВА 11. ДИНАМИЧЕСКИЕ СТРУКТУРЫ ДАННЫХ ………….. |
101 |
11.1. Односвязные списки …………………………………………….. |
101 |
11.2. Очереди ……………………………………………………………. |
107 |
11.3. Стеки ………………………………………………………………. |
111 |
Список литературы ……………………………………………………….. |
122 |