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

Программирование на С++ с погружением: практические задания и примеры кода

Покупка
Основная коллекция
Артикул: 638264.01.99
Доступ онлайн
от 100 ₽
В корзину
Практикум предназначен для изучения языков программирования С и С++ на практических занятиях. В пособии рассмотрены следующие средства языков программирования С и С++: основные типы данных, операторы, арифметические операции, массивы, указатели, функции, структуры, ссылки, динамические структуры данных. По каждой теме приведены примеры программ и задания для самостоятельной работы. Для подготовки бакалавров, обучающихся по направлению подготовки 231300.62 «Прикладная математика» (профиль «Математические методы в экономике»), а также может использоваться студентами других специальностей при изучении информатики или программирования. Может быть полезным для преподавателей вузов при проведении лабораторных работ по информатике и программированию.
Воронцова, Е. А. Программирование на С++ с погружением: практические задания и примеры кода - Москва :НИЦ ИНФРА-М, 2016. - 80 с. ISBN 978-5-16-105159-7. - Текст : электронный. - URL: https://znanium.com/catalog/product/563294 (дата обращения: 28.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
 
 
 
 
 
 
 
ПРОГРАММИРОВАНИЕ  
НА С++ С ПОГРУЖЕНИЕМ:  
ПРАКТИЧЕСКИЕ ЗАДАНИЯ  
И ПРИМЕРЫ КОДА 
 

 
Практикум 
 
 
 
 
 
 
             Москва 

         
 
         Инфра-М 
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. 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Доступ онлайн
от 100 ₽
В корзину