В С++ определены в заголовочном файле <cmath>
функции выполняющие некоторые часто используемые математические задачи. Например, нахождение корня, возведение в степень, sin()
, cos()
и многие другие. В таблице 1 показаны основные математические функций, прототипы которых содержатся в заголовочном файле <cmath>
.
Функция | Описание | Пример |
---|---|---|
abs( a ) | модуль или абсолютное значение от а | abs(-3.0)= 3.0 abs(5.0)= 5.0 |
sqrt(a) | корень квадратный из а, причём а не отрицательно | sqrt(9.0)=3.0 |
pow(a, b) | возведение а в степень b | pow(2,3)=8 |
ceil( a ) | округление а до наименьшего целого, но не меньше чем а | ceil(2.3)=3.0 ceil(-2.3)=-2.0 |
floor(a) | округление а до наибольшего целого, но не больше чем а | floor(12.4)=12 floor(-2.9)=-3 |
fmod(a, b) | вычисление остатка от a/b | fmod(4.4, 7.5) = 4.4 fmod( 7.5, 4.4) = 3.1 |
exp(a) | вычисление экспоненты еа | exp(0)=1 |
sin(a) | a задаётся в радианах | |
cos(a) | a задаётся в радианах | |
log(a) | натуральный логарифм a(основанием является экспонента) | log(1.0)=0.0 |
log10(a) | десятичный логарифм а | Log10(10)=1 |
asin(a) | арксинус a, где -1.0 < а < 1.0 | asin(1)=1.5708 |
Необходимо запомнить то, что операнды данных функций всегда должны быть вещественными, то есть a
и b
числа с плавающей точкой. Это связано с тем, что существует несколько экземпляров перегруженных функций, соответствующих списку аргументов. Тему перегруженные функции рассмотрим немного позже, а пока надо запомнить, что a
и b
числа с плавающей точкой. Разработаем программу, которая будет использовать математические функции.
// math_func.cpp: определяет точку входа для консольного приложения. #include "stdafx.h" #include <iostream> #include <cmath> using namespace std; int main(int argc, char* argv[]) { cout << "log10(10) = " << log10(10.0) << endl; // логарифм десятичный cout << "log10(1) = " << log10(1.0) << endl; cout << "log(2.718281) = " << log(2.718281) << endl; // натуральный логарифм(по основанию экспоненты) exp = 2.718281 cout << "sqrt(9) = " << sqrt(9.0) << endl; // корень квадратный cout << "pow(2,3) = " << pow(2.0,3.0) << endl; // два в кубе cout << "abs(0) = " << abs(0.0) << endl; // модуль от нуля cout << "abs(-5) = " << abs(-5.0) << endl; cout << "ceil(3.14) = " << ceil(3.14) << endl; // округление 3.14 до наименьшего целого, но не меньше чем 3.14 cout << "ceil(-2.4) = " << ceil(-2.4) << endl; // округление -2.4 до наименьшего целого, но не меньше чем -2.4 cout << "floor(3.14) = " << floor(3.14) << endl; // округление 3.14 до наибольшего целого, но не больше чем 3.14 cout << "floor(-2.4) = " << floor(-2.4) << endl; // округление -2.4 до наибольшего целого, но не больше чем -2.4 cout << "fmod(2.4/2.0) = " << fmod(2.4,2.0) << endl; // остаток от деления 2.4/2 system("pause"); return 0; }
// код Code::Blocks
// код Dev-C++
// math_func.cpp: определяет точку входа для консольного приложения. #include <iostream> #include <cmath> using namespace std; int main(int argc, char* argv[]) { cout << "log10(10) = " << log10(10.0) << endl; // логарифм десятичный cout << "log10(1) = " << log10(1.0) << endl; cout << "log(2.718281) = " << log(2.718281) << endl; // натуральный логарифм(по основанию экспоненты) exp = 2.718281 cout << "sqrt(9) = " << sqrt(9.0) << endl; // корень квадратный cout << "pow(2,3) = " << pow(2.0,3.0) << endl; // два в кубе cout << "abs(0) = " << abs(0.0) << endl; // модуль от нуля cout << "abs(-5) = " << abs(-5.0) << endl; cout << "ceil(3.14) = " << ceil(3.14) << endl; // округление 3.14 до наименьшего целого, но не меньше чем 3.14 cout << "ceil(-2.4) = " << ceil(-2.4) << endl; // округление -2.4 до наименьшего целого, но не меньше чем -2.4 cout << "floor(3.14) = " << floor(3.14) << endl; // округление 3.14 до наибольшего целого, но не больше чем 3.14 cout << "floor(-2.4) = " << floor(-2.4) << endl; // округление -2.4 до наибольшего целого, но не больше чем -2.4 cout << "fmod(2.4/2.0) = " << fmod(2.4,2.0) << endl; // остаток от деления 2.4/2 return 0; }
Итак, чтобы воспользоваться данными функциями необходимо подключить заголовочный файл <cmath>
как в строке 5, после чего можно использовать любую из функций, прототипы которых находятся в этом заголовочном файле. Результат работы программы (см. Рисунок 1).
log10(10) = 1 log10(1) = 0 log(2.718281) = 1 sqrt(9) = 3 pow(2,3) = 8 abs(0) = 0 abs(-5) = 5 ceil(3.14) = 4 ceil(-2.4) = -2 floor(3.14) = 3 floor(-2.4) = -3 fmod(2.4/2.0) = 0.4
Рисунок 1 — Математические функции в С++
Чтобы увидеть полный перечень функций в данном заголовочном файле, просто откройте его. Сделать это можно либо через поиск, либо через обозреватель решений, если программируете в MVS (см. Рисунок 2). В «Обозревателе решений» открываем вложенный каталог «Внешние зависимости«, в нём находим файл cmath
. Открыв его, можно увидеть полный список математических функций.
Рисунок 2 — Математические функции в С++
Открыть заголовочный файл можно, нажав правой кнопкой мыши по его имени, как показано на рисунке 3. В появившемся окне выбираем пункт Открыть документ <cmath>
.
Рисунок 3 — Математические функции в С++
Комментарии
CharlesNah
Многие из нас мечтают о покупке роскошного спального гарнитура для своей Гармония и роскошь окутают ваш дом благодаря спальне Роза. СБОРКА в день доставки. АКЦИЯ ! ДОСТАВКА, ПОДЪЕМ гр. лифт — БЕСПЛАТНО
[b]Перейти на сайт —>[/b] http://bigwork.info/