ВНИМАНИЕДля получения программы своего варианта пишите на наш электронный адрес proglabs@mail.ru

Цель лабораторной работы

Разработка программ на языке С++ с использованием функций, определенных пользователем.

Задание №1

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

💡 Для создаваемой функции: подобрать имя; указать тип функции; выбрать имена и типы входных параметров; описать тело функции с обязательным оператором в конце; в главной программе вызвать созданную функцию два раза с различными входными данными. Вывести результаты в главной программе.

Условие
1Создать функцию, которая возвращает меньшее из двух данных чисел.
2
Создать функцию, которая переводит время, заданное в минутах в секунды.
3
Создать функцию, которая определяет периметр треугольника по трем сторонам.
4
Создать функцию, которая возвращает номер квадранта, в котором находится точка.
5
Создать функцию, которая возвращает среднее арифметическое трех данных чисел.
6
Создать функцию, которая определяет площадь круга по его радиусу.
7
Создать функцию, которая возвращает остаток от деления двух натуральных чисел.
8
Создать функцию, которая переводит радианы в градусы.
9
Создать функцию, которая определяет длину  отрезка по его координатам.
10
Создать функцию, которая возвращает в долларах сумму, заданную в рублях.
11
Создать функцию, которая возвращает большее из двух данных чисел.
12
Создать функцию, которая определяет длину окружности по заданному радиусу.
13
Создать функцию, которая переводит скорость из $\frac{км}{час}$ в $\frac{м}{сек}$.
14
Создать функцию, которая возвращает среднее геометрическое двух данных чисел.
15
Создать функцию, которая возвращает в рублях сумму, заданную в долларах.
16
Создать функцию, которая переводит градусы в радианы.
17
Создать функцию, которая переводит время, заданное в секундах в минуты.

Образец выполнения (вариант №11)

Условие задачи

Создать функцию, которая возвращает большее из двух данных чисел.

Реализация задачи на языке С++

Результаты работы программы

Лабораторная работа №7. Задание №1. Вариант №11. Функция нахождения наибольшего из двух данных чисел

ВНИМАНИЕДля получения программы своего варианта пишите на наш электронный адрес proglabs@mail.ru

Задание №2

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

💡 Реализовать функцию, которую необходимо вызвать $2$ раза.

Условие
1Функция вычисляет площадь параллелограмма $s = a \cdot b \cdot \sin( \alpha )$ по заданным двум сторонам и углу между ними. В главной программе задано два параллелограмма.
2
Функция вычисляет площадь квадрата по заданной стороне. В главной программе задано два квадрата. Найти их площади.
3
Функция вычисляет диагональ прямоугольника по заданным двум сторонам. В главной программе задано два прямоугольника. Найти их диагонали.
4
Функция вычисляет площадь $s = \frac{1}{2} \cdot (a + b) \cdot h$ равнобедренной трапеции по заданным двум основаниям $a,\ b$ и высоте $h$. В главной программе заданы две равнобедренные трапеции. Найти их площади.
5
Функция вычисляет площадь окружности по заданному радиусу $R$. В главной программе заданы две окружности. Найти их площади.
6
Функция вычисляет объем сферы $v = \frac{4}{3} \cdot \pi \cdot R^3$ по заданному радиусу $R$. В главной программе заданы две сферы. Найти их объемы.
7
Функция вычисляет объем квадратной призмы по заданной высоте $H$ и стороне основания $a$. В главной программе задано две квадратные призмы. Найти их объемы.
8
Функция вычисляет объем правильной треугольной призмы по заданной высоте $H$ и стороне основания $a$. В главной программе заданы две треугольные призмы. Найти их объемы.
9
Функция вычисляет объем цилиндра по заданной высоте $H$ и радиусу основания $R$. В главной программе заданы два цилиндра. Найти их объемы.
10
Функция вычисляет площадь боковой поверхности $S = \pi \cdot R \cdot \sqrt{R^2 + H^2}$ конуса по заданной высоте $H$ и радиусу основания $R$. В главной программе задано два конуса. Найти их площади боковых поверхностей.
11
Функция вычисляет объем $v = \frac{1}{3} \cdot H \cdot \pi \cdot R^2$ конуса по заданной высоте $H$ и радиусу основания $R$. В главной программе задано два конуса. Найти их объемы.
12
Функция вычисляет объем $v = \frac{1}{3} \cdot H \cdot \pi \cdot (R^2 + r^2 + r \cdot R)$ усеченного конуса по заданной высоте $H$ и двум радиусам оснований $R$ и $r$. В главной программе задано два конуса. Найти их объемы.
13
Функция вычисляет длину вектора на плоскости по заданным координатам $x$ и $y$. В главной программе задано два вектора. Найти их длины.
14
Функция вычисляет тангенс угла наклона (между осью $OX$ и вектором) вектора на плоскости по заданным координатам $x$ и $y$. В главной программе задано два вектора. Найти их углы.
15
Функция вычисляет расстояние до начала координат от точки на плоскости по заданным ее координатам $x$ и $y$. В главной программе заданы две точки. Найти их расстояния до начала координат.

Образец выполнения (вариант №2)

Условие задачи

Функция вычисляет площадь квадрата по заданной стороне. В главной программе задано два квадрата. Найти их площади.

Реализация задачи на языке С++

Результаты работы программы

Лабораторная работа №7. Задание №2. Вариант №2. Нахождение площади квадрата по заданной стороне

ВНИМАНИЕДля получения программы своего варианта пишите на наш электронный адрес proglabs@mail.ru

Задание №3

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

Условие
1Описать функцию Sign(X) целого типа, возвращающую для вещественного числа $X$ его знак, то есть следующие значения: $-1$, если $X < 0$; $0$, если $X = 0$; $1$, если $X > 0$. С помощью этой функции найти значение выражения Sign(A) + Sign(B) для данных вещественных чисел $A$ и $B$.
2
Описать функцию RootsCount(A, B, C) целого типа, определяющую количество корней квадратного уравнения $A \cdot x^2 + B \cdot x + C = 0$ ($A,\ B,\ C$ — вещественные параметры, $A \neq 0$). С ее помощью найти количество корней для каждого из трех квадратных уравнений с данными коэффициентами. Количество корней определять по значению дискриминанта: $D = B^2 — 4 \cdot A \cdot C$.
3
Описать функцию CircleS(R) вещественного типа, находящую площадь круга радиуса $R$ ($R$ — вещественное). С помощью этой функции найти площади трех кругов с данными радиусами. Площадь круга радиуса $R$ вычисляется по формуле $S = \pi \cdot R^2$. В качестве значения $\pi$ использовать $3.14$.
4
Описать функцию RingS(R1, R2) вещественного типа, находящую площадь кольца, заключенного между двумя окружностями с общим центром и радиусами $R_1$ и $R_2$ ($R_1,\ R_2$ — вещественные, $R_1 > R_2$). С ее помощью найти площади трех колец, для которых даны внешние и внутренние радиусы. Воспользоваться формулой площади круга радиуса $R$: $S = \pi \cdot R^2$. В качестве значения $\pi$ использовать $3.14$.
5
Описать функцию TriangleP(a, h), находящую параметр равнобедренного треугольника по его основанию $a$ и высоте $h$, проведенной к основанию ($a,\ h$ — вещественные). С помощью этой функции найти периметры трех треугольников, для которых даны основания и высоты. Для нахождения боковой стороны $b$ треугольника использовать теорему Пифагора: $b^2 = (\frac{a}{2})^2 + h^2$.
6
Описать функцию Calc(A, B, Op) вещественного типа, выполняющую над ненулевыми вещественными числами $A$ и $B$ одну из арифметических операций и возвращающую ее результат. Вид операции определяется целым параметром $Op$: $1$ — вычитание, $2$ — умножение, $3$ — деление, остальные значения — сложение. С помощью Calc выполнить для данных $A$ и $B$ операции, определяемые данными целыми $N_1,\ N_2,\ N_3$.
7
Описать функцию Quarter(x, y) целого типа, определяющую номер координатной четверти, в которой находится находится точка с ненулевыми вещественными координатами $(x,\ y)$. С помощью этой функции найти номера координатных четвертей для трех точек с данными ненулевыми координатами.
8
Вычисление скалярного произведения векторов (массивов) оформить в виде функции $(x,\ y)$ — скалярное произведение векторов — это сумма поэлементных произведений их компонент. В главной программе заданы два вектора (массива) $x = (x_1,\ x_2,\ x_3,\ x_4)$ и $y = (y_1,\ y_2,\ y_3,\ y_4)$. Определить косинус угла $\alpha$ между векторами $x$ и $y$ по формуле: $\cos(\alpha) = \frac{(x,\ y)}{\sqrt{(x,\ x) (y,\ y)}}$, где $(x,\ y) = x_1 y_1 + x_2 y_2 + … + x_n y_n$ — скалярное произведение векторов (сумма поэлементных произведений компонент), используя описанную функцию $3$ раза.
9
Даны длины сторон треугольника $a,\ b,\ c$. Найти медианы треугольника, сторонами которого являются медианы исходного треугольника. Для вычисления медианы проведенной к стороне $a$ использовать формулу $\frac{1}{2} \sqrt{2b^2 + 2c^2 — a^2}$. Вычисление медианы оформить в виде функции.
10
Описать функцию DegToRad(D) вещественного типа, находящую величину угла в радианах, если дана его величина $D$ в градусах ($D$ — вещественное число, $0 < D < 360$). Воспользоваться следующим соотношением: $180^\circ = \pi$ радианов. В качестве значения $\pi$ использовать $3.14$. С помощью функции DegToRad перевести из градусов в радианы пять данных углов.
11
Описать функцию RadToDeg(R) вещественного типа, находящую величину угла в градусах, если дана его величина $R$ в радианах ($R$ — вещественное число, $0 < R < 2\pi$. Воспользоваться следующим соотношением: $180^\circ = \pi$ радианов. В качестве значения $\pi$ использовать $3.14$. С помощью функции RadToDeg перевести из радианов в градусы пять данных углов.
12
Четыре точки заданы своими координатами X($x_1,\ x_2$), Y($y_1,\ y_2$), Z($z_1,\ z_2$), P($p_1,\ p_2$). Выяснить, какие из них находятся на максимальном расстоянии друг от друга и вывести на печать значение этого расстояния. Вычисление расстояния между двумя точками оформить в виде функции.
13
Четыре точки заданы своими координатами X($x_1,\ x_2,\ x_3$), Y($y_1,\ y_2,\ y_3$), Z($z_1,\ z_2,\ z_3$), T($t_1,\ t_2,\ t_3$). Выяснить, какие из них находятся на минимальном расстоянии друг от друга и вывести на печать значение этого расстояния. Вычисление расстояния между двумя точками оформить в виде функции.
14

Описать функцию Power2(A, N) вещественного типа, находящую величину $A^N$ ($A$ — вещественный, $N$ — целый параметр) по следующим формулам:

$A^0 = 1$
$A^N = A \cdot A \cdot … \cdot A$ ($N$ сомножителей), если $N > 0$;
$A^N = \frac{1}{A \cdot A \cdot … \cdot A}$ ($|N|$ сомножителей), если $N < 0$.

С помощью этой функции найти $A^K$, $A^L$, $A^M$, если даны числа $A,\ K,\ L,\ M$.

Образец выполнения (вариант №3)

Условие задачи

Описать функцию CircleS(R) вещественного типа, находящую площадь круга радиуса $R$ ($R$ — вещественное). С помощью этой функции найти площади трех кругов с данными радиусами. Площадь круга радиуса $R$ вычисляется по формуле $S = \pi \cdot R^2$. В качестве значения $\pi$ использовать $3.14$.

Реализация задачи на языке С++

Результаты работы программы

Лабораторная работа №7. Задание №3. Вариант №3. Вычисление площади круга

ВНИМАНИЕДля получения программы своего варианта пишите на наш электронный адрес proglabs@mail.ru

Задание №4

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

Условие
1Даны действительные числа $a,\ b,\ c$.
Получить: $\frac{max(a,\ a\ +\ b)\ +\ max(a,\ b\ +\ c)}{1\ +\ max(a\ +\ b \cdot c,\ b \cdot 15)}$.

Описать функцию нахождения наибольшего числа из $2$ заданных величин.
2
Описать функцию Power1(A, B) вещественного типа, находящую величину $A^B$ по формуле $\exp(B \cdot \ln(A))$ (параметры $A,\ B$ — вещественные). В случае нулевого или отрицательного параметра $A$ функция должна возвращать $0$. С помощью этой функции в главной программе найти степени $A^P,\ B^P,\ C^P$, если даны числа $P,\ A,\ B,\ C$.
3
Даны действительные числа $a,\ b$. Получить $u = min(a,\ b — a),\ y = min(a \cdot b,\ a + b), k = min(u + y^2,\ 3.14)$. Описать функцию нахождения минимального числа из $2$ заданных величин.
4
Даны действительные числа $s,\ t$. Получить: $ g(1.2,\ s)\ +\ g(t,\ s)\ -\ g(2 \cdot s\ -\ 1,\ 5 \cdot t$), где
$ g(a,\ b) = \frac{a^2\ +\ b^2}{a^2\ +\ 2ab\ +\ 3b^2\ + 4}$ — функция.
5
Даны действительные числа $x,\ y$. Получить: $ f(x,\ -2y,\ 1.17)\ +\ f(2.2\ x,\ x — y )$, где
$ f(a,\ b,\ c) = \frac{2a\ -\ b\ -\ \sin(c)}{5\ +\ |c|}$ — функция.
6
Даны натуральные числа $a,\ b,\ c$. Найти НОД(a, b, c), используя формулу: НОД(a, b, c) = НОД((a, b), c).
Алгоритм Евклида: НОД(A, B) = НОД(B, A mod B), если $B \neq 0$; НОД(A, 0) = A. Описать функцию НОД(A, B), используя цикл while.
7
Получить для $x = 1, 3, 4, 5$ все значения выражения $ Q(x) = p(x + 1) — p(x)$ вывести на экран, где $ p(y) = a_3 \cdot y^3 + a_2 \cdot y^2 + a_1 \cdot y + a_0$ — функция, где $a_3,\ a_2,\ a_1,\ a_0$ — определенные константы.
8
Даны действительные числа $x,\ y$. Получить: $ Q = \tan(f(x + y,\ xy,\ y\ -\ x)\ +\ f(3.1,\ 1.4,\ y\ -\ \sin(x) )$, где
$ f(a,\ b,\ c) = \frac{3b\ +\ c\ -\ e^{-a}}{1\ +\ |\cos(3\alpha)|}$ — функция.
9
Даны действительные числа $a,\ b$. Получить $u = min(a,\ b \cdot a),\ y = min(a — b,\ a + b), k = min(u^3 + y^3,\ 28)$. Описать функцию нахождения минимального числа из $2$ заданных величин.
10
Даны действительные числа $a,\ b$. Получить $r = max(a,\ b + a),\ d = max(a \cdot b,\ a + b), s = max(r + d^2,\ 3.14)$. Описать функцию нахождения наибольшего числа из $2$ заданных величин.
11
Даны действительные числа $a_0,\ a_1,\ a_2,\ a_3$. Получить для $x = 2, 4, 7$ значения $ Q(x) = p(x + 1) + p(x)$, где $ p(y) = a_3 \cdot y^2 + a_2 \cdot y + 2(a_1 + a_0))$ — функция.
12
Даны действительные числа $s,\ t$. Получить: $ Q = |g(\ln(s,\ t + 1)) -\ g(t,\ s)|$, где
$ g(a,\ b) = \frac{a^2\ +\ b^2}{a^2\ +\ 2ab\ +\ 3b^2\ + 4}$ — функция.
13
Даны натуральные числа $a,\ b,\ c$. Найти НОД(a, b, c), используя формулу: НОД(a, b, c) = НОД((a, b), c).
Алгоритм Евклида: НОД(A, B) = НОД(B, A mod B), если $B \neq 0$; НОД(A, 0) = A. Описать функцию НОД(A, B), используя цикл while.
14
Три точки заданы своими координатами $ X(x_1,\ x_2),\ Y(y_1,\ y_2),\ Z(z_1,\ z_2)$. Найти и напечатать координаты точки, для которой угол между осью абсцисс и лучом, соединяющим начало координат с точкой, минимальный. Вычисление угла оформить в виде функции по формуле $\alpha = \arctan(\frac{y}{x})$. Вызвать функцию в программе $3$ раза.

Образец выполнения (вариант №10)

Условие задачи

Даны действительные числа $a,\ b$. Получить $r = max(a,\ b + a),\ d = max(a \cdot b,\ a + b), s = max(r + d^2,\ 3.14)$. Описать функцию нахождения наибольшего числа из $2$ заданных величин.

Реализация задачи на языке С++

Результаты работы программы

Лабораторная работа №7. Задание №4. Вариант №10. Вычисление 3 значений через функцию

ВНИМАНИЕДля получения программы своего варианта пишите на наш электронный адрес proglabs@mail.ru