В этой статье Вы узнаете, что такое линейные алгоритмы; ознакомитесь с математическими функциями.
В С++ можно делать различные математические расчёты, поэтому разработчиками были созданы математические функции, которые находятся в заголовочном файле “math.h”.
В таблице 3.1 приведены некоторые часто используемые математические функции.
Функция в программировании |
Описание |
Пример использования |
sqrt( x ) |
Корень из х |
double a = 900;double b = 9;double res = 0;res = sqrt(a);// res = 30.0res = sqrt(b);// res = 3.0 |
exp(x) |
Экспоненциальная функция e в степени x |
double a = 1;double b = 2;double res = 0;res = exp(a);// res = 2.718282res = exp(b);// res = 7.389056 |
pow(x,y) |
x в степени y |
double x=2;float y=7;double res = 0;res = pow(x,y);// res = 128.0x = 9;y = 0.5;res = pow(x,y);// res = 3.0 |
log(x) |
логарифм натуральный х (по основанию е) |
double x = 2.718282;double y = 7.389056;double res = 0;res = log(x);// res = 1.0res = log(y);// res = 2.0 |
log10(x) |
логарифм десятичный х (по основанию е) |
double x = 1.0;double y = 10.0;double z = 100.0;double res = 0;res = log10(x);// res = 0.0res = log10(y);// res = 1.0res = log10(z);// res = 2.0 |
fabs(x) |
абсолютное значение х (для чисел с плавающей точкой с запятой) |
double x = 17.3;double y = -13.6;double z = 0.0;double res = 0;res = fabs(x);// res = 17.3res = fabs(y);// res = 13.6res = fabs(z);// res = 0.0 |
abs(x) |
абсолютное значение х (для целочисленных значений) |
double x1 = 0.3;double y1 = -13.6;double z1 = 0.0;double res1 = 0;res = fabs(x1);// res = 0res = fabs(y1);// res = 13res = fabs(z1);// res = 0 int x2 = 7;int y2 = -43; |
int z2 = 0;
int res2 = 0;
res = fabs(x2);
// res = 7
res = fabs(y2);
// res = -43
res = fabs(z2);
// res = 0
ceil(x)
округление х до наименьшего целого, не меньшего чем х
double x = 9.2;double y = -9.8;double res = 0;res = ceil(x);// res = 10.0res = ceil(y);// res = -9.0
floor(x)
округление х до наибольшего целого, не большего чем х
double x = 9.2;double y = -9.8;double res = 0;res = floor(x);// res = 9.0res = floor(y);// res = -10.0
fmod(x,y)
остаток х/у, как число с плавающей точкой
double x = 13.657;double y = 2.333;double res = 0;res = fmod(x,y);// res = 1.992
sin(x)
синус х, где х в радианах
double x = 0.0;res = sin(x);// res = 0.0
cos(x)
косинус х, где х в радианах
double x = 0.0;res = cos(x);// res = 1.0
tan(x)
тангенс х, где х в радианах
double x = 0.0;res = tan(x);// res = 0.0
asin(x)
арксинус х, где х в радианах
double x = 0.0;res = asin(x);// res = 0.0
acos(x)
арккосинус х, где х в радианах
double x = 0.0;res = acos(x);// res = 1.5708
Таблица 3.1: некоторые математические функции
Для использования математических функций необходимо подключить заголовочный файл “math.h”, в котором находятся все выше перечисленные функции. Заголовочный файл подключается в начале программы с помощью директивы
#include “имя_заголовочного_файла.h”
Обычно функция вызывается путём записи имени функции, после которой записывается левая круглая скобка, затем аргумент функции (или список аргументов, разделённых запятыми), а завершает запись правая круглая скобка. Например, если нам необходимо вычислить корень из числа 25, то можно было бы написать:
cout<<sqrt(25);
После выполнения этого оператора вызывается библиотечная функция sqrt, которая вычисляет корень квадратный из числа 25. Само число 25 будет являться аргументом функции sqrt, а sqrt — имя функции. После выполнения оператора вывода на экране должно отобразиться число 5.
Замечание: все функции в математической библиотеке возвращают данные типа double.
Кроме того, аргументами функции могут быть константы, переменные и выражения. Например, мы могли бы вычислить корень квадратный из выражения 5-9+(34-15)*2+2. При подсчёте выражения получится число 36. Записать это выражение в функцию можно следующим образом:
cout<<sqrt(5-9+(34-15)*2+2);
Результатом работы оператора cout — вывод числа 6 на экран.
Получайте новые статьи блога прямо себе на почту