- •ОГЛАВЛЕНИЕ
- •ВВЕДЕНИЕ
- •1. ЯЗЫК ПРОГРАММИРОВАНИЯ C++
- •1.1. Нововведения C++ в сравнении с C
- •1.3. Технический обзор
- •2. ЛАБОРАТОРНАЯ РАБОТА № 1 «Знакомство с языком C++. Основные функции»
- •2.1. Методические указания
- •2.1.1. Алфавит C++
- •2.1.2. Этапы создания исполняемой программы
- •2.1.3. Типы данных C++
- •2.1.3.1. Концепция типа данных
- •2.1.3.2. Простые типы данных
- •2.1.4. Структура программы на языке C++
- •2.1.5. Директивы препроцессора
- •2.1.5.1. Директива #include
- •2.1.5.2. Директива #define
- •2.1.6. Предварительные замечания о функциях ввода/вывода
- •2.1.7. Переменные и выражения
- •2.1.7.1. Переменные
- •2.1.7.2. Операции
- •2.1.7.3. Выражения
- •2.1.8. Основные функции
- •2.1.8.1. Математические функции
- •2.1.8.2. Функции обработки сигналов
- •2.1.8.3. Функции ввода-вывода в стиле C
- •2.1.8.4. Функция работы с датой и временем
- •2.1.8.5. Функции локализации
- •2.1.8.6. Функции классификации и преобразования символов
- •2.1.8.7. Функции управления программой
- •2.1.8.8. Различные функции в стиле C
- •2.2. Примеры программ для выполнения лабораторной работы № 1
- •2.3. Вопросы для самоконтроля
- •3. ЛАБОРАТОРНАЯ РАБОТА № 2 «Программирование с использованием основных операторов языка C++. Работа с массивами»
- •3.1. Методические указания
- •3.1.1. Основные операторы языка С++
- •3.1.1.1. Базовые конструкции структурного программирования
- •3.1.1.2. Составные операторы
- •3.1.1.3. Операторы выбора
- •3.1.1.4. Операторы циклов
- •Цикл с предусловием (while)
- •Цикл с постусловием (do while)
- •Цикл с параметром (for)
- •3.1.1.5. Операторы передачи управления
- •Оператор goto
- •Оператор break
- •Оператор continue
- •Оператор return
- •3.1.2. Одномерные массивы
- •3.1.2.1. Описание массива в C/C++
- •3.1.2.2. Обработка одномерных массивов
- •3.1.2.3. Перебор массива по одному элементу
- •3.1.2.4. Датчика случайных чисел для формирования массива.
- •3.1.3. Многомерные массивы
- •3.2. Примеры программ для лабораторной работы № 2
- •3.3. Вопросы для самоконтроля
- •3.4. Варианты заданий к лабораторной работе № 2
- •4. КУРСОВАЯ РАБОТА «Создание собственной функции»
- •4.1. Методические указания
- •4.1.1. Объявление и определение функций
- •Глобальные переменные
- •Возвращаемое значение
- •4.1.2. Параметры функции
- •4.2. Вопросы для самоконтроля
- •4.3. Варианты заданий курсовой работы
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Список литературы
- •Направление – _____________________________________________
- •Кафедра –
- •Выполнил студент гр. _______ __________ _______ ______________
- •Направление – ________________________________________________
- •Выполнил студент гр. _______ __________ _______ __________
int main() |
|
{ |
// объявление переменных |
int X,Y; bool h; |
|
cout<<"BBEDITE X="; |
// ввод координаты X |
cin>>X; |
|
cout<<"BBEDITE Y="; |
// ввод координаты Y |
cin>>Y; |
|
// Расчёт логической переменной: |
|
h=((X<=5)&&(Y<=4)&&(X>=0)&&(Y>=0)); |
|
cout<<h; |
// вывод результата |
getch(); |
|
} |
|
2.3.Вопросы для самоконтроля
1.Из каких частей состоит программа на С++?
2.Чем определение отличается от объявления?
3.Перечислить этапы создания исполняемой программы на языке С++.
4.Что такое препроцессор?
5.Что такое директива препроцессора?
6.Привести примеры директив препроцессора.
7.Из каких элементов состоит естественный язык? Что является аналогами этих элементов в С++?
8.Что такое лексема? Привести примеры лексем в языке С++.
9.Что такое идентификатор? Правила записи идентификаторов. 10.Что такое константа? Как константа обрабатывается компилято-
ром?
11.Какие типы констант существуют в С++. Привести примеры констант разных типов.
12.К какому типу относятся константы 192345, 0х56, 0хСВ, 016,
0.7865, .0045, ‘c’, “x”, one, “one”, 5 , 5.? 13.Что такое тип данных?
14.Чем отличаются типы данных: float и double, char и wchar_t, int и short int?
15.Чем отличаются типы данных int и unsigned int?
16.Перечислить все типы данных, которые существуют в C++. Сколько места в памяти занимают данные каждого типа?
17.На что влияет количество памяти, выделяемое для данных определенного типа?
50
18.Что такое переменная? Чем объявление переменой отличается от ее определения? Привести примеры определений и объявлений.
19.Что такое класс памяти? Какие классы памяти существуют в С++? Привести примеры объявлений и определений переменных разных классов памяти.
20.Что такое выражение? Из чего состоит выражение? 21.Что такое операнд?
22.Какие операции можно применять к целочисленным данным? К вещественным данным? К символьным данным?
23.Что такое отношение?
24.В каком случае отношение считается ложным, а в каком – истинным?
25.Какие операции называются унарными? Привести примеры. 26.Какие операции называются бинарными? Привести примеры. 27.Что такое тернарная операция? Привести пример.
28.Какая разница между постфиксной и префиксной операцией инкремента (декремента)?
29.Какие операции присваивания существуют в С++?
30.Привести примеры выражений, содержащих операции присваивания, операции инкремента (декремента), аддитивные и мультипликативные операции. Пояснить, как они будут выполняться.
31.Что будет выведено функцией
printf("\nСреднее арифметическое последовательности чисел равно: %10.5f \nКоличество четных элементов последовательности равно%10.5d ",S/n,k);
2.4. Варианты заданий к лабораторной работе № 1 Вариант 1
1.Введите обозначения и объявите переменные x, y, z и s. Запишите инструкции, которые присваивают переменной "x" значение -25.6, переменной "y" значение 128, а значение переменной "z" вводится с клавиатуры. Вычислите сумму значений трех величин по формуле: s=x+y+z. Выведите результат на экран в виде:
x=-25.6 y=128
You enter z=1 Summa: s=103.4
2.Определить тип заданных выражений и найти их значения. Составить систему тестов и вычислить полученное выражение для нескольких значений n и m, определить при каких n и m выражение
51
не может быть вычислено. При выполнении заданий на сравнения, использовать тернарную операцию.
а) k=n+(++m); б) m-->n;
3. Записать выражение, зависящее от координат точки X и Y и принимающее значение TRUE (t или 1), если точка принадлежит выделенной области (рис. 2), и FALSE (f или 0), если не принадлежит. Результаты вычислений вывести на печать. При выполнении задания использовать переменную логического типа, а не условный оператор.
y 3
x
0 |
7 |
Рис. 2. Область для решения логической задачи варианта 1
Вариант 2
1. Введите обозначения и объявите переменные x, y, z и S. Запишите инструкции, которые присваивают переменным "x", "y" и "z" значения, вводимые c клавиатуры. Вычислите квадрат суммы трех введённых вещественных чисел x, y, z. Выведите результат на экран в виде:
x=1 y=1 z=1
Answer:
S=9
*******************
2.Определить тип заданных выражений и найти их значения. Составить систему тестов и вычислить полученное выражение для нескольких значений n и m, определить при каких n и m выражение не может быть вычислено. При выполнении заданий на сравнения, использовать тернарную операцию.
а) k=--n-m++; б) m++<--n;
3.Записать выражение, зависящее от координат точки X и Y и принимающее значение TRUE (t или 1), если точка принадлежит выделенной области (рис. 3), и FALSE (f или 0), если не принадлежит. Результаты вычислений вывести на печать. При выполнении задания использовать переменную логического типа, а не условный оператор.
52
-7 |
y |
|
0 |
||
|
-4
Рис. 3. Область для решения логической задачи варианта 2
Вариант 3
1. Введите значение угла в градусах. Посчитайте и выведите значения cos, sin и tg этого угла. Результат решения задачи выведите на экран по образцу:
********************
sin(45)=0.707
cos(45)=0.707
tg(45)=1.000
********************
Примечание: см. Приложение Б
2.Определить тип заданных выражений и найти их значения. Составить систему тестов и вычислить полученное выражение для нескольких значений n и m, определить при каких n и m выражение не может быть вычислено. При выполнении заданий на сравнения, использовать тернарную операцию.
а) k= ++n*++m; б) m++<n;
3.Записать выражение, зависящее от координат точки X и Y и принимающее значение TRUE (t или 1), если точка принадлежит выделенной области (рис. 4), и FALSE (f или 0), если не принадлежит. Результаты вычислений вывести на печать. При выполнении задания использовать переменную логического типа, а не условный оператор.
y 3
0 |
x |
|
5 |
||
|
Рис. 4. Область для решения логической задачи варианта 3
53
Вариант 4
1. Введите обозначения и объявите вещественную переменную x (x>0). Значение переменной вводится с клавиатуры. Вычислите десятичный и натуральный логарифмы введённого значения. Выведите результат на экран по образцу:
You enter: x=2.5
Примечание: см. Приложение Б
2.Определить тип заданных выражений и найти их значения. Составить систему тестов и вычислить полученное выражение для нескольких значений n и m, определить при каких n и m выражение не может быть вычислено. При выполнении заданий на сравнения, использовать тернарную операцию.
а) k=++m+--n; б) m++<n;
3.Записать выражение, зависящее от координат точки X и Y и принимающее значение TRUE (t или 1), если точка принадлежит выделенной области (рис. 5), и FALSE (f или 0), если не принадлежит. Результаты вычислений вывести на печать. При выполнении задания использовать переменную логического типа, а не условный оператор.
y
0 x
2
Рис. 5. Область для решения логической задачи варианта 4
Вариант 5
1. Введите обозначения и объявите переменные x, y, f. Запишите инструкции, которые присваивают переменной "x" значение 30.5, значение переменной "y" вводится с клавиатуры. Вычислите по формуле:
f = x + x y . Выведите результат на экран по образцу:
You enter: |
Answer: |
y=4.5 |
f=5.725 |
Примечание: см. Приложение Б |
|
54
2.Определить тип заданных выражений и найти их значения. Составить систему тестов и вычислить полученное выражение для нескольких значений n и m, определить при каких n и m выражение не может быть вычислено. При выполнении заданий на сравнения, использовать тернарную операцию.
а) k=n++*m; б) n++<m;
3.Записать выражение, зависящее от координат точки X и Y и принимающее значение TRUE (t или 1), если точка принадлежит выделенной области (рис. 6), и FALSE (f или 0), если не принадлежит. Результаты вычислений вывести на печать. При выполнении задания использовать переменную логического типа, а не условный оператор.
y
0
3
Рис. 6. Область для решения логической задачи варианта 5
Вариант 6
1. Введите обозначения и объявите переменные x, y, z и S. Запишите инструкции, которые присваивают переменным "x", "y" и "z" значения, вводимые c клавиатуры. Вычислите квадрат разности трех введённых ве-
щественных чисел f = (x − y − z)2 . Выведите результат на экран в виде:
You enter: x=1.4 y=4.5 z=3.1
Answer: 38.44
2. Определить тип заданных выражений и найти их значения. Составить систему тестов и вычислить полученное выражение для нескольких значений n и m, определить при каких n и m выражение не может быть вычислено. При выполнении заданий на сравнения, использовать тернарную операцию.
а) k=--m-n++; б) m*m<n++;
55
3. Записать выражение, зависящее от координат точки X и Y и принимающее значение TRUE (t или 1), если точка принадлежит выделенной области (рис. 7), и FALSE (f или 0), если не принадлежит. Результаты вычислений вывести на печать. При выполнении задания использовать переменную логического типа, а не условный оператор.
y
0 1
Рис. 7. Область для решения логической задачи варианта 6
Вариант 7
1. Введите значение углов a и b в градусах. Посчитайте и выведите значения cos и sin этих углов. Результат решения задачи выведите на экран по образцу:
********* Answer:*********
sin(45)=0.707 sin(90)=1 cos(45)=0.707 cos(90)=0
Примечание: см. Приложение Б
2.Определить тип заданных выражений и найти их значения. Составить систему тестов и вычислить полученное выражение для нескольких значений n и m, определить при каких n и m выражение не может быть вычислено. При выполнении заданий на сравнения, использовать тернарную операцию.
а) k=m++-n++; б) m++>--n;
3.Записать выражение, зависящее от координат точки X и Y и принимающее значение TRUE (t или 1), если точка принадлежит выделенной области (рис. 8), и FALSE (f или 0), если не принадлежит. Результаты вычислений вывести на печать. При выполнении задания использовать переменную логического типа, а не условный оператор.
56
y
3
-3 |
0 |
4 x |
Рис. 8. Область для решения логической задачи варианта 7
Вариант 8
1. Введите обозначения и объявите переменные a, b, c и d. Запишите инструкции, которые присваивают переменной "a" значение -87.3, переменной "b" значение 111, а значение переменной "c" вводится
с клавиатуры. Вычислите по формуле: f = ec + b − a . Выведите ре-
зультат на экран в виде: a=-87.3
b=111
You enter c=0
Answer: d=199.3
Примечание: см. Приложение Б
2.Определить тип заданных выражений и найти их значения. Составить систему тестов и вычислить полученное выражение для нескольких значений n и m, определить при каких n и m выражение не может быть вычислено. При выполнении заданий на сравнения, использовать тернарную операцию.
а) k=m+--n; б) m++<--n;
3.Записать выражение, зависящее от координат точки X и Y и принимающее значение TRUE (t или 1), если точка принадлежит выделенной области (рис. 9), и FALSE (f или 0), если не принадлежит. Результаты вычислений вывести на печать. При выполнении задания использовать переменную логического типа, а не условный оператор.
57
y
0 |
3 |
x |
Рис. 9. Область для решения логической задачи варианта 8
Вариант 9
1. Введите обозначения и объявите вещественные переменные y (y>0) и x (x>0). Значения переменных вводятся с клавиатуры. Вычислите десятичный и натуральный логарифмы введённых переменных. Выведите результат на экран по образцу:
You enter: |
Answer: |
x=2.5 |
ln(2.5)=0.916 log(2.5)=0.3974 |
y=1 |
ln(1)=0 log(1)=0 |
Примечание: см. Приложение Б
2.Определить тип заданных выражений и найти их значения. Составить систему тестов и вычислить полученное выражение для нескольких значений n и m, определить при каких n и m выражение не может быть вычислено. При выполнении заданий на сравнения, использовать тернарную операцию.
а) k= (n++)+m--; б) n*m<n++;
3.Записать выражение, зависящее от координат точки X и Y и принимающее значение TRUE (t или 1), если точка принадлежит выделенной области (рис. 10), и FALSE (f или 0), если не принадлежит. Результаты вычислений вывести на печать. При выполнении задания использовать переменную логического типа, а не условный оператор.
y
04 x
Рис. 10. Область для решения логической задачи варианта 9
58
Вариант 10
1. Введите значение угла в градусах такое что b [− 1,1] . Посчи-
тайте и выведите значения arccos, arcsin и arctg этого угла. Результат решения задачи выведите на экран по образцу:
You enter: b=0.5
*******************
arcsin(0.5)=30
arccos(0.5)=60
arctg(0.5)=26
*******************
Примечание: см. Приложение Б
2.Определить тип заданных выражений и найти их значения. Составить систему тестов и вычислить полученное выражение для нескольких значений n и m, определить при каких n и m выражение не может быть вычислено. При выполнении заданий на сравнения, использовать тернарную операцию.
а) k=n++*m; б) ++m>n;
3.Записать выражение, зависящее от координат точки X и Y и принимающее значение TRUE (t или 1), если точка принадлежит выделенной области (рис. 11), и FALSE (f или 0), если не принадлежит. Результаты вычислений вывести на печать. При выполнении задания использовать переменную логического типа, а не условный оператор.
y
3
-3 |
0 |
4 x |
-1
Рис. 11. Область для решения логической задачи варианта 10
59