PROGRAMARE
C++
TANASE DENISA SI NASTASE ANEMONA
CUPRINS
1. INTRODUCERE
2. Limbaje de programare
3. AVANTAJE
4. DEZAVANTAJE
5. EXEMPLE DE PROBLEME
6. BIBLIOGRAFIE
INTRODUCERE
Limbajul C++ a fost inventat de către Bjarne Stroustrup în 1979, ca o extindere a limbajului C.
Limbajul C a fost inventat în 1969-1973 de către Dennis Ritchie pentru a realiza sistemul de
operare Unix. Astfel, aproape toate programele scrise în C pot fi compilate în C++, eventual cu
foarte puține modificări.
Limbaje de programare
Limbajele de programare sunt limbaje asemănătoare cu limbajul uman. Conțin cuvinte (destul de puține), semne de
punctuație, operații matematice și au reguli de scriere. Programele care rulează pe orice calculator au fost scrise într-un
limbaj de programare. Există numeroase limbaje de programare, precum C, C++, Pascal, Java, Python, PHP, Javascript, etc.
Programul scris într-un limbaj de programare se numește program sursă și trebuie traduse într-un limbaj pe care îl înțelege
procesorul, numit cod mașină, sau program executabil. Pentru anumite limbaje de programare operația de traducere se
numește compilare (cazul lui C, C++, Pascal, etc.), pentru alte limbaje (PHP, Python, Javascript, etc.) operația de traducere
se numește interpretare. Traducerea este realizată de un program specializat numit compilator sau interpretor.
Limbajul C++ este un limbaj compilat. Etapele scrierii unui program în C++ sunt:
▪editarea programului C++; se obține fișierul sursă, cu extensia .cpp
▪compilarea fișierului sursă; aici se verifică corectitudinea sintactică a programului (corectitudinea cuvintelor folosite,
prezența semnelor de punctuație, etc.); dacă programul este corect sintactic, se va obține fișierul obiect, cu
extensia .o sau .obj
▪editarea de legături; se stabilesc legături între fișierul obiect curent și alte fișiere obiect, ale programatorului sau incluse în
compilator; în urma acestei etape se obține programul executabil. În Windows, fișierele executabile au extensia .exe;
▪programul executabil poate fi lansat în execuție (rulat).
AVANTAJE
•Performanță ridicată
•C++ oferă control direct asupra resurselor hardware și memoriei, ceea ce permite scrierea de programe extrem de rapide și eficiente.
•Control asupra memoriei
•Programatorii pot gestiona alocarea și dealocarea memoriei (cu new și delete), lucru esențial în aplicații de sistem, jocuri sau embedded.
•Portabilitate
•Codul C++ poate fi rulat pe diverse platforme, atâta timp cât există un compilator compatibil.
•Suport pentru programarea orientată pe obiecte (OOP)
•C++ oferă clase, moștenire, polimorfism, încapsulare, ceea ce ajută la organizarea codului și la reutilizarea acestuia.
•Standard Template Library (STL)
•STL oferă structuri de date și algoritmi gata de utilizare (ex: vectori, liste, seturi, funcții de sortare), economisind timp și efort.
•Versatilitate
•Poate fi folosit atât pentru programare de nivel jos (sisteme de operare, drivere), cât și pentru aplicații de nivel înalt (jocuri, aplicații desktop).
•Compilare statică
•Codul este verificat la compilare, ceea ce reduce erorile la rulare și crește securitatea și stabilitatea aplicației.
DEZAVANTAJE
Complexitate ridicată
◦ Sintaxa și conceptele avansate (șabloane, pointeri, moștenire multiplă) pot fi greu de înțeles pentru începători.
Gestionare manuală a memoriei
◦ Deși oferă control, necesită o atenție sporită pentru a evita scurgerile de memorie (memory leaks) sau erori de tip dangling pointers.
Lipsa unui sistem garbage collector
◦ Spre deosebire de limbaje precum Java sau C#, C++ nu curăță automat memoria nefolosită.
Mai puțin sigur
◦ Datorită accesului direct la memorie, este mai ușor să apară erori critice de securitate (ex: buffer overflow).
Timp mai lung de compilare
◦ Proiectele mari în C++ pot necesita timp îndelungat pentru compilare, mai ales când se folosesc multe fișiere-șablon și biblioteci.
Standardizare lentă
◦ Deși limbajul este standardizat (ISO), adoptarea noilor standarde (ex: C++20, C++23) poate fi lentă din partea companiilor și a
compilorilor.
EXEMPLE DE PROBLEME
1. Scrie un program care citește două numere întregi și afișează suma lor.
[Link] un program care determină dacă un număr întreg este prim.
[Link]ște un număr N și afișează toate numerele pare de la 1 la N.
[Link] un program care calculează factorialul unui număr natural n (n! = 1 × 2 × ... × n).
BIBLIOGRAFIE
1. [Link]
2. [Link]
3. [Link]