Программирование на С++ с погружением: практические задания и примеры кода
Покупка
Основная коллекция
Тематика:
Программирование на C и C++
Издательство:
НИЦ ИНФРА-М
Автор:
Воронцова Евгения Алексеевна
Год издания: 2016
Кол-во страниц: 80
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
ВО - Бакалавриат
ISBN-онлайн: 978-5-16-105159-7
Артикул: 638264.01.99
Практикум предназначен для изучения языков программирования С и С++ на практических занятиях. В пособии рассмотрены следующие средства языков программирования С и С++: основные типы данных, операторы, арифметические операции, массивы, указатели, функции, структуры, ссылки, динамические структуры данных. По каждой теме приведены примеры программ и задания для самостоятельной работы.
Для подготовки бакалавров, обучающихся по направлению подготовки 231300.62 «Прикладная математика» (профиль «Математические методы в экономике»), а также может использоваться студентами других специальностей при изучении информатики или программирования. Может быть полезным для преподавателей вузов при проведении лабораторных работ по информатике и программированию.
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
ПРОГРАММИРОВАНИЕ НА С++ С ПОГРУЖЕНИЕМ: ПРАКТИЧЕСКИЕ ЗАДАНИЯ И ПРИМЕРЫ КОДА Практикум Москва Инфра-М 2016
УДК 004.42 ББК 32.973.26-018 П78 Рецензенты: Л.И. Прудникова, к.ф.-м.н., доцент, Дальневосточный федеральный университет; Н.В. Рябченко, старший преподаватель, Владивостокское отделение Российской таможенной академии П78 Программирование на С++ с погружением: практические задания и примеры кода / Авт.-сост. Е.А. Воронцова; ИНФРА-М, 2016.. – 80 с. ISBN online 978-5-16-105159-7 Практикум предназначен для изучения языков программирования С и С++ на практических занятиях. В пособии рассмотрены следующие средства языков программирования С и С++: основные типы данных, операторы, арифметические операции, массивы, указатели, функции, структуры, ссылки, динамические структуры данных. По каждой теме приведены примеры программ и задания для самостоятельной работы. Для подготовки бакалавров, обучающихся по направлению подготовки 231300.62 «Прикладная математика» (профиль «Математические методы в экономике»), а также может использоваться студентами других специальностей при изучении информатики или программирования. Может быть полезным для преподавателей вузов при проведении лабораторных работ по информатике и программированию. УДК 004.42 ББК 32.973.26-018 ISBN online 978-5-16-105159-7
Содержание Предисловие...........................................................................................4 1. Арифметические операции. Инкремент и декремент. Приоритеты. Условная операция......................................................5 Контрольная работа по теме «Арифметические операции. Системы счисления»...............................................................................................9 2. Условный оператор if…else и переключатель switch...............11 3. Операторы цикла............................................................................15 4. Указатели и адреса..........................................................................19 5. Массивы............................................................................................25 6. Функции............................................................................................33 7. Структуры........................................................................................39 8. Функции, указатели, ссылки........................................................47 9. Динамические массивы.................................................................54 10. Задания для самостоятельной работы по всему курсу..........60 11. Дополнительные задания для самоконтроля..........................73 Список литературы............................................................................78
Предисловие Предлагаемый практикум содержит учебные материалы и практические задания по базовым двухсеместровым курсам «Программные и аппаратные средства информатики» и «Программирование для ЭВМ». Данные курсы читаются в Дальневосточном федеральном университете для студентов специальности 231300.62 «Прикладная математика» (профиль «Математические методы в экономике»). Цель данного курса – получение студентами теоретических знаний и приобретение навыков разработки программного обеспечения для современных ЭВМ на языке программирования С++. В данном пособии содержится значительное количество практических заданий, вопросов и примеров программного кода с подробным разбором, которые помогут студентам, профессионально изучающим программирование, овладеть необходимыми знаниями, умениями и навыками.
1. Арифметические операции. Инкремент и декремент. Приоритеты. Условная операция Помимо основных арифметических операций, в языке С++ определено некоторое количество специфических операций. К ним относятся операция инкремент (++) ‒ увеличение значения на 1, операция декремент (‒‒) ‒ уменьшение значения на 1, операция sizeof ‒ операция вычисления размера в байтах. Следует обратить внимание на операцию деления (/) ‒ в зависимости от типов операндов она обозначает либо обычное деление, либо деление нацело. По количеству операндов, которые необходимы для выполнения операции, все операции можно разделить на три типа: унарные, бинарные и тернарные. К унарным операциям относятся, например, инкремент, декремент и арифметическое отрицание. К бинарным ‒ умножение, сложение, деление, вычитание, операции отношения, операции сдвига (<< и >>), остаток от деления (%), ряд логических и поразрядных операций. Единственная тернарная операция (т.е., требующая для своего выполнения трех операндов) в С++ ‒ условная операция ? :, являющаяся в каком-то смысле аналогом условного оператора if...else. 1.1. Операции присваивания, инкремента и декремента Составьте программу, которая: а) выполняет арифметические операции над двумя целыми числами и выводит их результат (применить сокращенные арифметические операции, инкремент и декремент).
б) выполняет аналогичные действия с двумя вещественными числами двойной точности. Задания 1. Опишите назначение операций типа знак =, ++ и --. 2. Введите: а) вместо целого числа ‒ вещественное число; б) вместо вещественное числа ‒ целое; Каковы будут результаты и почему? 3. Какую роль выполняет заголовочный файл iostream? Указать потоки ввода-вывода. 1.2. Свойства операций инкремента и декремента в постфиксной и префиксной формах Пример программы. #include <iostream> using namespace std; int main() { int i, k = 10; i = 5 * (k++); cout << " i = " << i << endl << '\n'; k--; i = 5 * ++k; cout << " i = " << i << "\n" << endl; return 0; }
Задания 1. Опишите отличие и сходство '\n', "\n" и endl. 2. Изменится ли результат, если убрать скобки в (k++) или, наоборот, взять ++k в скобки? 3. Попробуйте вставить пробел в k--: а) написать k-- в виде k --; б) написать k-- в виде k- -. Что при этом произойдет? 4. Укажите различие приоритетов префиксной и постфиксной форм инкремента и декремента? Продемонстрируйте их в программе. 1.3. Приоритеты арифметических операций. Преобразование типа выражения из целого в вещественный Для произвольных целых чисел i, j, x и y вычислите выражения: -10 +++ j % i-- (-10 +++i +++j) / (3 * j + 3) x / y + y / x +i * x + j * y (i +++++x) / (--j---y) Задания 1. Объясните порядок выполнения операций. Что делает операция % ? 2. Дополните программу операцией преобразования типа для вывода точного результата. 3. Вычислите вручную значения данных выражений и сравните с полученным в программе результатом.
1.4. Условная операция, операции отношения (сравнения) и логические бинарные операции #include <iostream> using namespace std; void main () { int i = 5; int j = 10; cout << ((i < j) ? "TRUE" : "FALSE") << endl; cout << ((i > 0 || j < 100) ? "TRUE" : "FALSE") << endl; cout << ((i > 0 && j <= 10) ? "TRUE" : "FALSE") << endl; (i == 5 && i == j) ? cout << "TRUE" << endl : cout << "FALSE" << endl; int k = (i == 5 || i != j) ? (i > 0 || j < 100) : ((i > 0 && j <= 10); cout << (k ? "TRUE" : "FALSE") << endl; } Задания 1. Уточните текст и объясните смысл программы. 2. Укажите, где в этой программе условные операции, операции отношения и логические бинарные операции.
Контрольная работа по теме «Арифметические операции. Системы счисления» Приведены образцы заданий для проведения контрольной работы по теме. 1. Запишите результат работы данной программы: #include <iostream> using namespace std; void main() { int i = 5, j = 10; double x; x = 1. / 5 * j++; x--; cout << " x = " << x << endl << "\n"; x = --i % 2 + 30./2; cout << " x = " << x << "\n" << endl; } 2. Запишите результат работы данной программы: #include <iostream> using namespace std; void main() { int i, j, k; k = 0; j = 1; i = j + 1;
cout << (k ? "Yes!" : "No(") << endl; (i == 2 && j == 1) ? cout << "Yes!" : cout << "No(" << endl; } 3. а) Перевести из десятичной системы в двоичную число (101,7). б) (101,01)2 = ( ? )10. в) (1111)2 = ( ? )8.