Sunteți pe pagina 1din 15

PROGRAMARE I LIMBAJE DE PROGRAMARE

________________________________________________________________________________________________________________
_

Cuprins
Obiectivele unitii de nvare
1.1. Necesitatea programrii, programe informatice.
Definirea conceptului de program informatic
Caracteristicile programelor
Fazele realizrii unui program
Structura clasic a unui program
ntrebri
1.2. Algoritmi
Definirea conceptului de algoritm
Caracteristicile unui algoritm
Tipuri de algoritmi
Reprezentarea algoritmilor
ntrebri
1.3. Limbaje de programare
Definirea conceptului de limbaj de programare
Clasificarea limbajelor de programare
Fazele execuiei unui program scris n limbaj simbolic
ntrebri
1.4. Metode de programare
Definirea conceptului de metod de programare
Programarea structurat
Programarea orientat pe obiecte
Programarea dirijat de evenimente
ntrebri

PROGRAMARE I LIMBAJE DE PROGRAMARE


________________________________________________________________________________________________________________
_

OBIECTIVELE UNITII DE NVARE 1

nsuirea cunotinelor necesare pentru a nelege noiunile


de program informatic, algoritm, limbaj de programare i

metodologie de programare.
Cunoaterea caracteristicilor

algoritmilor i limbajelor de programare.


nelegerea mecanismelor de realizare a unui program

programelor

informatice,

informatic, asimilarea fazelor de execuie a unui program i


aplicarea unor metodologii eficiente de proiectare a unor
programe corecte.
1.1. Necesitatea programrii, programe informatice
Programarea este un domeniu esenial al informaticii. Fr programe (soft)
calculatoarele (hard) ar rmne doar instrumente inutile i anoste (nu ar fi
capabile s fac nimic).

Definirea conceptului de program informatic

Programele informatice, cu sinonimele - produs program, aplicaie, pachet


de programe, produs-soft, software - sunt definite n literatura de
specialitate n mai multe moduri.
Astfel, A. Cozgarea1 definete programul informatic drept o
succesiune logic de instruciuni sau expresii destinate executrii
lor de ctre calculatorul electronic n vederea obinerii unor
rezultate.
Niklaus E. Wirth (printele limbajului Pascal) percepe programul
informatic dup formula: Structuri de date + Algoritmi = Program.
Ali

specialiti2

descriu

programul

sub

forma

unei

funcii

matematice: Ieiri = Program (Intrri).


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

1
2

Caracteristicile programelor

A. Cozgarea Programarea calculatoarelor, introducere n VB.NET, Editura ASE Bucureti, 2008.


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

PROGRAMARE I LIMBAJE DE PROGRAMARE


________________________________________________________________________________________________________________
_

Caracteristicile (proprietile) fundamentale ale programelor sunt:


corectitudine: la date de intrare corecte se obin rezultate scontate;
robustee: face fa unor evenimente neprevzute;
reutilizabilitate;
compatibilitate;
portabilitate:poate fi executat pe calculatoare (platforme) diverse;
eficien: utilizeaz optim resursele de calcul;
claritate;

Fazele realizrii unui program

Fazele realizrii unui program sunt:

n literatura de specialitate mai ntlnim i varianta: analiza, proiectarea,


implementarea, testarea, exploatarea i ntreinerea.

Structura clasic a unui program

Structura clasic a unui program este:

PROGRAMARE I LIMBAJE DE PROGRAMARE


________________________________________________________________________________________________________________
_

PROGRAMARE I LIMBAJE DE PROGRAMARE


________________________________________________________________________________________________________________
_

ntrebri
1. Definii conceptul de program informatic.
2. Care sunt caracteristicile programelor informatice ?
3. Ce se nelege prin portabilitatea unui program ?
4. Care sunt etapele realizrii unui program ?
5. Cum se definete o expresie ?
1.2. Algoritmi

Definirea conceptului de algoritm

Algoritmul reprezint o metod prin care sunt descrii paii necesari


rezolvrii unei probleme - o succesiune de etape aplicate unei probleme
specificate cu scopul obinerii unei soluii, pornind de la un set de date de
intrare.

Caracteristicile unui algoritm

Caracteristicile (proprietile) fundamentale ale algoritmului sunt:


finitudine: pornind de la datele de intrare, un algoritm trebuie s
determine datele de ieire ntr-un timp finit, cu un efort de calcul ct
mai mic;
claritate: descrierea precis, fr ambiguiti, a procesului de calcul
implic stabilirea unei ordini stricte, unice, a transformrilor suferite
de datele de intrare;
generalitate: un algoritm trebuie s fie conceput pentru rezolvarea
unei

clase

de

probleme

de

acelai

tip,

nu

numai

pentru

determinarea soluiei unei probleme particulare;

Clasificarea algoritmilor3

Algoritmii pot fi clasificai dup mai multe criterii:


a) dup metoda de proiectare (concepere)
backtracking (cutare cu revenire);
divide et impera (metoda divizrii);
greedy (optimul local);
3

R.Andone, I. Grbacea, Algoritmi fundamentali O perspectiv C++, Cluj-Napoca, Editura Libris, 1995.

PROGRAMARE I LIMBAJE DE PROGRAMARE


________________________________________________________________________________________________________________
_

genetici (principiile geneticii i ale seleciei naturale);


b) dup metoda de implementare
iterativi (cicluri repetitive);
recursivi (se auto-apeleaz);

Reprezentarea algoritmilor

Algoritmii pot fi reprezentai 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

Semnificaie

Conectori

Test condiie (Bloc de control)

nceput i sfrit prelucrare

Prelucrri

Operaiuni de intrare-ieire

Succesiunea prelucrrilor

Subrutin (set de prelucrri)

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 propoziii: standard i nestandard.
Enunurile nestandard sunt fraze n limbajul natural, care pot fi utilizate de
6

PROGRAMARE I LIMBAJE DE PROGRAMARE


________________________________________________________________________________________________________________
_

programator n schiarea formelor iniiale ale algoritmilor. n dezvoltarea


algoritmilor ele sunt nlocuite treptat, cu enunuri standard, care exprim
operaii corespondente direct n limbajele de programare.

PROGRAMARE I LIMBAJE DE PROGRAMARE


________________________________________________________________________________________________________________
_

ntrebri
1. Definii conceptul de algoritm.
2. Care sunt caracteristicile (proprietile) fundamentale ale algoritmului ?
3. Ce se nelege prin finitudine ?
4. Cum se clasific algoritmii dup metoda de implementare?
5. Cum pot fi reprezentai algoritmi?
6. Ce tipuri de propoziii 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 cuvintelor rezervate; sintax - reguli de compunere a

mulimea
propoziiilor

(instruciunilor sau expresiilor); regulile de punctuaie; semantic semnificaiile atribuite cuvintelor i instruciunilor.

Clasificarea limbajelor de programare

Limbajele de programare pot fi clasificate dup mai multe criterii:


a) dup distana fa de limbajul calculatorului
limbaje de nivel cobort (apropiate de calculator): cod main, 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

tiinific,

economic,

inteligena

artificial, etc.);
c) dup modul de realizare al funciilor de prelucrare automat
procedurale (trebuie s programm ce s fac i cum s fac);
neprocedurale (trebuie s definim doar ce s fac);

PROGRAMARE I LIMBAJE DE PROGRAMARE


________________________________________________________________________________________________________________
_

Fazele execuiei unui program scris n limbaj simbolic

Fazele execuiei unui program scris n limbaj simbolic sunt:

Translatarea (traducerea sau compilarea) unui program din programul


surs (PS) n programul obiect (PO) se poate face:
Cu ajutorul unui interpretor care translateaz fiecare instruciune
i apoi ncearc s o execute.
Avantajele interpretorului sunt:
lansarea n execuie este rapid la translatarea unei instruciuni;
portabilitatea este ridicat, se pot executa pe orice platform care
dispune de interpretor;
Dezavantajele interpretorului sunt:
programele sunt mai lente (se compileaz la fiecare execuie);
memoria utilizat crete (memorie suplimentar pentru translatare
i satisfacerea referinelor);
9

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 execuie.
Avantajele compilatorului sunt:
programele sunt mai rapide (sunt gata compilate la execuiile
urmtoare);
codul surs poate fi protejat;
Dezavantajele compilatorului sunt:
portabilitatea este redus, programele se pot executa doar pe
platforme compatibile.
ntrebri

1. Definii 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 execuie ale unui program scris n limbaj simbolic?
6. Care sunt avantajele utilizrii 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 fr GO TO, este metoda de programare prin


care modulele de program se execut de sus n jos (fr revenire).
Programarea riguros structurat sau din clasa D, are la baz teorema
fundamental a programrii structurate emis i demonstrat de Corrado
BOHM i Giuseppe JACOPINI n 1966. Conform acestei teoreme: Orice
10

PROGRAMARE I LIMBAJE DE PROGRAMARE


________________________________________________________________________________________________________________
_

program/algoritm poate fi rezolvat prin trei structuri fundamentale de


control: liniar, alternativ i repetitiv cu test iniial.

11

PROGRAMARE I LIMBAJE DE PROGRAMARE


________________________________________________________________________________________________________________
_

Structura liniar (sau secvenial) se poate simboliza astfel:

Structura alternativ se poate simboliza astfel:

12

PROGRAMARE I LIMBAJE DE PROGRAMARE


________________________________________________________________________________________________________________
_

Structura repetitiv cu test iniial.

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

programrii

orientate

obiect

sunt:

obiectul,

abstractizarea,

ncapsularea, motenirea, polimorfismul i persistena.

Programarea dirijat de evenimente

Sub un sistem de operare cu interfa grafic, programele nu sunt


executate ntr-o ordine stric i previzibil din momentul programrii.
Derularea unei aplicaii poate urma o mulime de alternative determinate
de opiunile utilizatorului sau de semnalele generate de sistem. Practic
programul este n ateptare i cnd se declaneaz un eveniment se
realizeaz prelucrarea specific rezolvrii acestui eveniment.
n paradigma programrii dirijat de evenimente programul se afl ntr-o
stare de ateptare, iar n momentul apariiei unui eveniment va executa
aciunea definit de programator.
13

PROGRAMARE I LIMBAJE DE PROGRAMARE


________________________________________________________________________________________________________________
_

ntrebri
1. Definii conceptul de metod de programare.
2. Care sunt cele mai cunoscute metode de programare?
3. Care sunt structurile fundamentale de control specifice programrii
structurate?
4. Care sunt principalele conceptele de baz ale programrii orientate pe
obiecte?
5.

Prin

ce

se

caracterizeaz

paradigma

programrii

dirijat

de

evenimente?

Bibliografie Unitatea de nvare 1

1. A. COZGAREA Programarea calculatoarelor, introducere n


VB.NET, Editura ASE Bucureti, 2008;
2. Gh. POPESCU Programarea calculatoarelor n limbajul
Visual Basic, Editura Gestiunea Bucureti, 2007.

14

PROGRAMARE I LIMBAJE DE PROGRAMARE


________________________________________________________________________________________________________________
_

OBIECTIVELE UNITII DE NVARE 1............................................................2


1.1. Necesitatea programrii, programe informatice...............................2
1.2. Algoritmi.................................................................................................. 4
1.3. Limbaje de programare..........................................................................6
1.4. Metode de programare...........................................................................8

15

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