MODULUL 1. INTRODUCERE IN STUDIUL LIMBAJELOR DE
PROGRAMARE
1.1 Notiuni generale privind limbajele de programare
1.2 Clasificarea limbajelor de programare
1.3. Structurarea si organizarea datelor. Tipuri de date utilizate în limbajele de programare
1.4. Caracterizarea principalelor limbaje de programare
1.5. Criterii de selectie a limbajelor de programare.
1.1. Notiuni generale privind limbajele de programare
Programarea este procesul de definire a instructiunilor pe care calculatorul le va executa în scopul rezolvarii unei probleme. Aceasta se realizeaza prin organizarea si comunicarea ideilor într-o forma inteligibila pentru calculator, iar rezultatul este programul. Cu alte cuvinte, programarea reprezintÎ totalitatea activitatilor de concepere, dezvoltare si întretinere a programelor.
În sens clasic, un program este un ansamblu de instructiuni si/sau comenzi scrise cu ajutorul unui limbaj de programare, care descriu prelucrarile de date pe care trebuie sa le execute calculatorul în scopul rezolvarii unei probleme. Instructiunile si/sau comenzile reprezinta informatii codificate prin care se transmite calculatorului actiunea ce urmeaza a fi executata. La rândul lor acestea pot fi structurate în doua mari grupe:
- de prelucrare prin care se realizeaza introducerea/extragerea datelor în/din sistem, efectuarea operatiunilor de calcul, efectuarea transferului de date între diferite zone de memorie etc.;
- de organizare (de structurare interna a programului) ce asigura codificarea structurilor de control si de apelare sau de salt la alte programe.
În programarea obiectuala, un program este un ansamblu de entitati informatice, numite obiecte, care interactioneaza si comunica prin mesaje.
Programul scris de om se numeste program-sursa. Pentru a putea fi înteles de calculator, el trebuie adus în format executabil. Obtinerea formatului executabil se realizeaza prin traducere, cu ajutorul unor programe speciale, care pot fi interpretoare sau compilatoare
Industrializarea activitatii de programare a determinat aparitia, în 1968, a conceptului de ingineria programarii (software engineering), un domeniu care se ocupa cu identificarea celor mai adecvate solutii, metode, procedee si instrumente care sa conduca, în conditii optime de productivitate si eficienta, la elaborarea de produse-program performante. În anii 80 s-a facut trecerea la ingineria programarii asistate de calculator (CASE- Computer Aided
Software Engineering) Primele produse CASE tratau faze de elaborare a produselor-program (faza de analiza
- cum este Visual Analyst sau faza de generare a programelor). Dupa 1985 au aparut produse CASE integrate, ca EXCELERATOR sau MANTIS.
Principalele componente ale unui produs CASE sunt: modele pentru structurarea datelor si crearea dictionarului de date; module specifice de proiectare a diagramelor si fluxurilor, interfete cu utilizatorul, interfete de retea.
Produsele CASE sunt de 2 tipuri1:
FRONT-END destinate automatizarii activitatii de analiza si proiectare, conducând la obtinerea de diagrame, biblioteci de date, formulare de ecran etc.
BACK-END destinate generarii automate a programelor într-un limbaj foarte înalt, COBOL, ADA, limbajele din generatia a-4-a.
CASE-ul integrat reprezinta o combinatie a primelor doua care are ca mecanism de integrare, un dictionar de date extins, numit biblioteca centrala cu rolul de pastrare, administrare si utilizare partajata a informatiilor.
Produsele CASE asigura o gama variata de activitati:
- întocmirea si listarea diagramelor folosind Generatoarele de machete si diagrame;
- proiectarea machetelor de ecran si a rapoartelor folosind Generatoarele de formate, de ecran si de rapoarte;
- schimbul de informatii între depozitul central si celelalte instrumente de dezvoltare prin intermediul componentelor de import/export;
- verificarea si analiza specificatiilor aplicatiilor prin Programe de analiza;
- scrierea automata a programelor pe baza specificatiilor prin Generatoare de cod;
- redocumentarea, restructurarea, redezvoltarea sistemelor deja implementate prin Programe de întretinere si dezvoltare.
Pe baza standardelor existente, compania ORACLE si-a definit propria metodologie CASE. Aceasta acopera toate fazele din dezvoltarea programelor (analiza, proiectare, implementare, testare si distributie).
Clasic, un limbaj de programare este definit ca un limbaj artificial creat de om care serveste la exprimarea, sub forma de instructiuni executabile de catre calculator, a algoritmului de rezolvare a unei probleme. Algoritmul indica modul de prelucrare a datelor initiale si modificarea lor pas cu pas pâna la obtinerea rezultatelor finale. Natura datelor, organizarea lor si relatiile dintre ele trebuie precizate prin program. Limbajele de programare
ofera facilitati corespunzatoare de descriere.
Din punct de vedere functional, un limbaj de programare reprezinta o notatie formala pentru descrierea proceselor de calcul, într-un mod apropiat gândirii umane si cu un grad mare de independenta fata de calculator.
Definitia moderna considera limbajul de programare un instrument de dialog omcalculator, care este înteles de ambii participanti la dialog.
Un limbaj de programare se bazeaza pe un set de simboluri elementare (de obicei, toate literele, operanzii aritmetici + - * /, alte caractere speciale), numit alfabetul limbajului.
Aceste simboluri sunt asamblate în cuvinte-cheie sau expresii care formeaza vocabularul limbajului (instructiuni, comenzi, functii, variabile, constante). Ansamblul regulilor prin care se construiesc instructiunile constituie gramatica limbajului. Exprimarea regulilor gramaticale din limbajul de programare se realizeaza cu ajutorul unui metalimbaj (un limbaj ce foloseste semne conventionale pentru descrierea regulilor gramaticii limbajului de
programare). Elementele de metalimbaj apar în documentatiile care însotesc produseleprogram.
Exemple:
- cuvinte rezervate sunt scrise cu majuscule, sunt specifice unui limbaj si trebuie folosite exact în aceeasi forma. Ex.: comenzi, clauze si functii în FoxPro - LIST, CREATE, FOR, IIF() etc.;
- cuvinte utilizator - sunt scrise cu minuscule si reprezinta constructii utilizator. Ex.: codmat, matricol, fismat etc.;
- < > - încadreaza constructiile utilizator. Ex. <nume_tabela>, <nume_câmp>;
- [ ] - încadreaza constructiile optionale (programatorul decide daca acestea vor fi sau nu folosite) Ex.LIST [FIELDS <lista_câmpuri>] etc.;
- { } sau | - sau exclusiv din elementele prezente se va alege unul singur. Ex. TO PRINT| TO FILE, ON|OFF, {>=|<+} etc.;
- & - constructia precedenta se poate repeta de un numar arbitrar de ori. Ex. <nume_câmp1>&
În practica exista si încercari de standardizare a metalimbajelor, cele mai cunoscute fiind BNF (Backus Naur Form) si extensia acestuia EBNF(Extended BNF).
Mediile de programare permit automatizarea procesului de construire si testare a programelor. În componenta lor intra un editor de texte, un compilator, un editor de legaturi, un depanator.
1.2. Clasificarea limbajelor de programare
J.E. Sammet a realizat într-o lucrare publicata în 19693 o clasificare care include urmatoarele clase de limbaje: procedurale, neprocedurale, orientate pe problema si speciale. Încadrarea unui limbaj de programare anume într-o clasa este uneori dificil de realizat.
Limbajele procedurale (numite si limbaje de nivel înalt) sunt utilizate pentru a descrie un algoritm de rezolvare a unei probleme. Se descriu complet operatiunile care se executa si ordinea de executie a acestora. Ele raspund la întrebarea CUM?. Exemple: COBOL, FORTRAN, BASIC, ALGOL, PASCAL.
Limbajele neprocedurale (numite si limbaje de nivel foarte înalt) ofera solutia de rezolvare a unei probleme, dar fara a da detalii asupra modului concret de rezolvare. Ele raspund la întrebarea CE?. Exemplu: limbajele din SGBD, PROLOG, LISP.
Limbajele speciale descriu functii specifice ale produselor-program. De exemplu, procesorul Word are inclus un limbaj de scriere a macrourilor.
Limbajele orientate pe problema deservesc domenii restrânse de activitate. Astfel de limbaje sunt limbajele de simulare, ca GPSS (General Purpose System Simulation) care este conceput pentru descrierea si rezolvarea problemelor de simulare.
Pentru a descărca acest document,
trebuie să te autentifici in contul tău.