Sunteți pe pagina 1din 13

Unitatea de învăţare 1 PROGRAMARE ŞI LIMBAJE DE PROGRAMARE

UNITATEA DE ÎNVĂŢARE 1

PROGRAMARE ŞI LIMBAJE DE PROGRAMARE


Autori:
Conferenţiar universitar dr. Veronica POPESCU
Profesor universitar dr. Gheorghe POPESCU

Cuprins
OBIECTIVELE UNITĂŢII DE ÎNVĂŢARE 1 ............................................................................................................... 3
1.1. Necesitatea programării, programe informatice ..................................................................................... 3

Definirea conceptului de program informatic ................................................................................................ 3

Caracteristicile programelor ............................................................................................................................ 3

Fazele realizării unui program.......................................................................................................................... 4

Structura clasică a unui program ..................................................................................................................... 4

Întrebări .......................................................................................................................................................... 5
1.2. Algoritmi .................................................................................................................................................. 5

Definirea conceptului de algoritm .................................................................................................................. 5

Caracteristicile unui algoritm .......................................................................................................................... 5

Clasificarea algoritmilor 𝟑 .............................................................................................................................. 5

Reprezentarea algoritmilor ............................................................................................................................. 6

Întrebări .......................................................................................................................................................... 7
1.3. Limbaje de programare ............................................................................................................................ 7

Definirea conceptului de limbaj de programare ............................................................................................. 7

Clasificarea limbajelor de programare ............................................................................................................ 7

Fazele execuţiei unui program scris în limbaj simbolic ................................................................................... 8

Întrebări .......................................................................................................................................................... 9
1.4. Metode de programare ............................................................................................................................ 9

Definirea conceptului de metodă de programare .......................................................................................... 9

Programarea structurată ................................................................................................................................. 9

Programarea orientată pe obiecte ................................................................................................................ 11

Programarea dirijată de evenimente ............................................................................................................ 11

Întrebări ........................................................................................................................................................ 12

1
Limbaje de programare
© Departamentul Informatică de Gestiune, Conferenţiar universitar dr. Veronica POPESCU & Profesor universitar dr. Gheorghe POPESCU
Unitatea de învăţare 1 PROGRAMARE ŞI LIMBAJE DE PROGRAMARE

Răspunsuri și indicații la întrebări și teste.......................................................................................................... 12


Concluzii ............................................................................................................................................................ 13

2
Limbaje de programare
© Departamentul Informatică de Gestiune, Conferenţiar universitar dr. Veronica POPESCU & Profesor universitar dr. Gheorghe POPESCU
Unitatea de învăţare 1 PROGRAMARE ŞI LIMBAJE DE PROGRAMARE

OBIECTIVELE UNITĂŢII DE ÎNVĂŢARE 1

 Însuşirea cunoştinţelor necesare pentru a înţelege noţiunile de program informatic, algoritm,


limbaj de programare şi metodologie de programare.
 Cunoaşterea caracteristicilor programelor informatice, algoritmilor şi limbajelor de
programare.
 Înţelegerea mecanismelor de realizare a unui program informatic, asimilarea fazelor de
execuţie a unui program şi aplicarea unor metodologii eficiente de proiectare a unor programe
corecte.

Timp de lucru: 4 ore

1.1. Necesitatea programării, programe informatice

Programarea este un domeniu esenţial al informaticii. Fără programe (soft) calculatoarele


(hard) ar rămâne doar instrumente inutile şi anoste (nu ar fi capabile să facă nimic).

Definirea conceptului de program informatic

Programele informatice, cu sinonimele - produs program, aplicaţie, pachet de programe,


produs-soft, software - sunt definite în literatura de specialitate în mai multe moduri.

 Astfel, A. Cozgarea1 defineşte programul informatic drept “ o succesiune logică de


instrucţiuni sau expresii destinate executării lor de către calculatorul electronic în
vederea obţinerii unor rezultate”.

 Niklaus E. Wirth (părintele limbajului Pascal) percepe programul informatic după


formula: Structuri de date + Algoritmi = Program.

 Alţi specialişti2 , descriu programul sub forma unei funcţii matematice: Ieşiri =
Program (Intrări).

 Sau, traducerea într-un limbaj de programare a unuia sau mai multor algoritmi.

Caracteristicile programelor
Caracteristicile (proprietăţile) fundamentale ale programelor sunt:
 corectitudine: la date de intrare corecte se obţin rezultate scontate;
 robusteţe: face faţă unor evenimente neprevăzute;
 reutilizabilitate;
 compatibilitate;

1 A. Cozgarea – Programarea calculatoarelor, introducere în VB.NET, Editura ASE Bucureşti, 2008.


2
http://cs.wwc.edu/-aabyan

3
Limbaje de programare
© Departamentul Informatică de Gestiune, Conferenţiar universitar dr. Veronica POPESCU & Profesor universitar dr. Gheorghe POPESCU
Unitatea de învăţare 1 PROGRAMARE ŞI LIMBAJE DE PROGRAMARE

 portabilitate: poate fi executat pe calculatoare (platforme) diverse;


 eficienţă: utilizează optim resursele de calcul;
 claritate;

Fazele realizării unui program


Fazele realizării unui program sunt:

În literatura de specialitate mai întâlnim şi varianta: analiza, proiectarea, implementarea,


testarea, exploatarea şi întreţinerea.

Structura clasică a unui program


Structura clasică a unui program este:

4
Limbaje de programare
© Departamentul Informatică de Gestiune, Conferenţiar universitar dr. Veronica POPESCU & Profesor universitar dr. Gheorghe POPESCU
Unitatea de învăţare 1 PROGRAMARE ŞI LIMBAJE DE PROGRAMARE

Întrebări

1. Definiţi conceptul de program informatic.


2. Care sunt caracteristicile programelor informatice ?
3. Ce se înţelege prin portabilitatea unui program ?
4. Care sunt etapele realizării unui program ?

1.2. Algoritmi

Definirea conceptului de algoritm

Algoritmul reprezintă o metodă prin care sunt descrişi paşii necesari rezolvării unei probleme
- o succesiune de etape aplicate unei probleme specificate cu scopul obţinerii unei soluţii,
pornind de la un set de date de intrare.

Caracteristicile unui algoritm


Caracteristicile (proprietăţile) fundamentale ale algoritmului sunt:
 finitudine: pornind de la datele de intrare, un algoritm trebuie să determine datele de
ieşire într-un timp finit, cu un efort de calcul cât mai mic;
 claritate: descrierea precisă, fără ambiguităţi, a procesului de calcul implică stabilirea
unei ordini stricte, unice, a transformărilor suferite de datele de intrare;
 generalitate: un algoritm trebuie să fie conceput pentru rezolvarea unei clase de
probleme de acelaşi tip, nu numai pentru determinarea soluţiei unei probleme
particulare;

Clasificarea algoritmilor 1

Algoritmii pot fi clasificaţi după mai multe criterii:


a) după metoda de proiectare (concepere)
 backtracking (căutare cu revenire);
 divide et impera (metoda divizării);
 greedy (optimul local);
 genetici (principiile geneticii şi ale selecţiei naturale);
b) după metoda de implementare
 iterativi (cicluri repetitive);

3
R.Andone, I. Gârbacea, Algoritmi fundamentali – O perspectivă C++, Cluj-Napoca, Editura Libris, 1995.

5
Limbaje de programare
© Departamentul Informatică de Gestiune, Conferenţiar universitar dr. Veronica POPESCU & Profesor universitar dr. Gheorghe POPESCU
Unitatea de învăţare 1 PROGRAMARE ŞI LIMBAJE DE PROGRAMARE

 recursivi (se auto-apelează);

Reprezentarea algoritmilor
Algoritmii pot fi reprezentaţi prin mai multe procedee. Cele mai cunoscute fiind
reprezentarea în pseudocod şi cu ajutorul schemei logice.
Schema logică reprezintă o modalitate grafică de reprezentare a algoritmilor. Simbolurile de
bază utilizate într-o schemă logică sunt:

Simbol Semnificaţie

Conectori

Test condiţie (Bloc de control)

Început şi sfârşit prelucrare

Prelucrări

Operaţiuni de intrare-ieşire

Succesiunea prelucrărilor

Subrutină (set de prelucrări)

Pseudocodul este un mijloc (un limbaj) de exprimare naturală şi de dezvoltare sistematică a


algoritmilor. Un algoritm definit prin pseudocod este format din două tipuri de propoziţii:
standard şi nestandard. Enunţurile nestandard sunt fraze în limbajul natural, care pot fi
utilizate de programator în schiţarea formelor iniţiale ale algoritmilor. În dezvoltarea
algoritmilor ele sunt înlocuite treptat, cu enunţuri standard, care exprimă operaţii
corespondente direct în limbajele de programare.

6
Limbaje de programare
© Departamentul Informatică de Gestiune, Conferenţiar universitar dr. Veronica POPESCU & Profesor universitar dr. Gheorghe POPESCU
Unitatea de învăţare 1 PROGRAMARE ŞI LIMBAJE DE PROGRAMARE

Întrebări
1. Definiţi conceptul de algoritm.
2. Care sunt caracteristicile (proprietăţile) fundamentale ale algoritmului ?
3. Ce se înţelege prin finitudine ?
4. Cum se clasifică algoritmii după metoda de implementare?
5. Cum pot fi reprezentaţi algoritmi?
6. Ce tipuri de propoziţii pot fi utilizate în pseudocod?
1.3. Limbaje de programare

Definirea conceptului de limbaj de programare

Limbajul de programare reprezintă o tehnică de comunicare dintre om şi calculator,


caracterizată prin vocabular, sintaxă şi semantică proprii.
Limbajul de programare se caracterizează prin: vocabular - mulţimea cuvintelor rezervate;
sintaxă - reguli de compunere a propoziţiilor (instrucţiunilor sau expresiilor); regulile de
punctuaţie; semantică - semnificaţiile atribuite cuvintelor şi instrucţiunilor.

Clasificarea limbajelor de programare


Limbajele de programare pot fi clasificate după mai multe criterii:
a) după distanţa faţă de limbajul calculatorului
 limbaje de nivel coborât (apropiate de calculator): cod maşină, de asamblare şi
macro-asamblare;
 limbaje de nivel înalt (apropiate de programator);
b) după clasa de probleme pe care le rezolvă în mod eficient
 universale (pot rezolva mai multe clase de probleme);
 specializate (pentru: domeniul ştiinţific, economic, inteligenţa artificială, etc.);
c) după modul de realizare al funcţiilor de prelucrare automată
 procedurale (trebuie să programăm ce să facă şi cum să facă);
 neprocedurale (trebuie să definim doar ce să facă);

7
Limbaje de programare
© Departamentul Informatică de Gestiune, Conferenţiar universitar dr. Veronica POPESCU & Profesor universitar dr. Gheorghe POPESCU
Unitatea de învăţare 1 PROGRAMARE ŞI LIMBAJE DE PROGRAMARE

Fazele execuţiei unui program scris în limbaj simbolic


Fazele execuţiei unui program scris în limbaj simbolic sunt:

Translatarea (traducerea sau compilarea) unui program din programul sursă (PS) în
programul obiect (PO) se poate realiza:
 Cu ajutorul unui interpretor – care translatează fiecare instrucţiune şi apoi încearcă să
o execute.
Avantajele interpretorului sunt:
 lansarea în execuţie este rapidă la translatarea unei instrucţiuni;
 portabilitatea este ridicată, se pot executa pe orice platformă care dispune de
interpretor;
Dezavantajele interpretorului sunt:
 programele sunt mai lente (se compilează la fiecare execuţie);
 memoria utilizată creşte (memorie suplimentară pentru translatare şi satisfacerea
referinţelor);

8
Limbaje de programare
© Departamentul Informatică de Gestiune, Conferenţiar universitar dr. Veronica POPESCU & Profesor universitar dr. Gheorghe POPESCU
Unitatea de învăţare 1 PROGRAMARE ŞI LIMBAJE DE PROGRAMARE

 codul sursă nu poate fi protejat.


 Cu ajutorul unui compilator – care traduce un modul (sau întregul program) şi apoi
încearcă să îl lanseze în execuţie.
Avantajele compilatorului sunt:
 programele sunt mai rapide (sunt gata compilate la execuţiile următoare);
 codul sursă poate fi protejat;
Dezavantajele compilatorului sunt:
 portabilitatea este redusă, programele se pot executa doar pe platforme compatibile.

Întrebări

1. Definiţi conceptul de limbaj de programare.


2. Prin ce se caracterizează un limbaj de programare?
3. Care sunt criteriile de clasificare a limbajelor de programare?
4. Ce sunt limbajele neprocedurale?
5. Care sunt fazele de execuţie ale unui program scris în limbaj simbolic?
6. Care sunt avantajele utilizării compilatorului?

1.4. Metode de programare

Definirea conceptului de metodă de programare

Metoda de programare reprezintă un set de concepte, principii şi regulile aferente, după care
programatorul se poate ghida în scrierea programelor.
În decursul timpului au fost dezvoltate mai multe metode de programare, dintre care cele mai
importante sunt: programarea structurată, programarea orientată pe obiecte şi programarea
dirijată de evenimente.

Programarea structurată
Programarea structurată sau fără GO TO, este metoda de programare prin care modulele de
program se execută de sus în jos (fără revenire). Programarea riguros structurată sau din clasa
D, are la bază teorema fundamentală a programării structurate emisă şi demonstrată de
Corrado BOHM şi Giuseppe JACOPINI în 1966. Conform acestei teoreme: Orice
program/algoritm poate fi rezolvat prin trei structuri fundamentale de control: liniară,
alternativă şi repetitivă cu test iniţial.

9
Limbaje de programare
© Departamentul Informatică de Gestiune, Conferenţiar universitar dr. Veronica POPESCU & Profesor universitar dr. Gheorghe POPESCU
Unitatea de învăţare 1 PROGRAMARE ŞI LIMBAJE DE PROGRAMARE

 Structura liniară (sau secvenţială) se poate simboliza astfel:

 Structura alternativă se poate simboliza astfel:

10
Limbaje de programare
© Departamentul Informatică de Gestiune, Conferenţiar universitar dr. Veronica POPESCU & Profesor universitar dr. Gheorghe POPESCU
Unitatea de învăţare 1 PROGRAMARE ŞI LIMBAJE DE PROGRAMARE

 Structura repetitivă cu test iniţial.

Programarea orientată pe obiecte


Programarea orientată pe obiecte (OOP – Object Oriented Programming) este tehnica prin
care programul este format dintr-un ansamblu de obiecte care comunică între ele prin
intermediul mesajelor. Conceptele de bază ale programării orientate obiect sunt: obiectul,
abstractizarea, încapsularea, moştenirea, polimorfismul şi persistenţa.

Programarea dirijată de evenimente


Sub un sistem de operare cu interfaţă grafică, programele nu sunt executate într-o ordine
strică şi previzibilă din momentul programării. Derularea unei aplicaţii poate urma o mulţime
de alternative determinate de opţiunile utilizatorului sau de semnalele generate de sistem.
Practic programul este în aşteptare şi când se declanşează un eveniment se realizează
prelucrarea specifică rezolvării acestui eveniment.
În paradigma programării dirijată de evenimente programul se află într-o stare de aşteptare,
iar în momentul apariţiei unui eveniment va executa acţiunea definită de programator.

11
Limbaje de programare
© Departamentul Informatică de Gestiune, Conferenţiar universitar dr. Veronica POPESCU & Profesor universitar dr. Gheorghe POPESCU
Unitatea de învăţare 1 PROGRAMARE ŞI LIMBAJE DE PROGRAMARE

Întrebări

1. Definiţi conceptul de metodă de programare.


2. Care sunt cele mai cunoscute metode de programare?
3. Care sunt structurile fundamentale de control specifice programării structurate?
4. Care sunt principalele conceptele de bază ale programării orientate pe obiecte?
5. Prin ce se caracterizează paradigma programării dirijată de evenimente?

Răspunsuri și indicații la întrebări și teste

1.1. Necesitatea programării, programe informatice.

1. Definiţi conceptul de program informatic – pagina 3: Definirea conceptului de program informatic


2. Care sunt caracteristicile programelor informatice ? – pagina 3: Caracteristicile programelor
3. Ce se înţelege prin portabilitatea unui program ? – pagina 4: Caracteristicile programelor
4. Care sunt etapele realizării unui program ? – pagina 4: Fazele realizării unui program

1.2. Algoritmi

1. Definiţi conceptul de algoritm. – pagina 5: Definirea conceptului de algoritm


2. Care sunt caracteristicile (proprietăţile) fundamentale ale algoritmului ? – pagina 5: Caracteristicile
unui algoritm
3. Ce se înţelege prin finitudine ? – pagina 5: Caracteristicile unui algoritm
4. Cum se clasifică algoritmii după metoda de implementare? - pagina 5: Clasificarea algoritmilor
5. Cum pot fi reprezentaţi algoritmi? – pagina 6: Reprezentarea algoritmilor
6. Ce tipuri de propoziţii pot fi utilizate în pseudocod? – pagina 6: Reprezentarea algoritmilor
(Pseudocodul)

1.3. Limbaje de programare

1. Definiţi conceptul de limbaj de programare. – pagina 7: Definirea conceptului de limbaj de


programare
2. Prin ce se caracterizează un limbaj de programare? – pagina 7: Definirea conceptului de limbaj de
programare
3. Care sunt criteriile de clasificare a limbajelor de programare? pagina 7: Definirea conceptului de
limbaj de programare
4. Ce sunt limbajele neprocedurale? pagina 7: Definirea conceptului de limbaj de programare
5. Care sunt fazele de execuţie ale unui program scris în limbaj simbolic? – pagina 8: Fazele execuţiei
unui program scris în limbaj simbolic
6. Care sunt avantajele utilizării compilatorului? – pagina 8: Fazele execuţiei unui program scris în
limbaj simbolic (Avantajele compilatorului)
12
Limbaje de programare
© Departamentul Informatică de Gestiune, Conferenţiar universitar dr. Veronica POPESCU & Profesor universitar dr. Gheorghe POPESCU
Unitatea de învăţare 1 PROGRAMARE ŞI LIMBAJE DE PROGRAMARE

1.4. Metode de programare

1. Definiţi conceptul de metodă de programare. – pagina 9: Definirea conceptului de metodă de


programare
2. Care sunt cele mai cunoscute metode de programare? – paginile 9 și 10: programarea structurată,
programarea orientată pe obiecte și programarea dirijată de evenimente
3. Care sunt structurile fundamentale de control specifice programării structurate? – paginile 11 și 12:
structuri liniare, structuri alternative și structuri repetitive.
4. Care sunt principalele conceptele de bază ale programării orientate pe obiecte? – pagina 11: obiectul,
abstractizarea, încapsularea, moştenirea, polimorfismul şi persistenţa
5. Prin ce se caracterizează paradigma programării dirijată de evenimente? – pagina 11: programul se
află într-o stare de aşteptare, iar în momentul apariţiei unui eveniment va executa acţiunea definită
de programator

Concluzii

Programarea este un domeniu esenţial al informaticii. Fără programe (soft) calculatoarele(hard) ar


rămâne doar instrumente inutile şi anoste (nu ar fi capabile să facă nimic). Astfel, un program
informatic poate fi reprezentat sub forma unei succesiuni de algoritmi. Algoritmul reprezintă o
metodă prin care sunt descrişi paşii necesari rezolvării unei probleme printr-o succesiune de etape
aplicate unei probleme specificate cu scopul obţinerii unei soluţii, pornind de la un set de date de
intrare, în orice limbaj de programare. Limbajul de programare reprezintă o tehnică de comunicare
dintre om şi calculator, caracterizată prin vocabular, sintaxă şi semantică proprii. Limbajul de
programare se caracterizează prin: vocabular - mulţimea cuvintelor rezervate; sintaxă - reguli de
compunere a propoziţiilor (instrucţiunilor sau expresiilor); regulile de punctuaţie; semantică -
semnificaţiile atribuite cuvintelor şi instrucţiunilor. Metoda de programare reprezintă un set de
concepte, principii şi regulile aferente, după care programatorul se poate ghida în scrierea
programelor. De-a lungul timpului au fost dezvoltate mai multe metode de programare, dintre care
cele mai importante sunt: programarea structurată, programarea orientată pe obiecte şi programarea
dirijată de evenimente.

 Bibliografie Unitatea de învăţare 1

1. A. COZGAREA – Programarea calculatoarelor, introducere în VB.NET, Editura ASE


Bucureşti, 2008;
2. Gh. POPESCU – Programarea calculatoarelor în limbajul Visual Basic, EdituraGestiunea
Bucureşti, 2007

13
Limbaje de programare
© Departamentul Informatică de Gestiune, Conferenţiar universitar dr. Veronica POPESCU & Profesor universitar dr. Gheorghe POPESCU

S-ar putea să vă placă și