Funcții predefinite în C++ (matematice, șiruri de caractere)
De multe ori calcularea unei anumite valori poate fi foarte complicată și repetitivă. Din acest motiv, există o sumedenie de funcții predefinite care se includ cu ușurință în programele C++ și care ușurează procesul de rezolvare a problemei.
Ce este o funcție?
O funcție este o grupare de instrucțiuni care așteaptă niște parametri și îi
prelucrează, pentru ca mai apoi să furnizeze (returneze) un rezultat. Spre
exemplu, o funcție care calculează rădăcina pătrată a unui număr poate aștepta
un număr n
, căruia îi aproximează radicalul, după care să returneze această
valoare.
Cum se apelează o funcție
O funcție se apelează în felul următor:
nume_functie(param1, param2, param3, …)
Iar valoarea acestei funcții este însuși rezultatul returnat.
Spre exemplu, funcția sqrt()
din biblioteca <cmath>
se poate folosi în
felul următor:
#include <iostream>
#include <cmath>
…
cout << sqrt(9); //Afișează: 3
Trebuie avut grijă ca biblioteca ce conține funcția să fie inclusă în program, altfel, programul nu va ști despre ce funcție este vorba și va afișa o eroare:
#include <cmath>
Funcții matematice
Funcțiile matematice se regăsesc în biblioteca <cmath>
, care trebuie inclusă
la începutul funcției. Iată câteva dintre cele mai uzuale funcții matematice
din această bibliotecă:
Funcțiile abs și fabs — cum funcționează
Funcția abs
(și fabs
) așteaptă un număr real x
și returnează valoarea
absolută a sa (adică dacă x
este pozitiv, returnează x
, altfel, returnează
-x
). Prototipul funcției este:
double abs(double x)
Funcția floor — cum funcționează
Funcția floor
așteaptă un număr real x
și returnează cel mai mare număr
întreg mai mic sau egal cu x
(indiferent dacă x
este pozitiv sau negativ).
double floor(double x)
Funcția ceil — cum funcționează
Funcția ceil
așteaptă un număr real x
și returnează cel mai mic număr
întreg mai mare sau egal cu x
(indiferent dacă x
este pozitiv sau
negativ).
double ceil(double x)
Funcția sqrt — cum funcționează
Funcția sqrt
așteaptă un număr real pozitiv x
și returnează rădăcina
pătrată a sa.
double sqrt(double x)
Funcția cbrt — cum funcționează
Funcția cbrt
așteaptă un număr real x
și returnează rădăcina cubică a sa.
double cbrt(double x)
Funcția pow — cum funcționează
Funcția pow
așteaptă două numere reale x
și y
și returnează numărul x
la puterea y
. Funcția nu trebuie folosită în exces, se recomandă
implementarea unei funcții proprii pentru concursuri sau olimpiade.
double pow(double x, double y)
Funcția sin — cum funcționează
Funcția sin
așteaptă un număr real x
și returnează valoarea funcției
trigonometrice sinus, sin x
.
double sin(double x)
Funcția cos — cum funcționează
Funcția cos
așteaptă un număr real x
și returnează valoarea funcției
trigonometrice cosinus, cos x
.
double cos(double x)
Funcția tan — cum funcționează
Funcția tan
așteaptă un număr real x
și returnează valoarea funcției
trigonometrice tangentă, tg x
.
double tan(double x)
Funcțiie log, log10, log2 — cum funcționează
Cele trei funcții așteaptă un număr real pozitiv x
. Funcția log
returnează
logaritmul natural al lui x
(ln x
). Funcția log10
returnează logaritmul
în baza 10
al lui x
. Funcția log2
returnează logaritmul în baza 2
al
lui x
.
double log(double x)
double log10(double x)
double log2(double x)
Funcții predefinite cu șiruri de caractere
Funcțiile predefinite cu șiruri de caractere se pot găsi în această lecție despre șiruri de caractere. Există o sumedenie de funcții care permit prelucrarea extensivă a șirurilor de caractere, însă este nevoie de exercițiu pentru a le deprinde cu totul.
Funcții predefinite pentru olimpiadă
Spre deosebire de unele admiteri și de bacalaureat, pentru olimpiadă sau concursuri, funcțiile predefinite care se pot folosi sunt diferite.
Ce funcții predefinite se pot folosi pentru olimpiada de informatică?
La olimpiada de informatică sau la alte concursuri se pot folosi toate
funcțiile din standardele C++11. Asta include toate funcțiile matematice
descrise în această lecție (și toate celelalte din biblioteca <cmath>
),
toate funcțiile predefinite cu șiruri de caractere, precum și o multitudine de alte
funcții STL care nu se pot folosi la alte examene.
Câteva dintre cele mai importante funcții din STL sunt menționate mai jos.
Funcția sort — cum funcționează
Funcția sort
se găsește în biblioteca <algorithm>
și ordonează după o
anumită regulă (implicit crescător) elementele dintre doi indici dați. Trebuie
menționat faptul că sort
funcționează cu pointeri, astfel că definiția funcției arată în
felul următor:
sort(st, dr)
sort(st, dr, comp)
Și sortează elementele aflate cu adresele între [st; dr)
(dr
nu este
inclus!). De pildă, un vector a
cu n
elemente numere naturale cu indici de
la 1
la n
se sortează în felul următor:
sort(a + 1, a + n + 1); //crescător, implicit
sort(a + 1, a + n + 1, greater<int>()); //descrescător
Funcția swap — cum funcționează
Funcția swap
se găsește în biblioteca <algorithm>
și interschimbă valorile
a două elemente de același tip. Funcția așteaptă doi pointeri către adresele
de memorie ce trebuie interschimbate.
swap(x, y)
Iată un exemplu de interschimbare a două numere int
, iar mai apoi a două
tablouri de double
:
int x = 1, y = 2;
swap(x, y); //-> x = 2, y = 1
double a[] = {1, 2, 3}, b[] = {4, 5, 6};
swap(a, b);
Alte resurse și bibliografie
DS
Autorul acestei lecții
Dominic Satnoianu
Această lecție a fost redactată de către Dominic Satnoianu.
© 2021 – 2025 Aspire Education Labs SRL. Toate drepturile rezervate.
Așa cum este specificat și în termeni și condiții, conținutul acestei pagini este protejat de legea drepturilor de autor și este interzisă copierea sau modificarea acestuia fără acordul scris al autorilor.
Încălcarea drepturilor de autor este o infracțiune și se pedepsește conform legii.
Cuprinsul lecției
Ce este o funcție?Cum se apelează o funcțieFuncții matematiceFuncțiile abs și fabs — cum funcționeazăFuncția floor — cum funcționeazăFuncția ceil — cum funcționeazăFuncția sqrt — cum funcționeazăFuncția cbrt — cum funcționeazăFuncția pow — cum funcționeazăFuncția sin — cum funcționeazăFuncția cos — cum funcționeazăFuncția tan — cum funcționeazăFuncțiie log, log10, log2 — cum funcționeazăFuncții predefinite cu șiruri de caractereFuncții predefinite pentru olimpiadăCe funcții predefinite se pot folosi pentru olimpiada de informatică?Funcția sort — cum funcționeazăFuncția swap — cum funcționeazăAlte resurse și bibliografieCreează-ți un cont InfoAs și primești…
- Acces la sute de lecții de calitate, cu animații și exerciții
- Acces la peste 800 de probleme de informatică
- Indicații și rezolvări pentru fiecare problemă
- Totul 100% gratuit!
Comentarii 0