Mathématiques#
Introduction#
La bibliothèque standard C++ fournit des fonctionnalités mathématiques de base via les fonctions <cmath>, prises en charge par VEXcode IQ. Ces fonctions permettent d’effectuer des opérations mathématiques courantes telles que la trigonométrie, l’arrondi, l’exponentiation, etc.
Utilisez-les pour calculer des positions, des angles, des distances ou pour effectuer des conversions entre degrés et radians.
Vous trouverez ci-dessous une liste des fonctions mathématiques, constantes et utilitaires disponibles :
Fonctions mathématiques courantes – Outils mathématiques courants.
abs– Renvoie la valeur absolue d’un nombre.fmin– Renvoie la plus petite des valeurs d’entrée.fmax– Renvoie la plus grande des valeurs d’entrée.pow– Élève un nombre à une puissance.
Constantes – Valeurs prédéfinies de <cmath>.
Trigonométrie – Calcul des angles et des relations entre les côtés.
sin– Sinus d’un angle en radians.cos– Cosinus d’un angle en radians.tan– Tangente d’un angle en radians.atan– Arctangente d’une valeur en radians.atan2– Arctangente de y/x en radians, en considérant le quadrant.asin– Arcsinus d’une valeur en radians.acos– Arccosinus d’une valeur en radians.
Arrondi et valeur absolue – Ajustez la précision ou la direction.
ceil– Arrondit à l’entier supérieur le plus proche.floor– Arrondit à l’entier inférieur le plus proche.trunc– Supprime la partie décimale.
Exposants et logarithmes – Calculs de puissance, de racine et de logarithme.
sqrt– Renvoie la racine carrée.exp– Calcule e à la puissance x.log– Logarithme naturel (base e).log10– Logarithme en base 10.
Opérations sur les nombres à virgule flottante – Examiner ou décomposer les valeurs flottantes.
Fonctions mathématiques courantes#
abs#
Renvoie la valeur absolue d’un nombre, en supprimant tout signe négatif.
Available Functions1 — Renvoie la valeur absolue d’un entier.
int abs( int x );
Parameters2 — Renvoie la valeur absolue d’un double.
double abs( double x );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Un entier ou un nombre à virgule flottante. |
Renvoie la valeur absolue de l’entrée dans le même type.
Examples// Display the absolute value of -10
Brain.Screen.print("%d", abs(-10));
// Output: 10
fmin#
Renvoie la plus petite des deux valeurs sous forme de nombre décimal.
Available Functionsdouble fmin( double value1, double value2 );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
La première valeur à comparer. |
|
|
La deuxième valeur à comparer. |
Renvoie un nombre décimal double représentant la plus petite des deux valeurs d’entrée.
// Display the lower of two values
Brain.Screen.print("%f", fmin(7, 4));
// Output: 4.000000
fmax#
Renvoie la plus élevée des deux valeurs sous forme de nombre décimal.
Available Functionsdouble fmax( double value1, double value2 );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
La première valeur à comparer. |
|
|
La deuxième valeur à comparer. |
Renvoie un nombre décimal double représentant la plus grande des deux valeurs d’entrée.
// Display the higher of two values
Brain.Screen.print("%f", fmax(7, 4));
// Output: 7.000000
pow#
Renvoie un nombre élevé à une puissance sous forme de double.
Available Functionsdouble pow( double base, double exponent );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Le nombre de base. |
|
|
L’exposant. |
Renvoie un double double représentant la base élevée à la puissance de l’exposant.
// Display 2 to the power of 3
Brain.Screen.print("%f", pow(2, 3));
// Output: 8.000000
Constantes#
Les constantes sont des valeurs prédéfinies qui restent fixes pendant toute la durée d’un projet. Elles peuvent être utilisées dans les calculs sans nécessiter de définition ni d’affectation.
M_PI#
M_PI donne la constante mathématique π, le rapport de la circonférence d’un cercle à son diamètre.
const double M_PI;
Cette constante ne possède pas de paramètres.
Return ValuesRenvoie la constante mathématique π sous la forme d’un 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#
La constante mathématique e (nombre d’Euler), la base du logarithme naturel.
Available Constantsconst double M_E;
Cette constante ne possède pas de paramètres.
Return ValuesRenvoie la constante mathématique e sous la forme d’un double.
// Calculate e raised to the power of 2
double result = pow(M_E, 2);
Brain.Screen.print("%f", result);
// Output: 7.389056
Trigonométrie#
sin#
Calcule le sinus d’un angle en radians et renvoie une valeur double.
Available Functionsdouble sin( double x );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Un nombre décimal représentant un angle en radians. |
Renvoie un double représentant le sinus de l’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#
Calcule le cosinus d’un angle en radians et renvoie un nombre décimal.
Available Functionsdouble cos( double x );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Un nombre décimal représentant un angle en radians. |
Renvoie un double représentant le cosinus de l’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#
Calcule la tangente d’un angle en radians et renvoie une valeur double.
Available Functionsdouble tan( double x );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Un nombre décimal représentant un angle en radians. |
Renvoie un double représentant la tangente de l’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#
Calcule l’arc tangente d’un nombre et renvoie un nombre décimal représentant l’angle en radians.
Available Functionsdouble atan( double x );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Une valeur double. |
Renvoie un double double représentant l’arc tangente en radians.
// 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#
Calcule la valeur principale de l’arc tangente de y/x et renvoie une valeur double représentant l’angle en radians.
Available Functionsdouble atan2( double y, double x );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Un nombre décimal représentant la coordonnée y. |
|
|
Un nombre décimal représentant la coordonnée x. |
Renvoie un double représentant l’arc tangente de y/x en radians.
// 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#
Calcule l’arcsinus d’un nombre et renvoie un nombre décimal représentant l’angle en radians.
Available Functionsdouble asin( double x );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Un double compris entre -1 et 1. |
Renvoie un double double représentant l’arc sinus en 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#
Calcule l’arc cosinus d’un nombre et renvoie un nombre décimal représentant l’angle en radians.
Available Functionsdouble acos( double x );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Un double compris entre -1 et 1. |
Renvoie un double double représentant l’arc cosinus en radians.
// 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
Arrondi et valeur absolue#
ceil#
Renvoie un nombre arrondi à l’entier supérieur sous forme de double.
Available Functionsdouble ceil( double x );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Un double à arrondir. |
Renvoie un double double représentant le plus petit entier supérieur ou égal à x.
// Round up 9.7
Brain.Screen.print("%f", ceil(9.7));
// Output: 10.000000
floor#
Renvoie un nombre arrondi à l’entier inférieur sous forme de double.
Available Functionsdouble floor( double x );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Un double à arrondir à l’inférieur. |
Renvoie un nombre décimal double représentant le plus grand entier inférieur ou égal à x.
// Round down 9.7
Brain.Screen.print("%f", floor(9.7));
// Output: 9.000000
trunc#
Renvoie un nombre sous forme de double, avec sa partie décimale mise à zéro.
Available Functionsdouble trunc( double x );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Un double à tronquer. |
Renvoie un double sans la partie décimale.
// Truncate 9.7
Brain.Screen.print("%f", trunc(9.7));
// Output: 9.000000
Exposants et logarithmes#
sqrt#
Renvoie la racine carrée d’un nombre.
Available Functionsdouble sqrt( double x );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Un double non négatif. |
Renvoie un double représentant la racine carrée de x.
// Display the square root of 121
Brain.Screen.print("%f", sqrt(121));
// Output: 11.000000
exp#
Calcule l’exponentielle d’un nombre.
Available Functionsdouble exp( double x );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Un double pour calculer l’exponentielle de. |
Renvoie un double double représentant e élevé à la puissance x.
// Calculate e raised to the power of 1
double result = exp(1);
Brain.Screen.print("%f", result);
// Output: 2.718282
log#
Calcule le logarithme népérien d’un nombre.
Available Functionsdouble log( double x );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Un double positif. |
Renvoie un double représentant le logarithme naturel de x.
// Calculate the natural logarithm (base e) of e
double result = log(M_E);
Brain.Screen.print("%f", result);
// Output: 1.000000
log10#
Calcule le logarithme décimal d’un nombre.
Available Functionsdouble log10( double x );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Un double positif. |
Renvoie un double représentant le logarithme en base 10 de x.
// Calculate the base-10 logarithm of 1000
double result = log10(1000);
Brain.Screen.print("%f", result);
// Output: 3.000000
Opérations en virgule flottante#
fmod#
Renvoie le reste de la division tout en conservant le signe du dividende.
Available Functionsdouble fmod( double x, double y );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Le dividende. |
|
|
Le diviseur. |
Renvoie un double double représentant le reste de x/y avec le signe de 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#
Renvoie un nombre dont la magnitude est égale à x et le signe à y.
Available Functionsdouble copysign( double x, double y );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
La valeur dont l’ordre de grandeur sera utilisé. |
|
|
La valeur dont le signe sera utilisé. |
Renvoie un double avec la magnitude de x et le signe de y.
// Return -10 with the sign of -3 (negative)
double result = copysign(10, -3);
Brain.Screen.print("%f", result);
// Output: -10.000000