Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Программирование на языке высокого уровня. Программирование на языке С++

Покупка
Основная коллекция
Артикул: 165400.10.01
К покупке доступен более свежий выпуск Перейти
В пособии рассматриваются работа в среде программирования Microsoft Visual Studio 2010, основы программирования и объектно-ориентированное программирование на языке C++. Представленный теоретический материал сопровождается подробно разобранными примерами программ со схемами алгоритмов. Для закрепления материала предлагаются контрольные вопросы, тесты и задания для самостоятельного решения. Предназначено для школьников, студентов средних специальных заведений и вузов (технических, экономических и других специальностей), изучающих дисциплину «Программирование», может быть рекомендовано преподавателям, слушателям курсов повышения квалификации, а также может быть использовано как самоучитель.

Только для владельцев печатной версии книги: чтобы получить доступ к дополнительным материалам, пожалуйста, введите последнее слово на странице №262 Вашего печатного экземпляра.

Немцова, Т. И. Программирование на языке высокого уровня. Программирование на языке C++ : учебное пособие / Т.И. Немцова, С.Ю. Голова, А.И. Терентьев ; под ред. Л.Г. Гагариной. — Москва : ФОРУМ : ИНФРА-М, 2021. — 512 с. + Доп. материалы [Электронный ресурс]. — (Среднее профессиональное образование). - ISBN 978-5-8199-0699-6. - Текст : электронный. - URL: https://znanium.com/catalog/product/1172261 (дата обращения: 26.04.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
ПРОГРАММИРОВАНИЕ 
НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ

ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ C++

Т.И. Немцова, С.Ю. Голова,
А.И. Терентьев

Под редакцией Л.Г. Гагариной

Рекомендовано Научно-методическим советом Московского
государственного института электронной техники
(технического университета) в качестве учебного пособия
для студентов, обучающихся по направлениям подготовки
09.03.01 «Информатика и вычислительная техника»,
09.03.03 «Прикладная информатика», 09.03.04 «Программная инженерия»

Москва 
ИД «ФОРУМ» — ИНФРА-М
2021

УДК 004.2(075.32) 
ББК 32.973-02я723
 
Н50 

Немцова Т.И.
Н50  
Программирование на языке высокого уровня. Программирование на языке C++ : учебное пособие / Т.И. Немцова, С.Ю. Голова, 
А.И. Терентьев ; под ред. Л.Г. Гагариной. — Москва : ИД «ФОРУМ» : 
ИНФРА-М, 2021. — 512 с. + Доп. материалы [Электронный ресурс]. — 
(Среднее профессиональное образование).

ISBN 978-5-8199-0699-6 (ИД «ФОРУМ») 
ISBN 978-5-16-013214-3 (ИНФРА-М, print) 
ISBN 978-5-16-102802-5 (ИНФРА-М, online)

В пособии рассматриваются работа в среде программирования Microsoft 
Visual Studio 2010, основы программирования и объектно-ориентированное программирование на языке C++. Представленный теоретический материал сопровождается подробно разобранными примерами программ со 
схемами алгоритмов. Для закрепления материала предлагаются контрольные вопросы, тесты и задания для самостоятельного решения.
Предназначено для школьников, студентов средних специальных заведений и вузов (технических, экономических и других специальностей), 
изучающих дисциплину «Программирование», может быть рекомендовано 
преподавателям, слушателям курсов повышения квалификации, а также 
может быть использовано как самоучитель.

УДК 004.2(075.32) 
ББК 32.973-02я723

Р е ц е н з е н т ы:
доктор технических наук, профессор кафедры «Информатика 
и программное обеспечение вычислительных систем» О.И. Лисов 
(Московский государственный институт электронной техники (технический университет));
кандидат технических наук, доцент кафедры «Информационные 
технологии» А.А. Петров (Институт искусств и информационных технологий)

ISBN 978-5-8199-0699-6 (ИД «ФОРУМ») 
ISBN 978-5-16-013214-3 (ИНФРА-М, print) 
ISBN 978-5-16-102802-5 (ИНФРА-М, online)

©  Немцова Т.И., Голова С.Ю.,
Терентьев А.И., 2016 
©  ИД «ФОРУМ», 2016

Материалы, отмеченные знаком 
, 
доступны в электронно-библиотечной системе Znanium.com

Предисловие

Учебное пособие представляет собой курс по изучению языка
С++. В настоящее время язык С++ является одним из самых распространенных языков программирования, поскольку идеально подходит для разработки прикладного программного обеспечения.
Учебное пособие предназначено для широкого круга читателей:
как для начинающих программистов, так и для тех, кто уже знаком с
основами программирования и в будущем собирается стать профессиональным программистом. Материал учебного пособия служит базисом для перехода к разработке приложений под Windows в среде
Microsoft Visual Studio с применением стандартных библиотек MFC,
STL и др.
Учебное пособие включает как информацию по основам программирования на языке С++, так и информацию по объектноориентированному программированию.
В главах 1—14 рассматриваются основы программирования на
языке С++: работа в среде программирования Microsoft Visual Studio
2010, простые программы с линейной, разветвленной, циклической
структурами, программирование задач с использованием одномерных
массивов, работа с функциями. Также рассматривается материал по
использованию препроцессорных средств и указателей. Представленный материал иллюстрируется примерами.
Главы 15—20 посвящены изучению объектноориентированного
программирования. В них рассматривается реализация классов, использование статических полей, функций класса, констант. Рассматриваются вопросы применения дружественных функций и классов,
наследования, потокового ввода/вывода, работы с файлами и обработки исключений.
Учебное пособие разбито на главы. Каждая глава содержит теоретический материал с подробно разобранными примерами программ.
Примеры программ сопровождаются схемами алгоритмов, что особенно важно для тех, кто только начинает изучать программирование.

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

В конце учебного пособия в приложениях 1—3 приведены, соответственно, таблица символов ASCII, математические функции библиотеки math.h, классы и функции потокового ввода/вывода и ответы
на тесты. Приложения 1—3 удобно использовать в качестве справочного материала при программировании, а ответы на тесты помогут
проверить степень усвоения материала.

в электронно библиотечной системе Znanium.com.

Учебное пособие предназначено для школьников, студентов

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

Данное учебное пособие является результатом многолетней методической и преподавательской работы в Центре Компьютерного Обучения (www.ckomiet.ru) и на кафедре «Информатика и программное
обеспечение вычислительных систем» Московского института электронной техники (технического университета).

4
Предисловие

Исходные  тексты разобранных  примеров  программ  доступны

Глава 1
ОСНОВНЫЕ СВЕДЕНИЯ
О ПРОГРАММИРОВАНИИ

Понятие «задача» применительно к программированию имеет более широкое значение, чем аналогичное понятие в математике, физике или химии. В программировании под задачей понимается получение требуемого результата с использованием средств программирования. Результатом решения задачи в программировании может быть
окно на экране, графическая картинка (с движением и без), вывод результатов вычислений на экран или в отдельный файл, построение на
экране таблиц и графиков и т. д. Решение задач на ПК — это совместная деятельность программиста и компьютера, при этом человек выполняет творческую часть работы (постановка задачи, составление
последовательности шагов решения, создание программы), а компьютер обрабатывает информацию в соответствии с разработанной программой.

1.1. Основные этапы решения задач

Для решения любой задачи с помощью компьютера необходимо
выполнить семь этапов:
• постановка задачи;
• математическое моделирование;
• алгоритмизация задачи;
• программирование;
• ввод программы и исходных данных в компьютер;
• тестирование и отладка программы;
• исполнение отлаженной задачи и анализ результатов.
Рассмотрим этапы решения на примере: пусть требуется вычислить сумму двух целых чисел.

Первый этап — постановка задачи, т. е. формулирование условий
задачи на естественном (русском) языке.
Пример постановки задачи: Даны A, B. Найти их сумму.
Второй этап — математическое моделирование, т. е. определение
математических формул, необходимых для решения задачи (в нашем
случае S = A + B).
Третий этап — алгоритмизация задачи. В общем случае программа решения задачи предназначена для обработки входных данных и
получения выходных данных. Отсюда — в любой программе три основных компонента: входные данные, выходные данные, алгоритм
обработки данных. Схематично процесс решения задачи представлен
на рис. 1.1.

В нашем примере входными данными являются целые числа А
и В (их значения вводятся с клавиатуры), S — результат (выходные
данные), который вычисляется в программе.
Этот этап является одним из важных этапов в решении задач, и
он будет подробно рассмотрен в следующем параграфе.
Четвертый этап — программирование. Составление программы
обеспечивает
возможность
выполнения
алгоритма
исполнителемкомпьютером (соответственно решается поставленная задача).
Для того чтобы компьютер выполнил решение какойлибо задачи,
ему необходимо получить от человека инструкции, как ее решать. Набор таких инструкций для компьютера, направленный на решение
конкретной задачи, называется компьютерной программой. Для написания программы и предназначены языки программирования (фиксированная система обозначений и правил для описания алгоритмов
и структур данных). Например, языки программирования высокого
уровня Бейсик, Pascal, С++ и т. д.
Пятый этап — ввод программы и исходных данных в компьютер.
Шестой этап — тестирование и отладка программы. На этом этапе исправляются ошибки и анализируется (тестируется) правильность работы программы (алгоритма).
Седьмой этап — исполнение отлаженной программы и анализ результатов.

6
Глава 1. Основные сведения о программировании

Рис. 1.1. Процесс решения задачи

1.2. Схемы алгоритмов

Алгоритм — это последовательность действий, которая определяет процесс получения выходных данных из входных, т. е. приводит
к решению задачи.
Алгоритмы подразделяются на:
• линейные (действия выполняются последовательно одно за
другим);
• ветвящиеся (есть условие и есть хотя бы два пути выполнения
алгоритма);
• циклические (многократное повторение некоторой группы
шагов).
Один из способов описания алгоритма — графический (схема алгоритма).
Обозначения в схемах алгоритмов.
1. Начало

2. Конец

3. Вычислительные действия

Для записи математических выражений используются только математические символы, а не операторы, без привязки к конкретному
языку программирования (например, знак равенства, а не операция
присваивания).
4. Ввод, вывод

5. Проверка условия

1.2. Схемы алгоритмов
7

6. Соединитель (для внутристраничного переноса)

Например:

7. Межстраничный перенос

Например:

8. Комментарии

Например:

8
Глава 1. Основные сведения о программировании

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

стрелкой, т. е. стрелки ставятся в направлениях
(справа налево и снизу вверх) и когда есть излом.
10. Нумерация блоков. В сложных схемах блоку может быть присвоен номер, например, для ссылки в других частях документации.
Блоки нумеруются сверху вниз, слева направо. Номер ставится в
левом верхнем углу над блоком.
Пример схемы алгоритма (линейный алгоритм). Даны A, B. Найти
S
A
B (рис. 1.2).

Пояснение. Схема алгоритма для решения этой задачи достаточно
простая (линейная), поэтому нумерация блоков не требуется. Сначала
с клавиатуры вводятся значения слагаемых A и B (блок «Ввод A, B»).
Далее (блок «S = A + B») вычисляется значение S. После этого вычисленное значение S выводится на экран (блок «Вывод S»).
Пример схемы алгоритма (ветвящийся алгоритм). Найти Q =
= min{A, B} (Q равно наименьшему значению из A и B) (рис. 1.3).
Пояснение. Блок 1 — начало алгоритма (решения). В блоке 2 с клавиатуры вводятся значения неизвестных A и B. В блоке 3 проверяется
условие «A < B». Если это условие выполняется (A меньше B, т. е. A
является наименьшим из двух чисел), то переменной Q присваивается значение переменной A (блок 4). Если условие «A < B» не выполня1.2. Схемы алгоритмов
9

Рис. 1.2. Пример схемы линейного алгоритма

ется (A больше или равно B, т. е. B является наименьшим из двух чисел), то переменной Q присваивается значение переменной B
(блок 5). После этого в блоке 6 вывода выводится вычисленное значение Q. Блок 7 — конец алгоритма (решения).

1.3. Рекомендации по стилю программирования

1. При разработке алгоритма и написании программы необходимо использовать технологию программирования сверху вниз: задача разбивается на более простые подзадачи до тех пор, пока не станут ясны
все детали решения.
2. При написании программы лучше использовать один и тот же
способ записи текста программы, чтобы со временем легче было ее
модифицировать.
3. Каждый оператор нужно начинать с новой строки. Следует избегать строк, длина которых превышает ширину экрана.
4. Для внесения определенности во вложенность управляющих
структур следует записывать операторы программы следующим образом: ключевые слова, начинающие и заканчивающие некоторый оператор, записываются с одинаковым отступом от левой границы окна
редактора, а все вложенные операторы при записи сдвигаются относительно этих слов вправо на 2—3 позиции (см. главы 3—20) .

10
Глава 1. Основные сведения о программировании

Рис. 1.3. Пример схемы ветвящегося алгоритма

5. При написании программы желательно использовать комментарии к разделам описаний и в отдельных блоках программы.
6. Идентификаторы (имена переменных, меток, констант, типов,
подпрограмм) в программе должны соответствовать своему назначению по условию задачи.
7. В разделах описаний следует группировать описания по назначению и типам (см. главы 6—17).

Задания

Составьте для решения каждой задачи схему алгоритма с комментариями.

1. Даны А, В. Найти Р
A * B.

2. Вычислить S
V ⋅ T.

3. Вычислить Е
М ⋅ С2/2.

4. Сколько времени в минутах школьник затратит на дорогу от дома
до школы, если известно расстояние S и средняя скорость движения
школьника V км/ч?

5. Ввести количество минут, прошедших с 0 часов. Определить время
в часах и минутах ([...] — обозначение в математике целой части от числа,
остаток от целочисленного деления написать словами в вычислительном
блоке).

6. Вычислить значения Y по формулеY
x
x
=
−
+
7
4
5
3
.

7. Вычислить объем и площадь поверхности параллелепипеда.

8. Вы положили деньги в банк на счет из расчета 60 % годовых от исходной суммы (накопления процентов ежемесячно не происходит). Составьте схему алгоритма, которая будет вычислять причитающийся вам
доход, когда вы будете задавать ей, сколько месяцев деньги лежат в банке.

Контрольные вопросы

1. Как следует трактовать понятие «задача» в программировании? Приведите примеры.
2. Что понимается под «результатом решения задачи» в программировании?
Поясните на примерах.
3. Что представляет собой процесс решения задач на компьютере?

1.3. Рекомендации по стилю программирования
11

4. Перечислите этапы решения задач.
5. В чем заключается каждый этап решения задачи на компьютере? Поясните на примере.
6. Что такое алгоритм?
7. Какие виды алгоритмов вы знаете? Приведите примеры.
8. Каким образом можно записать алгоритм?
9. Что такое схема алгоритма?
10. Какие графические символы используются при составлении схем алгоритмов? Назовите назначение каждого символа.
11. В каких случаях на схеме алгоритма следует использовать стрелки?
12. Как на схеме алгоритма показать начало и конец алгоритма (решения)?
13. Каким символом на схеме алгоритма обозначается ввод данных и вывод
результатов? Приведите примеры.
14. Как на схеме алгоритма можно показать вычисление по формуле или несколько подряд идущих вычислений по формулам? Приведите примеры.
15. Каким образом рекомендуется записывать программы?

12
Глава 1. Основные сведения о программировании

К покупке доступен более свежий выпуск Перейти