Математика#
Вступ#
Стандартна бібліотека C++ забезпечує базові математичні функції через <cmath>степеня тощо.
Використовуйте їх для обчислення положень, кутів, відстаней або виконання перетворень між градусами та радіанами.
Нижче наведено список доступних математичних функцій, констант та утиліт:
Загальні математичні функції – Загальні математичні інструменти.
abs– Повертає абсолютне значення числа.fmin– Повертає найменше з вхідних значень.fmax– Повертає найбільше з вхідних значень.pow– Зводить число у степеня.
Константи – попередньо визначені значення від <cmath>.
Тригонометрія – обчислення кутів та відношень між сторонами.
sin– Синус кута в радіанах.cos– Косинус кута в радіанах.tan– Тангенс кута в радіанах.atan– Арктангенс значення в радіанах.atan2– Арктангенс від y/x у радіанах, враховуючи квадрант.asin– Арксинус значення в радіанах.acos– Арккосинус значення в радіанах.
Округлення та абсолютне значення – налаштування точності або напрямку.
ceil– Округлює до найближчого цілого числа.floor– Округлює до найближчого цілого числа.trunc– Видаляє десяткову частину.
Ступені та логарифми – обчислення степеня, кореня та логарифма.
sqrt– Повертає квадратний корінь.exp– Обчислює e у степені x.log– Натуральний логарифм (за основою e).log10– Десятичний логарифм.
Операції з плаваючою комою – Перевірка або розкладання чисел з плаваючою комою.
Звичайні математичні функції#
abs#
Повертає абсолютне значення числа, видаляючи будь-який знак від’єму.
Available Functions1 — Повертає абсолютне значення цілого числа.
int abs( int x );
Parameters2 — Повертає абсолютне значення числа типу double.
double abs( double x );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Ціле число або число типу double. |
Повертає абсолютне значення вхідних даних того ж типу.
Examples// Display the absolute value of -10
Brain.Screen.print("%d", abs(-10));
// Output: 10
fmin#
Повертає менше з двох значень у вигляді типу double.
Available Functionsdouble fmin( double value1, double value2 );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Перше значення для порівняння. |
|
|
Друге значення для порівняння. |
Повертає значення типу double , що представляє менше з двох вхідних значень.
// Display the lower of two values
Brain.Screen.print("%f", fmin(7, 4));
// Output: 4.000000
fmax#
Повертає більше з двох значень у вигляді типу double.
Available Functionsdouble fmax( double value1, double value2 );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Перше значення для порівняння. |
|
|
Друге значення для порівняння. |
Повертає значення типу double , що представляє більше з двох вхідних значень.
// Display the higher of two values
Brain.Screen.print("%f", fmax(7, 4));
// Output: 7.000000
pow#
Повертає число, піднесене до степеня у вигляді подвійного числа.
Available Functionsdouble pow( double base, double exponent );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Базове число. |
|
|
Експонента. |
Повертає значення double , що представляє основу, зведену в степінь експоненти.
// Display 2 to the power of 3
Brain.Screen.print("%f", pow(2, 3));
// Output: 8.000000
Константи#
Константи – це попередньо визначені значення, які залишаються фіксованими протягом усього проєкту. Їх можна використовувати в обчисленнях без необхідності будь-якого визначення чи присвоєння.
M_PI#
M_PI задає математичну константу π, відношення довжини кола до його діаметра.
const double M_PI;
Ця константа не має параметрів.
Return ValuesПовертає математичну константу π у вигляді double.
// Calculate the area of a circle with radius 5
double area = M_PI * 5 * 5;
Brain.Screen.print("%f", area);
// Output: 78.539816
M_E#
Математична константа e (число Ейлера), основа натурального логарифма.
Available Constantsconst double M_E;
Ця константа не має параметрів.
Return ValuesПовертає математичну константу e як double.
// Calculate e raised to the power of 2
double result = pow(M_E, 2);
Brain.Screen.print("%f", result);
// Output: 7.389056
Тригонометрія#
sin#
Обчислює синус кута в радіанах і повертає число типу double.
Available Functionsdouble sin( double x );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Число double, що представляє кут у радіанах. |
Повертає double , що представляє синус кута.
// Convert 30 degrees to radians
double radians = 30 * M_PI / 180.0;
// Display the sine of 30 degrees
Brain.Screen.print("%f", sin(radians));
// Output: 0.500000
cos#
Обчислює косинус кута в радіанах і повертає число типу double.
Available Functionsdouble cos( double x );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Число double, що представляє кут у радіанах. |
Повертає значення double , що представляє косинус кута.
// Convert 60 degrees to radians
double radians = 60 * M_PI / 180.0;
// Display the cosine of 60 degrees
Brain.Screen.print("%f", cos(radians));
// Output: 0.500000
tan#
Обчислює тангенс кута в радіанах і повертає число типу double.
Available Functionsdouble tan( double x );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Число double, що представляє кут у радіанах. |
Повертає значення double , що представляє тангенс кута.
// Convert 45 degrees to radians
double radians = 45 * M_PI / 180.0;
// Compute tangent of 45 degrees
Brain.Screen.print("%f", tan(radians));
// Output: 1.000000
atan#
Обчислює арктангенс (дуговий тангенс) числа та повертає число типу double, що представляє кут у радіанах.
Available Functionsdouble atan( double x );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Подвійне значення. |
Повертає значення double , що представляє арктангенс у радіанах.
// Calculate the arc tangent of 1 in degrees
double degrees = atan(1.0) * 180.0 / M_PI;
Brain.Screen.print("%f", degrees);
// Output: 45.000000
atan2#
Обчислює головне значення арктангенса до кута y/x та повертає число типу double, що представляє кут у радіанах.
Available Functionsdouble atan2( double y, double x );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Подвійне значення, що представляє координату y. |
|
|
Подвійний тип, що представляє координату x. |
Повертає значення double , що представляє арктангенс осі y/x у радіанах.
// Calculate the inverse tangent of 1/1 in degrees
double degrees = atan2(1.0, 1.0) * 180.0 / M_PI;
Brain.Screen.print("%f", degrees);
// Output: 45.000000
asin#
Обчислює арксинус (арксинус) числа та повертає число типу double, що представляє кут у радіанах.
Available Functionsdouble asin( double x );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Подвійне число між -1 та 1. |
Повертає значення double , що представляє арксинус у радіанах.
// Calculate the arc sine of 0.5 in degrees
double degrees = asin(0.5) * 180.0 / M_PI;
Brain.Screen.print("%f", degrees);
// Output: 30.000000
acos#
Обчислює арккосинус (аркосинус) числа та повертає число типу double, що представляє кут у радіанах.
Available Functionsdouble acos( double x );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Подвійне число між -1 та 1. |
Повертає значення double , що представляє арккосинус у радіанах.
// Calculate the arc cosine of 0.5 in degrees
double degrees = acos(0.5) * 180.0 / M_PI;
Brain.Screen.print("%f", degrees);
// Output: 60.000000
Округлення та абсолютне значення#
ceil#
Повертає число, округлене до подвійного значення.
Available Functionsdouble ceil( double x );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Подвійне число, яке потрібно округлити в більшу сторону. |
Повертає double , що представляє найменше ціле число більше або дорівнює x.
// Round up 9.7
Brain.Screen.print("%f", ceil(9.7));
// Output: 10.000000
floor#
Повертає число, округлене до подвійного числа у менший бік.
Available Functionsdouble floor( double x );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Подвійне число, яке потрібно округлити до меншого. |
Повертає значення типу double дорівнює або менше, ніж x.
// Round down 9.7
Brain.Screen.print("%f", floor(9.7));
// Output: 9.000000
trunc#
Повертає число у форматі double, де десяткова частина встановлена на нуль.
Available Functionsdouble trunc( double x );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Подвійний елемент, який потрібно скоротити. |
Повертає значення double без десяткової частини.
// Truncate 9.7
Brain.Screen.print("%f", trunc(9.7));
// Output: 9.000000
Експоненти та логарифми#
sqrt#
Повертає квадратний корінь із числа.
Available Functionsdouble sqrt( double x );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Невід’ємне подвоєне число. |
Повертає double , що представляє квадратний корінь з x.
// Display the square root of 121
Brain.Screen.print("%f", sqrt(121));
// Output: 11.000000
exp#
Обчислює експоненту числа.
Available Functionsdouble exp( double x );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Подвійне значення для обчислення експоненти. |
Повертає double що представляє e, піднесене до степеня x.
// Calculate e raised to the power of 1
double result = exp(1);
Brain.Screen.print("%f", result);
// Output: 2.718282
log#
Обчислює натуральний логарифм числа.
Available Functionsdouble log( double x );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Позитивний дубль. |
Повертає значення double , що представляє натуральний логарифм x.
// Calculate the natural logarithm (base e) of e
double result = log(M_E);
Brain.Screen.print("%f", result);
// Output: 1.000000
log10#
Обчислює десятковий логарифм числа.
Available Functionsdouble log10( double x );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Позитивний дубль. |
Повертає double , що представляє десятковий логарифм x.
// Calculate the base-10 logarithm of 1000
double result = log10(1000);
Brain.Screen.print("%f", result);
// Output: 3.000000
Операції з плаваючою комою#
fmod#
Повертає залишок від ділення, зберігаючи знак діленого.
Available Functionsdouble fmod( double x, double y );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Дивіденд. |
|
|
Дільник. |
Повертає значення double , що представляє залишок від x/y зі знаком x.
// Calculate remainder of 10 / -3
// that preserves the sign of 10
double result = fmod(10.0, -3.0);
Brain.Screen.print("%f", result);
// Output: 1.000000
copysign#
Повертає число з величиною x та знаком y.
Available Functionsdouble copysign( double x, double y );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Значення, величина якого буде використана. |
|
|
Значення, знак якого буде використано. |
Повертає значення double з величиною x та знаком y.
// Return -10 with the sign of -3 (negative)
double result = copysign(10, -3);
Brain.Screen.print("%f", result);
// Output: -10.000000