Extras din curs
Un limbaj de programare reprezinta o interfata între problema de rezolvat si programul de rezolvare.
Limbajul de programare, prin specificarea unor actiuni care trebuie executate eficient este apropiat de masina. Pe de alta parte, el trebuie sa fie apropiat de problema de rezolvat, astfel încât solutia problemei sa fie exprimata direct si concis.
Trecerea de la specificarea problemei la program nu este directa, ci presupune parcurgerea mai multor etape:
• analiza si abstractizarea problemei. In aceasta etapa se identifica obiectele implicate în rezolvare si actiunile de transformare corespunzatoare. Ca rezultat al acestei etape se creaza un univers abstract al problemei (UP), care evidentiaza o multime de tipuri de obiecte, relatiile dintre acestea si restrictiile de prelucrare necesare rezolvarii problemei.
• gasirea metodei de rezolvare acceptabile, precizând operatorii de prelucrare ai obiectelor din UP.
• elaborarea algoritmului de rezolvare
• codificarea algoritmului
Limbajul C s-a impus în elaborarea programelor datorita:
• usurintei de reprezentare a obiectelor cu caracter nenumeric
• capacitatii de reprezentare a obiectelor dinamice
• capacitatii de exploatare a caracteristicilor masinii de calcul pentru controlul strict al performantelor programului
• asigurarii unei interfete transparente cu sistemul de operare al masinii utilizate.
Limbajul C a fost creat de Dennis Ritchie si Brian Kernighan si implementat pe o masina DEC PDP 11, cu intentia înlocuirii limbajului de asamblare.. Limbajul are precursori directi limbajele BCPL (Richards) si B (Thompson). Limbajul este folosit ca mediu de programare pentru sistemul de operare UNIX. Limbajul a fost standardizat în 1983 si 1989.
Limbajul C++ a fost dezvoltat de Bjarne Stroustrup pornind de la limbajul C, începând din anul 1980.
C++ împrumuta din Simula 67 conceptul de clasa si din limbajul Algol 68 - supraîncarcarea operatorilor.
Dintre noutatile introduse de C++ mentionam: mostenirea multipla, functiile membre statice si functiile membre constante, sabloanele, tratarea exceptiilor, identificarea tipurilor la executie, spatiile de nume, etc.
Desi C++ este considerat o extensie a limbajului C, cele doua limbaje se bazeaza pe paradigme de programare diferite. Limbajul C foloseste paradigma programarii procedurale si structurate. Conform acesteia, un program este privit ca o multime ierarhica de blocuri si proceduri (functii). Limbajul C++ foloseste paradigma programarii orientate pe obiecte, potrivit careia un program este constituit dintr-o multime de obiecte care interactioneaza.
Elementul constructiv al unui program C este functia. Un program este constituit dintr-o multime de functii, declarate pe un singur nivel (fara a se imbrica unele în altele), grupate în module program.
O functie este o sectiune de program, identificata printr-un nume si parametrizata, construita folosind declaratii, definitii si instructiuni de prelucrare. Atunci când este apelata, functia calculeaza un anumit rezultat sau realizeaza un anumit efect.
Functia main() este prezenta în orice program C. Executia programului începe cu main(). Functia main() poate întoarce un rezultat întreg (int) sau nici un rezultat (void). Numai în C este posibil sa nu specificam tipul rezultatului întors de functie, acesta fiind considerat în mod implicit int.
/* program C pentru afisarea unui mesaj */
#include <stdio.h>
main(){
printf(“Acesta este primul program in C /n”);
}
Programul foloseste un comentariu, delimitat prin /* si */ care, prin explicatii în limbaj natural, creste claritatea programului. Comentariul este constituit dintr-o linie sau mai multe linii, sau poate apare în interiorul unei linii. Nu se pot include comentarii în interiorul altor comentarii.
În C++ se utilizeaza comentarii care încep cu // si se termina prin sfârsitul de linie.
Linia #include <stdio.h> anunta compilatorul ca trebuie sa insereze fisierul antet stdio.h. Acest fisier contine prototipurile unei serii de functii de intrare si iesire folosite de majoritatea programelor C. Fisierele antet au prin conventie extensia .h. Fisierul de inclus este cautat într-o zona standard de includere, în care sunt memorate fisierele antet ale compilatorului C, daca numele este încadrat între paranteze unghiulare (< si >), sau cautarea se face în zona curenta de lucru, daca fisierul este încadrat între ghilimele(“). Fisierele antet sunt foarte utile în cazul functiilor standard de biblioteca; fiecare categorie de functie standard are propriul fisier antet.
Preview document
Conținut arhivă zip
- Elemente fundamentale ale limbajului C si C++.DOC