c mathematical functions
Acest tutorial explică funcțiile matematice importante C ++ incluse în fișierul antet, cum ar fi abs, max, pow, sqrt etc. cu exemple și constante C ++ precum M_PI:
C ++ oferă un număr mare de funcții matematice care pot fi utilizate direct în program. Fiind un subset al limbajului C, C ++ derivă majoritatea acestor funcții matematice din antetul math.h al lui C.
În C ++, funcțiile matematice sunt incluse în antet .
=> Verificați aici seria completă de antrenament GRATUIT C ++.
Ce veți învăța:
Funcții matematice în C ++
Tabelul funcțiilor matematice C ++
Mai jos este prezentată o listă a funcțiilor matematice importante din C ++, împreună cu descrierea, prototipul și exemplul acestora.
Nu face | Funcţie | Prototip | Descriere | Exemplu |
---|---|---|---|---|
6 | bătaie | atan dublu (x dublu); | Returnează tangenta arcului unghiului x în radiani. ** Tangenta arcului este tangenta inversă a operației tan. | param dublu = 1,0; cost<< atan (param) * 180,0 / PI; (aici PI = 3.142) ** returnează 47.1239 |
Funcții trigonometrice | ||||
1 | ceva | cos dublu (x dublu); | Returnează cosinusul unghiului x în radiani. | cost<< cos ( 60.0 * PI / 180.0 ); (aici PI = 3.142) ** returnează 0,540302 |
Două | fără | păcat dublu (x dublu); | Returnează sinusul unghiului x în radiani. | cost<< sin ( 60.0 * PI / 180.0 ); (aici PI = 3.142) ** returnează 0,841471 |
3 | asa de | dublu bronz (dublu x); | Returnează tangenta unghiului x în radiani. | cost<< tan ( 45.0 * PI / 180.0 ); (aici PI = 3.142) ** returnează 0,931596 |
4 | acos | acos dublu (x dublu); | Returnează cosinusul arcului unghiului x în radiani. ** Cosinusul arc este cosinusul invers al operației cos. | param dublu = 0,5; cost<< acos (param) * 180,0 / PI; (aici PI = 3.142) ** returnează 62,8319 |
5 | Sărat | asin dublu (x dublu); | Returnează sinusul arcului unghiului x în radiani. ** Sinusul de arc este sinusul invers al operației de păcat. | param dublu = 0,5; cost<< asin (param) * 180,0 / PI; (aici PI = 3.142) ** returnează 31.4159 |
Funcții de alimentare | ||||
7 | peste | dublu pow (bază dublă, exponent dublu); | Returnează baza ridicată la exponentul de putere. | cost<<”2^3 = “<< pow(2,3); ** returnează 8 |
8 | sqrt | sqrt dublu (x dublu); | Returnează rădăcina pătrată a lui x. | cost<< sqrt(49); ** returnează 7 |
Funcții de rotunjire și rest | ||||
9 | tavan | tavan dublu (x dublu); | Returnează cea mai mică valoare întreagă care nu este mai mică de x; Rundă x în sus. | cost<< ceil(3.8); ** returnează 4 |
10 | podea | etaj dublu (dublu x); | Returnează o valoare întreagă mai mare care nu este mai mare decât x; Rundă x în jos. | cost<< floor(2.3); ** returnează 2 |
unsprezece | fmod | fmod dublu (număr dublu, valoare dublă); | Returnează restul în virgulă mobilă al numărului / denom. | cost<< fmod(5.3,2); ** returnează 1,3 |
12 | trunc | trunchi dublu (x dublu); ** oferă, de asemenea, variații pentru float și dublu lung | Returnează cea mai apropiată valoare integrală nu mai mare de x. Rotunjește x spre zero. | cost<< trunc(2.3); ** returnează 2 |
13 | rundă | rotund dublu (dublu x); ** oferă, de asemenea, variații pentru float și dublu lung | Returnează valoarea integrală cea mai apropiată de x. | cost<< round(4.6); ** returnează 5 |
14 | rest | dublu rest (număr dublu, valoare dublă); ** oferă, de asemenea, variații pentru float și dublu lung | Returnează restul în virgulă mobilă al numărului / denumirii rotunjit la cea mai apropiată valoare. | cost<< remainder(18.5 ,4.2); ** returnează 1.7 |
Funcții minime, maxime, diferențiale și absolute | ||||
cincisprezece | fmax | fmax dublu (x dublu, y dublu). ** oferă, de asemenea, variații pentru float și dublu lung. | Returnează o valoare mai mare a argumentelor x și y. Dacă un număr este NaN, altul este returnat. | cost<< fmax(100.0,1.0); ** returnează 100 |
16 | fmin | fmin dublu (x dublu, y dublu); ** oferă, de asemenea, variații pentru float și dublu lung. | Returnează o valoare mai mică a argumentelor x și y. Dacă un număr este NaN, altul este returnat. | cost<< fmin(100.0,1.0); ** returnează 1 |
17 | fdim | fdim dublu (x dublu, y dublu); ** oferă, de asemenea, variații pentru float și dublu lung. | Returnează diferența pozitivă dintre x și y. Dacă x> y, returnează x-y; altfel returnează zero. | cost<< fdim(2.0,1.0); ** returnează 1 |
18 | fabs | fab dublu (dublu x); | Returnează valoarea absolută a x. | cost<< fabs(3.1416); ** returnează 3,1416 |
19 | Secțiune | abs dublu (x dublu); ** oferă, de asemenea, variații pentru float și dublu lung. | Returnează valoarea absolută a x. | cost<< abs(3.1416); ** returnează 3,1416 |
Funcții exponențiale și logaritmice | ||||
douăzeci | exp | dublu exp (dublu x); | Returnează valoarea exponențială a lui x adică e x. | cost<< exp(5.0); ** returnează 148.413 |
douăzeci și unu | Buturuga | jurnal dublu (x dublu); | Returnează logaritmul natural al lui x. (La baza e). | cost<< log(5); ** returnează 1.60944 |
22 | log10 | dublu log10 (dublu x); | Returnează logaritmul comun al lui x (la baza 10). | cost<< log10(5); ** returnează 0,69897 |
Program C ++ care demonstrează toate funcțiile discutate mai sus.
#include #include using namespace std; int main () { int PI = 3.142; cout<< 'cos(60) = ' << cos ( 60.0 * PI / 180.0 )< Ieșire:
cos (60) = 0,540302
sin (60) = 0,841471
bronz (45) = 0,931596
acos (0,5) = 62,8319
sărat (0,5) = 31,4159
aruncare (1.0) = 47.1239
2 ^ 3 = 8
sqrt (49) = 7
tavan (3,8) = 4
etaj (2.3) = 2
fmod (5.3,2) = 1,3
trunc (5.3,2) = 2
rotund (4,6) = 5
rest (18.5,4.2) = 1,7
fmax (100.0,1.0) = 100
fmin (100.0,1.0) = 1
fdim (2.0,1.0) = 1
fabs (3.1416) = 3.1416
abs (3,1416) = 3,1416
log (5) = 1.60944
exp (5.0) = 148.413
log10 (5) = 0,69897

În programul de mai sus, am executat funcțiile matematice pe care le-am tabelat mai sus împreună cu rezultatele lor respective.
În continuare, vom discuta despre unele dintre funcțiile matematice importante utilizate în C ++.
Abs => Calculează valoarea absolută a unui număr dat.
Sqrt => Folosit pentru a găsi rădăcina pătrată a numărului dat.
Pow => Returnează rezultatul pe bază de stafide la exponentul dat.
Fmax => Găsește maximum două numere date.
Vom discuta fiecare funcție în detaliu împreună cu exemple C ++. De asemenea, vom afla mai multe despre constanta matematică M_PI care este adesea utilizată în programele cantitative.
C ++ abs
Prototipul funcției: return_type abs (data_type x);
Parametrii funcției: x => valoare a cărei valoare absolută trebuie returnată.
x poate fi de următoarele tipuri:
dubla
pluti
lung dublu
Valoare returnată: Returnează valoarea absolută a lui x.
Ca parametri, valoarea returnată poate fi, de asemenea, de următoarele tipuri:
dubla
pluti
lung dublu
Descriere: Funcția abs este utilizată pentru a returna valoarea absolută a parametrului transmis funcției.
Exemplu:
#include #include using namespace std; int main () { cout << 'abs (10.57) = ' << abs (10.57) << '
'; cout << 'abs (-25.63) = ' << abs (-25.63) << '
'; return 0; }
Ieșire:

Aici, am folosit exemple cu un număr pozitiv și negativ cu funcția abs în scopuri de claritate.
C ++ sqrt
Prototipul funcției: sqrt dublu (x dublu);
Parametrii funcției: x => valoare a cărei rădăcină pătrată trebuie calculată.
Dacă x este negativ, apare domain_error.
Valoare returnată: O valoare dublă care indică rădăcina pătrată a lui x.
Dacă x este negativ, apare domain_error.
Descriere: Funcția sqrt ia numărul ca parametru și calculează rădăcina pătratelor lor. Dacă argumentul este negativ, apare o eroare de domeniu. Când apare o eroare de domeniu, atunci este setată variabila globală errno EDOM .
Exemplu:
#include #include using namespace std; int main () { double param, result; param = 1024.0; result = sqrt (param); cout<<'Square root of '< Ieșire:

În programul de mai sus, am calculat rădăcina pătrată de 1024 și 25 folosind funcția sqrt.
C ++ pow
Prototipul funcției: dublu pow (bază dublă, exponent dublu).
Parametrii funcției: bază => valoare de bază.
Exponent => valoarea exponentului
Valoare returnată: Valoarea obținută după ridicarea bazei la exponent.
Descriere: Funcția pow ia două argumente adică bază și exponent și apoi ridică baza la puterea exponentului.
Dacă baza, dacă este finit negativ și exponent, este negativă, dar nu este o valoare întreagă, atunci apare eroarea de domeniu. Anumite implementări pot cauza erori de domeniu atunci când atât baza cât și exponentul sunt zero și dacă baza este zero și exponentul este negativ.
cum se adaugă șir la matrice de șiruri
Dacă rezultatul funcției este prea mic sau prea mare pentru tipul de returnare, atunci poate rezulta o eroare de interval.
Exemplu:
#include #include using namespace std; int main () { cout<< '2 ^ 4 = '< Ieșire:

Programul de mai sus demonstrează utilizarea funcției POW în C ++. Putem vedea că calculează valoarea crescând un număr la puterea specificată.
C ++ max
Prototipul funcției: fmax dublu (x dublu, y dublu);
Parametrii funcției: x, y => două valori care trebuie comparate pentru a găsi maximul.
Valoare returnată: Returnează valoarea maximă a celor doi parametri.
Dacă unul dintre parametri este Nan, cealaltă valoare este returnată.
Descriere: Funcția fmax include două argumente numerice și returnează maximul celor două valori. În afară de prototipul menționat mai sus, această funcție are și supraîncărcări pentru alte tipuri de date, cum ar fi float, dublu lung etc.
Exemplu:
#include #include using namespace std; int main () { cout <<'fmax (100.0, 1.0) = ' << fmax(100.0,1.0)< Ieșire:

Codul de mai sus arată utilizarea funcției fmax pentru a găsi maxim două numere. Vedem cazurile în care unul dintre numere este negativ și ambele numere sunt negative.
Constante matematice în C ++
Antetul C ++ include, de asemenea, mai multe constante matematice care pot fi utilizate în codul matematic și cantitativ.
Pentru a include constante matematice în program, trebuie să folosim o directivă #define și să specificăm o macro „_USE_MATH_DEFINES”. Această macrocomandă trebuie adăugată la program înainte de a include biblioteca.
Acest lucru se face așa cum se arată mai jos:
#define _USE_MATH_DEFINES #include #include ….C++ Code…..
Una dintre constantele pe care le folosim frecvent în timp ce scriem aplicații matematice și cantitative este PI. Următorul program arată utilizarea constantei predefinite PI în programul C ++.
#define _USE_MATH_DEFINES #include #include using namespace std; int main() { double area_circle, a_circle; int radius=5; double PI = 3.142; //using predefined PI constant area_circle = M_PI * radius * radius; cout<<'Value of M_PI:'< Ieșire:

Programul de mai sus demonstrează constanta matematică M_PI disponibilă în. De asemenea, am furnizat o variabilă locală PI inițializată la valoarea 3.142. Ieșirea arată aria cercului calculată folosind M_PI și variabila PI locală utilizând aceeași valoare a razei.
Deși nu există prea multe diferențe între cele două valori ale ariei calculate, este adesea de dorit să utilizați PI ca variabilă sau constantă definită local.
Concluzie
C ++ folosește diverse funcții matematice precum abs, fmax, sqrt, POW etc., precum și funcții trigonometrice și logaritmice care pot fi utilizate pentru a dezvolta programe cantitative. Am văzut câteva dintre funcțiile importante din acest tutorial împreună cu exemplele lor.
De asemenea, am văzut constanta matematică M_PI care definește valoarea constantei geometrice PI care poate fi utilizată pentru calcularea diferitelor formule.
C ++ folosește funcții matematice prin includerea antetului în program. Aceste funcții sunt predefinite și nu trebuie să le definim în programul nostru. Putem folosi direct aceste funcții în cod, ceea ce face ca codificarea să fie mai eficientă.
=> Citiți aici seria de tutoriale extinse de formare C ++.
Lectură recomandată