Файл: Лабораторные работы по программированию на языке С++.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 07.05.2025

Просмотров: 93

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Лабораторные работы «Программирование на С++»

4

Содержание

 

Лабораторная работа №1.

 

Тема: «Программирование линейных вычислительных процессов» ..................................

5

Лабораторная работа №2.

 

Тема «Программирование разветвляющихся вычислительных процессов» .....................

7

Лабораторная работа №3.

 

Тема «Условный оператор в С++. Вычисление значения функции, проверка попадания

точки в область на плоскости» ................................................................................................

9

Лабораторная работа №4.

 

Тема «Программирование циклических вычислительных процессов с варьируемым

 

параметром цикла» ................................................................................................................

13

Варианты заданий ..................................................................................................................

19

Лабораторная работа №7.

 

Тема «Применение функций для решения нелинейных уравнений» ...............................

22

Лабораторная работа № 8.

 

Тема «Обработка одномерных массивов» ..........................................................................

23

Лабораторная работа № 9

 

Тема «Указатели и динамические массивы. Использование указателей в качестве

 

аргументов функций» .............................................................................................................

25

Лабораторная работа № 10.

 

Тема «Обработка двумерных массивов» .............................................................................

28

Лабораторная работа № 11.

 

Тема «Программирование задач линейной алгебры» ........................................................

31

Лабораторная работа № 12 .

 

Тема «Структуры в С++» .......................................................................................................

35

Лабораторная работа № 13 .

 

Тема «Текстовые и двоичные файлы в С++» ......................................................................

37

Лабораторная работа № 14 .

 

Тема «Динамические структуры в С++. Текстовые и двоичные файлы» .........................

39

Лабораторная работа №15.

 

Тема «Программирование на С++ с использованием классов. Перегрузка операторов»

..................................................................................................................................................

45

Лабораторная работа №16.

 

Тема «Программирование на С++ с использованием классов. Массивы объектов .

 

Наследование» .......................................................................................................................

55

Список литературы .................................................................................................................

61


Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Лабораторные работы «Программирование на С++»

5

Лабораторная работа №1.

Тема: «Программирование линейных вычислительных процессов»

Цель работы : Изучить структуру программы на языке С++ [1, с. 10-33, с. 47-48]. Ознакомиться с операторами ввода и вывода [1, с. 49-52]. Ознакомиться с программированием математических формул [1, с. 47].

Задание: Написать две программы на языке С++ для расчета значений переменных y и z по заданным формулам (табл. 1.1). В первой программе использовать для ввода функцию scanf, для вывода – функцию printf. Во второй программе использовать операторы потокового ввода-вывода cin и cout. Определить разность между значениями y и z. В программе предусмотреть ввод исходных данных с экрана дисплея. Предварительно вычислите ожидаемые значения y и z с помощью калькулятора. Убедитесь, что значения, вычисленные с помощью калькулятора, совпадают с результатами, которые получаются в результате работы программы.

Таблица 1.1. Варианты заданий к лабораторной работе №1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вариант 1

 

 

 

 

 

 

 

Вариант 2

 

 

 

 

 

 

 

sin 2π

 

 

 

 

 

 

y=cos α sin α cos3α sin3α

 

 

 

 

5

3

 

z=2

 

cosα sin

 

π

 

 

 

 

 

 

2

y=1 sin 3απ ; z

=ctg 4

π 2

α

4

 

 

 

 

 

 

 

 

 

Вариант 3

 

 

 

 

 

 

 

Вариант 4

 

 

 

 

 

 

y=sin 2α sin 5αsin 3α

 

 

y=sin 2α sin 5αsin 3α

 

 

cos α 1 2 sin2

 

 

 

cos αcos3α cos5α

 

z=2sinα

 

 

 

 

 

 

 

 

z=tg

 

 

 

 

 

 

 

Вариант 5

 

 

 

 

 

 

 

Вариант 6

 

 

 

 

 

 

y=1 1 sin2 2α cos2α

 

 

y=cos α cos2α cos6α cos 7α

4

 

 

 

 

 

 

 

 

 

 

 

 

α

5

 

 

 

 

 

z=cos2 α cos4 α

 

 

 

 

 

z=4cos 2

cos 2 α cos 4α

 

Вариант 7

 

 

 

 

 

 

 

Вариант 8

 

 

 

 

 

 

2

 

3

α

 

2

11

α

 

y=2 sin2 2α cos2 5π 2α

y=cos

8

π4

cos

8 π 4

 

1

1

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z=4

4 sin 2 π

 

 

 

z=

2

sin α

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вариант 9

 

 

 

 

 

 

 

Вариант 10

 

 

1

 

 

 

y= cos αcos β 2sin αsin β 2

 

 

4

 

 

2

 

 

2

 

 

z=−4 sin

2 αβ

cos α β

 

 

y=cos

a sin

b 4 sin

2a1

2

 

 

 

z=sin b a sin ba

 

 


Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Лабораторные работы «Программирование на С++»

 

6

Продолжение табл.1.1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вариант 11

Вариант 12

 

 

 

 

 

 

 

 

 

 

 

 

 

1 2sin2 α

y=

sin 4α

 

cos2α

 

 

 

 

 

 

y=1 sin3α

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 cos 4α

1 cos 2α

 

 

 

 

 

 

 

1 tg α

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

z=1 tg α

z=ctg 2 πα

 

 

 

 

 

 

Вариант 13

Вариант 14

 

 

 

 

 

 

 

 

 

 

 

y=sin α cos 2βα

y=1

sin α βγ sin β γα

 

 

 

 

cos αsin 2βα

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 sin 2β

sin γ αβ sin α β γ

 

 

 

z=cos2β

z=sin α cos β cosγ

 

 

 

 

 

 

Вариант 15

Вариант 16

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x2 2x3 x 1

x29

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

y=

2b 2 b 4

 

y=

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

x

 

 

 

2

 

 

 

 

 

 

 

b 4 b 2

 

 

 

2x3 x1 x

9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

z=

x 3

 

 

 

 

 

 

 

 

 

 

 

 

z=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b 2

 

 

 

 

 

 

 

 

x3

 

 

 

 

 

 

 

 

 

 

 

Вариант 17

Вариант 18

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

3 tg αtg3 α

 

 

 

 

 

 

y=4 [ cos α βγ cos β γα

y=1 3 tg2 α

 

 

 

 

 

 

cos γ αβ cos α β γ ]

z=tg

 

 

 

 

 

 

 

 

 

 

 

z=cos α cos β cosγ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вариант 19

Вариант 20

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

1 cos α

 

 

 

 

1 a a2

 

1 a a2

 

 

2

 

y= 1 cosα

y= 2a a2

2 2aa2

 

 

5 2a

 

 

z=

1 cosα

z=4 a

 

 

 

 

 

 

 

 

 

 

 

sin α

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вариант 21

Вариант 22

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

4 tg α4 tg3 α

 

 

 

 

 

 

y=8 cos4α 4 cos2α 3

y=

 

 

 

 

 

 

 

 

1 6 tg2 α tg4 α

 

 

 

 

 

 

z=cos4 α

z=tg

 

 

 

 

 

 

 

 

 

 

 

Вариант 23

Вариант 24

 

 

 

 

 

 

 

 

 

 

 

y=1 cos4α4 cos2α 3

y=cos α sin α

 

 

 

 

 

 

8

 

 

 

 

 

 

 

 

 

 

 

 

cos αsin α

 

 

 

 

 

 

z=sin4 α

z=tg 2α sec2α

 

 

 

 

 

 

Вариант 25

Вариант 26

 

 

 

 

 

 

 

 

 

 

 

y=1 [ sin α βγ sin β γα

y=1

3 sin αsin3α

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

sin γ αβ sin α β γ ]

z=sin3 α

 

 

 

 

 

 

 

 

 

 

 

z=sin α sin β sin γ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Лабораторные работы «Программирование на С++»

7

Лабораторная работа №2.

Тема «Программирование разветвляющихся вычислительных процессов»

Цель работы : Изучение условного оператора в языке С++[1, с. 59-73]. Задание: Составить алгоритм и написать программу на языке С++ решения

задачи согласно своего варианта.

Варианты заданий

1.Задана точка M с координатами (x,y). Определить месторасположение этой точки в декартовой системе координат (является ли эта точка началом координат, лежит на одной из координатных осей или расположена в одном из координатных углов).

2.Задана квадратичная функция вида y=ax2+bx+c. Вывести сообщения, как направлены ветви параболы, сколько у нее точек пересечения с осью ОХ.

3.Задан параллелограмм со сторонами a, b и углом α между ними. Определить тип параллелограмма (ромб, прямоугольник или квадрат), если это возможно.

4.Известны углы α и β у основания трапеции. Выяснить, если это возможно, тип трапеции (прямоугольная, равнобедренная, прямоугольник).

5.Задан круг с центром в точке О(x0, y0) и радиусом R0 и точка А (x1, y1). Определить месторасположение точки по отношению к кругу (находится внутри круга, вне его или лежит на окружности).

6.Определите, пересекаются ли парабола у=cx2+dx+f и прямая y=ax+b. При положительном ответе найти точки пересечения.

7. Заданы три функции y1=x3, y2=x3+1,

y3=

1

 

. Определить, являются ли эти

1 x

2

функции четными или нечетными.

 

 

 

 

 

 

 

8.Выяснить, пересекаются ли параболы у=аx2+bx+с и у=dx2+ex + ¦. При положительном ответе найти точки пересечения.

9.Выяснить, пересекаются ли кривые у=аx3+bx2+сx+d и y=ex3+fx2+gx+h. При положительном ответе найти точки пересечения.

10.Определите, пересекаются ли кривая у=аx3+bx2+сx+d и прямая y=fx+g. При положительном ответе найти точки пересечения.

11.Задана окружность с центром в точке О(x0,y0) и радиусом R0 и прямая y=ax+b. Определить, пересекаются ли прямая и окружность. При положительном ответе найти точки пересечения.

12.Заданы две окружности: с центром в точке О(x0, y0) и радиусом R0 и с центром в точке О(x1, y1) и радиусом R1. Определите, во скольких точках пересекаются окружности.

13.Заданы три точки на плоскости: M с координатами (x1,y1), L с координатами (x2,y2) и H с координатами (x3,y3). Определите, лежат ли они на одной прямой. При отрицательном ответе найти площадь и периметр треугольника MLH.


Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Лабораторные работы «Программирование на С++»

8

14.Заданы три точки А(a1,a2,a3), В(b1,b2,b3) и С(c1,c2,c3). Определить, между какими точками расстояние будет наименьшим.

15.Задан треугольник с углами α, β и γ. Определить тип треугольника — остроугольный, прямоугольный или тупоугольный.

16.Заданы точки А(a1,a2) и В(b1,b2). Определить, лежат ли они на прямой y=ax+b.

17.Известны уравнения двух прямых y=a1x+b1 и y=a2x+b2. Определить, являются ли эти прямые параллельными или перпендикулярными, если нет, то найти угол между ними.

18.Задан треугольник со сторонами a, b и с. Определить, является ли этот треугольник равносторонним, равнобедренным, если нет, вычислить площадь треугольника.

19.Даны уравнения двух прямых y=a1x+b1 и y=a2x+b2. Определить, пересекаются ли эти прямые, совпадают или параллельны.

20.Даны 3 дроби

a1

,

a2

,

a3

. Найти, какая из трех дробей наибольшая.

b1

b2

b3

 

 

 

 

21.Определить, имеет ли решение система {dxax eyby==cf . Если решение есть, найти

значение x и y.

22.Определить, при каких значениях х и y векторы A=a1i+a2j+xk и B=yi+b2j+b3k коллинеарны и какой из векторов короче.

23.Проверить коллинеарность векторов A=(a1, a2, a3) и B=(b1, b2, b3). Установить, какой из них длиннее и во сколько раз.

24.Даны координаты вершин двух треугольников ABC и DFG: A(a1,a2), B(b1,b2), C(c1,c2), D(d1,d2), F(f1,f2), G(g1,g2). Определить, периметр какого треугольника больше.

25.Даны две прямые y=a1×x+c1 и y=a2×x+c2. Определить условие

перпендикулярности прямых, и если оно не выполнятся, найти угол между ними.

26.Задана показательная функция y=ax. Проверить, является ли функция возрастающей ( при a>1)или убывающей (при 0 £ a £ 1). Задана функция

обратной пропорциональности y= kx . Определить, в каких координатных углах расположены ветви гиперболы.