Toán học#
Giới thiệu#
Thư viện chuẩn C++ cung cấp các chức năng toán học cơ bản thông qua <cmath>, được hỗ trợ trong VEXcode IQ. Các hàm này cho phép bạn thực hiện các phép toán thông thường như lượng giác, làm tròn, lũy thừa, v.v.
Sử dụng chúng để tính toán vị trí, góc, khoảng cách hoặc thực hiện chuyển đổi giữa độ và radian.
Dưới đây là danh sách các hàm toán học, hằng số và tiện ích có sẵn:
Các hàm số toán học thông dụng – Các công cụ toán học phổ biến.
abs– Trả về giá trị tuyệt đối của một số.fmin– Trả về giá trị nhỏ nhất trong các giá trị đầu vào.fmax– Trả về giá trị lớn nhất trong các giá trị đầu vào.pow– Nâng một số lên lũy thừa.
Hằng số – Các giá trị được xác định trước từ <cmath>.
Lượng giác – Tính toán các góc và mối quan hệ giữa các cạnh.
sin– Sin của một góc tính bằng radian.cos– Cosin của một góc tính bằng radian.tan– Tangent của một góc tính bằng radian.atan– Arctangent của một giá trị tính bằng radian.atan2– Arctangent của y/x tính bằng radian, xét theo góc phần tư.asin– Arcsin của một giá trị tính bằng radian.acos– Arccosin của một giá trị tính bằng radian.
Làm tròn & Giá trị tuyệt đối – Điều chỉnh độ chính xác hoặc hướng.
ceil– Làm tròn lên số nguyên gần nhất.floor– Làm tròn xuống số nguyên gần nhất.trunc– Loại bỏ phần thập phân.
Lũy thừa và Logarit – Tính lũy thừa, căn bậc hai và logarit.
sqrt– Trả về căn bậc hai.exp– Tính e mũ x.log– Logarit tự nhiên (cơ số e).log10– Logarit cơ số 10.
Các phép toán số thực dấu phẩy động – Kiểm tra hoặc phân tích giá trị dấu phẩy động.
Các hàm toán học thông dụng#
abs#
Hàm này trả về giá trị tuyệt đối của một số, loại bỏ dấu âm.
Available Functions1 — Trả về giá trị tuyệt đối của một số nguyên.
int abs( int x );
Parameters2 — Trả về giá trị tuyệt đối của một số thực.
double abs( double x );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Một số nguyên hoặc số thực. |
Trả về giá trị tuyệt đối của dữ liệu đầu vào cùng kiểu dữ liệu.
Examples// Display the absolute value of -10
Brain.Screen.print("%d", abs(-10));
// Output: 10
fmin#
Trả về giá trị nhỏ hơn trong hai giá trị dưới dạng số thực (double).
Available Functionsdouble fmin( double value1, double value2 );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Giá trị đầu tiên cần so sánh. |
|
|
Giá trị thứ hai cần so sánh. |
Trả về một cặp số thực double biểu thị giá trị nhỏ hơn trong hai giá trị đầu vào.
// Display the lower of two values
Brain.Screen.print("%f", fmin(7, 4));
// Output: 4.000000
fmax#
Trả về giá trị lớn hơn trong hai giá trị dưới dạng số thực (double).
Available Functionsdouble fmax( double value1, double value2 );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Giá trị đầu tiên cần so sánh. |
|
|
Giá trị thứ hai cần so sánh. |
Trả về một cặp số thực double biểu thị giá trị lớn hơn trong hai giá trị đầu vào.
// Display the higher of two values
Brain.Screen.print("%f", fmax(7, 4));
// Output: 7.000000
pow#
Trả về một số được nâng lên lũy thừa dưới dạng số thực (double).
Available Functionsdouble pow( double base, double exponent );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Số cơ sở. |
|
|
Số mũ. |
Trả về một số thực double thị cơ số được nâng lên lũy thừa của số mũ.
// Display 2 to the power of 3
Brain.Screen.print("%f", pow(2, 3));
// Output: 8.000000
Hằng số#
Hằng số là các giá trị được xác định trước và không thay đổi trong suốt dự án. Chúng có thể được sử dụng trong các phép tính mà không cần định nghĩa hoặc gán giá trị nào.
M_PI#
M_PI biểu thị hằng số toán học π, tỉ lệ giữa chu vi và đường kính của một đường tròn.
const double M_PI;
Hằng số này không có tham số.
Return ValuesTrả về hằng số toán học π dưới dạng 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#
Hằng số toán học e (số Euler), cơ số của logarit tự nhiên.
Available Constantsconst double M_E;
Hằng số này không có tham số.
Return ValuesTrả về hằng số toán học e dưới dạng double.
// Calculate e raised to the power of 2
double result = pow(M_E, 2);
Brain.Screen.print("%f", result);
// Output: 7.389056
Lượng giác#
sin#
Hàm này tính sin của một góc theo radian và trả về giá trị kiểu double.
Available Functionsdouble sin( double x );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Một số thực biểu thị góc tính bằng radian. |
Returns a double representing the sine of the angle.
// 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#
Hàm này tính cosin của một góc theo radian và trả về giá trị kiểu double.
Available Functionsdouble cos( double x );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Một số thực biểu thị góc tính bằng radian. |
Returns a double representing the cosine of the angle.
// 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#
Hàm này tính tang của một góc theo radian và trả về giá trị kiểu double.
Available Functionsdouble tan( double x );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Một số thực biểu thị góc tính bằng radian. |
Returns a double representing the tangent of the angle.
// 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#
Hàm này tính hàm arctan (arc tangent) của một số và trả về một giá trị kiểu double biểu thị góc tính bằng radian.
Available Functionsdouble atan( double x );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Giá trị kép. |
Trả về một giá double biểu thị hàm arctan theo radian.
// 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#
Hàm này tính giá trị chính của hàm arctan của y/x và trả về một giá trị kiểu double biểu thị góc tính bằng radian.
Available Functionsdouble atan2( double y, double x );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Một giá trị kiểu double biểu thị tọa độ y. |
|
|
Một giá trị kiểu double biểu thị tọa độ x. |
Trả về một giá double biểu thị arctan của y/x tính bằng radian.
// 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#
Hàm này tính toán hàm nghịch đảo sin (arc sin) của một số và trả về một giá trị kiểu double biểu thị góc tính bằng radian.
Available Functionsdouble asin( double x );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Một số thực nằm giữa -1 và 1. |
Returns a double representing the arc sine in radians.
// 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#
Hàm này tính toán hàm cosin nghịch đảo (arc cosin) của một số và trả về một giá trị kiểu double biểu thị góc tính bằng radian.
Available Functionsdouble acos( double x );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Một số thực nằm giữa -1 và 1. |
Trả về một giá double biểu thị arccos tính bằng radian.
// 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
Làm tròn và giá trị tuyệt đối#
ceil#
Trả về một số được làm tròn lên dưới dạng số thực (double).
Available Functionsdouble ceil( double x );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Số gấp đôi cần được làm tròn lên. |
Trả về một giá double biểu thị số nguyên nhỏ nhất lớn hơn hoặc bằng x.
// Round up 9.7
Brain.Screen.print("%f", ceil(9.7));
// Output: 10.000000
floor#
Trả về một số được làm tròn xuống dưới dạng số thực (double).
Available Functionsdouble floor( double x );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Số đôi cần được làm tròn xuống. |
Trả về một giá double biểu thị số nguyên lớn nhất nhỏ hơn hoặc bằng x.
// Round down 9.7
Brain.Screen.print("%f", floor(9.7));
// Output: 9.000000
trunc#
Hàm này trả về một số dưới dạng số thực (double), với phần thập phân được đặt bằng không.
Available Functionsdouble trunc( double x );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Một số thực cần được cắt bớt. |
Trả về một số thực double đã loại bỏ phần thập phân.
// Truncate 9.7
Brain.Screen.print("%f", trunc(9.7));
// Output: 9.000000
Lũy thừa và Logarit#
sqrt#
Trả về căn bậc hai của một số.
Available Functionsdouble sqrt( double x );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Một số thực kép không âm. |
Trả về một số thực double thị căn bậc hai của x.
// Display the square root of 121
Brain.Screen.print("%f", sqrt(121));
// Output: 11.000000
exp#
Tính lũy thừa của một số.
Available Functionsdouble exp( double x );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Một biến kiểu double để tính lũy thừa của . |
Trả về một số thực double biểu thị e mũ x.
// Calculate e raised to the power of 1
double result = exp(1);
Brain.Screen.print("%f", result);
// Output: 2.718282
log#
Tính logarit tự nhiên của một số.
Available Functionsdouble log( double x );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Một cặp dương. |
Trả về một số thực double biểu thị logarit tự nhiên của x.
// Calculate the natural logarithm (base e) of e
double result = log(M_E);
Brain.Screen.print("%f", result);
// Output: 1.000000
log10#
Tính logarit cơ số 10 của một số.
Available Functionsdouble log10( double x );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Một cặp dương. |
Returns a double representing the base-10 logarithm of x.
// Calculate the base-10 logarithm of 1000
double result = log10(1000);
Brain.Screen.print("%f", result);
// Output: 3.000000
Các phép toán dấu phẩy động#
fmod#
Hàm này trả về phần dư của phép chia trong khi vẫn giữ nguyên dấu của số bị chia.
Available Functionsdouble fmod( double x, double y );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Cổ tức. |
|
|
Số chia. |
Trả về một cặp số thực double biểu thị phần dư của phép chia x/y với dấu của 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#
Trả về một số có độ lớn là x và dấu là y.
Available Functionsdouble copysign( double x, double y );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Giá trị có độ lớn sẽ được sử dụng. |
|
|
Giá trị mà dấu của nó sẽ được sử dụng. |
Trả về một giá double với độ lớn của x và dấu của y.
// Return -10 with the sign of -3 (negative)
double result = copysign(10, -3);
Brain.Screen.print("%f", result);
// Output: -10.000000