Matematika#
Zavedení#
Standardní knihovna C++ poskytuje základní matematické funkce prostřednictvím<cmath><cmath>jako je trigonometrie, zaokrouhlování, umocňování a další.
Používejte je pro výpočet poloh, úhlů, vzdáleností nebo pro provádění převodů mezi stupni a radiány.
Níže je uveden seznam dostupných matematických funkcí, konstant a utilit:
Běžné matematické funkce – Běžné matematické nástroje.
abs– Vrátí absolutní hodnotu čísla.fmin– Vrací nejmenší ze vstupních hodnot.fmax– Vrací největší ze vstupních hodnot.pow– Umocní číslo.
Konstanty – Předdefinované hodnoty od <cmath>.
Trigonometrie – Výpočet úhlů a vztahů mezi stranami.
sin– Sinus úhlu v radiánech.cos– Kosinus úhlu v radiánech.tan– Tangens úhlu v radiánech.atan– Arkustangens hodnoty v radiánech.atan2– Arkustangens osy y/x v radiánech, s ohledem na kvadrant.asin– Arkus sinus hodnoty v radiánech.acos– Arkuskosinus hodnoty v radiánech.
Zaokrouhlování a absolutní hodnota – Úprava přesnosti nebo směru.
ceil– Zaokrouhlí nahoru na nejbližší celé číslo.floor– Zaokrouhlí dolů na nejbližší celé číslo.trunc– Odstraní desetinnou část.
Exponenty a logaritmy – Výpočty mocnin, odmocnin a logaritmů.
sqrt– Vrátí druhou odmocninu.exp– Vypočítá e umocněné na x.log– Přirozený logaritmus (o základu e).log10– Desetinový logaritmus.
Operace s plovoucí desetinnou čárkou – Kontrola nebo rozklad hodnot s plovoucí desetinnou čárkou.
Běžné matematické funkce#
abs#
Vrátí absolutní hodnotu čísla bez záporného znaménka.
Available Functions1 — Vrátí absolutní hodnotu celého čísla.
int abs( int x );
Parameters2 — Vrátí absolutní hodnotu typu double.
double abs( double x );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Celé číslo nebo číslo double. |
Vrátí absolutní hodnotu vstupu stejného typu.
Examples// Display the absolute value of -10
Brain.Screen.print("%d", abs(-10));
// Output: 10
fmin#
Vrátí nižší ze dvou hodnot jako typ typu double.
Available Functionsdouble fmin( double value1, double value2 );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
První hodnota k porovnání. |
|
|
Druhá hodnota k porovnání. |
Vrací hodnotu double která představuje menší ze dvou vstupních hodnot.
// Display the lower of two values
Brain.Screen.print("%f", fmin(7, 4));
// Output: 4.000000
fmax#
Vrátí vyšší ze dvou hodnot jako typ typu double.
Available Functionsdouble fmax( double value1, double value2 );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
První hodnota k porovnání. |
|
|
Druhá hodnota k porovnání. |
Vrací hodnotu double která představuje větší ze dvou vstupních hodnot.
// Display the higher of two values
Brain.Screen.print("%f", fmax(7, 4));
// Output: 7.000000
pow#
Vrátí číslo umocněné na danou hodnotu jako double.
Available Functionsdouble pow( double base, double exponent );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Základní číslo. |
|
|
Exponent. |
Vrací hodnotu double představující základ umocněný na exponent.
// Display 2 to the power of 3
Brain.Screen.print("%f", pow(2, 3));
// Output: 8.000000
Konstanty#
Konstanty jsou předdefinované hodnoty, které zůstávají během projektu neměnné. Lze je použít ve výpočtech bez nutnosti jakékoli definice nebo přiřazení.
M_PI#
M_PI udává matematickou konstantu π, poměr obvodu kruhu k jeho průměru.
const double M_PI;
Tato konstanta nemá parametry.
Return ValuesVrátí matematickou konstantu π jako 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#
Matematická konstanta e (Eulerovo číslo), základ přirozeného logaritmu.
Available Constantsconst double M_E;
Tato konstanta nemá parametry.
Return ValuesVrátí matematickou konstantu e jako double.
// Calculate e raised to the power of 2
double result = pow(M_E, 2);
Brain.Screen.print("%f", result);
// Output: 7.389056
Trigonometrie#
sin#
Vypočítá sinus úhlu v radiánech a vrátí hodnotu typu double.
Available Functionsdouble sin( double x );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Dvojitá hodnota představující úhel v radiánech. |
Vrací hodnotu double představující sinus úhlu.
// 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#
Vypočítá kosinus úhlu v radiánech a vrátí hodnotu typu double.
Available Functionsdouble cos( double x );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Dvojitá hodnota představující úhel v radiánech. |
Vrací hodnotu double představující kosinus úhlu.
// 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#
Vypočítá tangens úhlu v radiánech a vrátí hodnotu typu double.
Available Functionsdouble tan( double x );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Dvojitá hodnota představující úhel v radiánech. |
Vrátí hodnotu double představující tangens úhlu.
// 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#
Vypočítá inverzní tangens (arkustangens) čísla a vrátí hodnotu typu double představující úhel v radiánech.
Available Functionsdouble atan( double x );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Dvojitá hodnota. |
Vrací hodnotu double představující arkustangens v radiánech.
// 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#
Vypočítá hlavní hodnotu inverzního tangensu osy y/x a vrátí hodnotu typu double představující úhel v radiánech.
Available Functionsdouble atan2( double y, double x );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Dvojitá hodnota představující souřadnici y. |
|
|
Typ double představující souřadnici x. |
Vrací hodnotu double představující arkus tangens osy y/x v radiánech.
// 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#
Vypočítá inverzní sinus (arkus sinus) čísla a vrátí hodnotu typu double představující úhel v radiánech.
Available Functionsdouble asin( double x );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Dvojitý počet mezi -1 a 1. |
Vrací hodnotu double představující arkus sinus v radiánech.
// 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#
Vypočítá inverzní kosinus (arkuskosinus) čísla a vrátí hodnotu typu double představující úhel v radiánech.
Available Functionsdouble acos( double x );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Dvojitý počet mezi -1 a 1. |
Vrací hodnotu double představující arkuskosinus v radiánech.
// 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
Zaokrouhlování a absolutní hodnota#
ceil#
Vrátí číslo zaokrouhlené nahoru na dvojnásobek.
Available Functionsdouble ceil( double x );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Dvojnásobek k zaokrouhlení nahoru. |
Vrací hodnotu double představující nejmenší celé číslo větší nebo rovno x.
// Round up 9.7
Brain.Screen.print("%f", ceil(9.7));
// Output: 10.000000
floor#
Vrátí číslo zaokrouhlené dolů na dvojnásobek.
Available Functionsdouble floor( double x );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Dvojnásobek, který se zaokrouhluje dolů. |
Vrací hodnotu double představující největší celé číslo menší nebo rovno x.
// Round down 9.7
Brain.Screen.print("%f", floor(9.7));
// Output: 9.000000
trunc#
Vrátí číslo ve formátu double s desetinnou částí nastavenou na nulu.
Available Functionsdouble trunc( double x );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Dvojitý objekt, který má být zkrácen. |
Vrátí hodnotu double bez desetinné části.
// Truncate 9.7
Brain.Screen.print("%f", trunc(9.7));
// Output: 9.000000
Exponenty a logaritmy#
sqrt#
Vrátí druhou odmocninu čísla.
Available Functionsdouble sqrt( double x );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Nezáporný dvojnásobek. |
Vrací hodnotu double představující druhou odmocninu z x.
// Display the square root of 121
Brain.Screen.print("%f", sqrt(121));
// Output: 11.000000
exp#
Vypočítá exponenciál čísla.
Available Functionsdouble exp( double x );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Dvojitá hodnota pro výpočet exponenciály. |
Vrací hodnotu double představující e umocněné na x.
// Calculate e raised to the power of 1
double result = exp(1);
Brain.Screen.print("%f", result);
// Output: 2.718282
log#
Vypočítá přirozený logaritmus čísla.
Available Functionsdouble log( double x );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Pozitivní dvojka. |
Vrací hodnotu double představující přirozený logaritmus x.
// Calculate the natural logarithm (base e) of e
double result = log(M_E);
Brain.Screen.print("%f", result);
// Output: 1.000000
log10#
Vypočítá logaritmus čísla se základem 10.
Available Functionsdouble log10( double x );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Pozitivní dvojka. |
Vrátí hodnotu double představující desátkový logaritmus x.
// Calculate the base-10 logarithm of 1000
double result = log10(1000);
Brain.Screen.print("%f", result);
// Output: 3.000000
Operace s plovoucí desetinnou čárkou#
fmod#
Vrátí zbytek po dělení se zachováním znaménka dělence.
Available Functionsdouble fmod( double x, double y );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Dividenda. |
|
|
Dělitel. |
Vrací hodnotu double představující zbytek x/y se znaménkem 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#
Vrátí číslo o velikosti x a znaménku y.
Available Functionsdouble copysign( double x, double y );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Hodnota, jejíž velikost bude použita. |
|
|
Hodnota, jejíž znaménko bude použito. |
Vrací hodnotu double s velikostí x a znaménkem y.
// Return -10 with the sign of -3 (negative)
double result = copysign(10, -3);
Brain.Screen.print("%f", result);
// Output: -10.000000