Extras din curs
4. LIMBAJE DE PROGRAMARE
4.1. Scurta prezentare a limbajelor de programare
Calculatorul “stie” sa execute un set de operatii simple, ca de exemplu operatii aritmetice elementare (adunare, scadere, înmultire, împartire). Prin combinarea acestor operatii simple se pot obtine prelucrari complexe. Combinarea operatiilor se supune unor reguli bine precizate. Studiul acestor reguli are la baza conceptul de algoritm. Conceptul de algoritm este foarte vechi, întelesul mai larg fiind acela de procedeu, metoda de rezolvare a unei probleme. În programare, conceptul de algoritm are un rol fundamental si se poate defini ca un set de reguli ce defineste secventa de operatii ce trebuie executate de calculator pentru solutionarea unui tip specific de probleme.
Pornind de la aceasta definitie, rezulta urmatoarele doua proprietati ale algoritmilor:
- generalitatea – algoritmul determina modul de rezolvare a unui tip de problema si nu a unei probleme particulare;
- marginirea în timp – executia algoritmului trebuie sa se termine într-un numar finit de “pasi” (operatii).
Algoritmi mai au si alte proprietati:
- rigurozitatea – impune ca fiecare pas al algoritmului sa fie precis definit;
- executabilitatea - impune ca fiecare pas al algoritmului sa poata fi executat de calculator;
- eficienta – se determina atât din punct de vedere al timpului de executie cât si al memoriei ocupate.
Rigurozitatea si executabilitatea algoritmilor sunt asigurate prin reprezentarea acestora în limbaje de programare. Limbajul de programare, ca si limbajul matematic, este un limbaj artificial, folosit pentru a comunica cu calculatorul. Putem acum defini programul, ca fiind o reprezentare (codificare) a unui algoritm într-un limbaj de programare.
Rezolvarea unei probleme cu calculatorul presupune parcurgerea urmatoarelor etape:
- specificarea problemei – ce consta în formularea problemei si impune specificarea datelor de intrare si a datelor de iesire (rezultatelor).
Exemplu: sa se rezolve un sistem de n ecuatii cu n necunoscute, dându-se ca date de intrare matricea coeficientilor si vectorul termenilor liberi si furnizând ca rezultat solutia sistemului, în cazul în care acesta este compatibil determinat, sau un mesaj corespunzator în caz contar.
- proiectarea algoritmului – utilizând diferite metode de reprezentare: pseudocodul, organigrame.
Pseudocodul se foloseste în general, pentru algoritmi ce vor fi implementati într-un limbaj de programare de nivel înalt. Utilizarea organigramelor este mai adecvata pentru implementarea unui algoritm în limbaj de asamblare.
- codificarea algoritmului într-un limbaj de programare sub forma unui program. Alegerea limbajului de programare depinde de natura aplicatiei si de programator.
Marea majoritate a programelor sunt scrise în limbaje de nivel înalt. Anumiti algoritmi sunt implementati însa, în limbaj de asamblare. Principala diferenta între cele doua tipuri de limbaje este aceea ca limbajul de asamblare specifica operatii detaliate corespunzatoare arhitecturii calculatorului, în timp ce limbajul de nivel înalt specifica actiuni complexe, mai apropriate de rationamentul uman si nu de masina.
Pentru rezolvarea unei probleme, utilizatorul trebuie sa-i furnizeze sistemului de calcul datele initiale si etapele de parcurs, prin intermediul unui limbaj de programare, iar rezultatele prelucrarilor vor fi furnizate în mediul extern într-o forma specificata tot prin intermediul limbajului de programare.
În acest mod, limbajul de programare realizeaza conexiunea în ambele sensuri între universul problemei de rezolvat si universul sistemului de calcul.
Un limbaj de programare opereaza cu doua categorii de date:
- date elementare sunt acele date ale caror structura interna nu este accesibila programatorului; acestea pot fi de mai multe tipuri:
- date numerice, având valori în multimi cunoscute din matematica (N,Y.R,C);
- date alfanumerice, având valori de tip caracter sau siruri de caractere, pentru gestionarea textelor;
- date logice, având valori “adevarat” sau “fals”.
- date structurate sunt acele date alcatuite din mai multe componente toate accesibile programatorului; exista urmatoarele categorii de date structurate:
- tablouri: cuprind mai multe date elementare de acelasi tip;
- înregistrari: cuprind date elementare de tipuri diferite.
Preview document
Conținut arhivă zip
- Limbaje de Programare.doc