Sute de funcții gata scrise și testate, în ambele limbaje: matematică și algoritmi pe vectori în C++ (#include), funcții built-in și module în Python (import) — plus tabelul care le traduce între ele. Fiecare cu exemplu și laborator live.
Se includ cu #include <cmath> la începutul programului.
Distanța până la 0, fără semn.
√x; argumentul trebuie ≥ 0; rezultatul e double.
bazaexp; argumente și rezultat double.
În sus · în jos · la cel mai apropiat (0.5 → sus).
Taie zecimalele, fără rotunjire. Diferă de floor la negative!
Restul împărțirii pentru numere reale (% merge doar pe întregi).
Natural (baza e) · baza 10 · baza 2. Truc de BAC: numărul de cifre ale lui n = (int)log10(n) + 1.
Operațiile pe care altfel le-ai scrie de mână: minim, maxim, interschimbare, sortare, căutare — gata făcute și rapide.
Minimul / maximul a două valori de același tip. Cu acolade (C++11): min din oricâte.
Interschimbă două variabile, orice tip — fără variabilă auxiliară scrisă de tine.
Sortează crescător [început, sfârșit). O(n·log n) — detalii în Modulul 08.
O scrii cu o buclă simplă. (STL are find, dar el întoarce un pointer — noțiune de clasa a X-a.)
De câte ori apare val în interval.
Inversează ordinea · setează toate elementele la o valoare.
Două biblioteci mici pe care le folosești des — plus cele patru includes care apar în aproape orice program.
INT_MAX = 2 147 483 647 · INT_MIN = −2 147 483 648 · LLONG_MAX ≈ 9,2·10¹⁸
fixed + setprecision(n) = exact n zecimale · setw(n) = lățime minimă (coloane).
cin, cout — primul rând din orice program.
sqrt, pow, rotunjiri — secțiunea 1.
sort, find, count, min/max — secțiunea 2.
fișiere: ifstream/ofstream — Modulul 09.
| Bibliotecă | Funcții principale |
|---|---|
| <cmath> | abs, sqrt, pow, ceil, floor, round, fmod, log, log10, log2, trunc |
| <algorithm> | min, max, swap, sort, find, count, reverse, fill |
| <climits> | INT_MAX, INT_MIN, LLONG_MAX |
| <iomanip> | fixed, setprecision, setw |
Python numește bibliotecile „module". Multe funcții numerice sunt built-in (fără import!) — plus două module care merită știute:
valoare absolută — distanța până la 0.
abs(-7) → 7
rotunjire la n zecimale. „Bancară": 0.5 merge spre PAR!
round(2.5) → 2
conversii între tipuri. int() TRUNCHIAZĂ, nu rotunjește.
int(3.9) → 3 · int("17") → 17 · str(25) → "25"
radical (cu import math) sau trucul x ** 0.5.
sqrt(25) → 5.0
math.sqrt(), math.pow(), math.pi — matematica ce nu e built-in. Reminder: multe se descurcă și fără (x ** 0.5).
random.randint(a, b) — un întreg aleator din [a, b]. Perfect pentru exerciții, simulări și jocuri.
Caută o funcție sau apasă pe un rând ca să vezi codul complet în ambele limbaje.
| Funcție | ⚙ C++ (bibliotecă) | 🐍 Python (modul) |
|---|
Două probleme complete care combină funcțiile de mai sus — în ambele limbaje, exact ca la laborator.
Cerință: se citesc coordonatele a două puncte, A(x₁, y₁) și B(x₂, y₂). Calculează distanța dintre ele, cu două zecimale.
👇 Apasă pe un set de date — desenul se schimbă:
Cerință: se citesc n numere reale. Afișează-le sortate crescător, separate prin virgulă, fiecare cu exact o zecimală.
Urmărește ce face formatarea cu fiecare valoare — de-asta am ales numere „incomode":
| valoarea citită | afișată cu 1 zecimală | ce s-a întâmplat |
|---|---|---|
| 1.24 | 1.2 | a tăiat a doua zecimală |
| 2 | 2.0 | a adăugat zecimala (fixed) |
| 3.75 | 3.8 | a rotunjit în sus |
| 5.687 | 5.7 | a rotunjit din trei zecimale |
| Date de intrare | Date de ieșire |
|---|---|
| 4 5.687 2 3.75 1.24 | 1.2, 2.0, 3.8, 5.7 |
7 întrebări rapide. Fiecare are răspunsul într-una din secțiunile de mai sus.
Harta funcțiilor și bibliotecilor, pe scurt.