Sunteți pe pagina 1din 14

Metode de programare

Metoda de programare = set de concepte, principii, tehnici și


reguli de aplicare ale acestora în elaborarea programelor

• Programarea structurată (anii `80)


• Programarea orientată pe (spre) obiecte (anii `90 până
în prezent)
• Programarea dirijată de evenimente (dupa ’90)

conf. dr. Cozgarea Adrian


Programarea structurată
Bazată pe principiul “divide et impera”  programele sunt descompuse
în subprograme mai simple.

Un subprogram este descris prin:


1. Semnătură (antet): denumire + (opțional) parametri
2. Corp: secvență de instrucţiuni corelate logic.

Tipuri de subprograme:
1. Proceduri - nu returnează valori la terminarea execuţiei
2. Funcții - returnează valori la încheierea execuţiei (valoarea
returnată de o funcție poate fi reutilizată în program)
Exemple VB.NET:
' procedura: ' funcție:
Sub AfiseazaSuma(x, y) Function ReturneazaSuma(x, y)
MsgBox(x + y) Return x + y
End Sub End Function
conf. dr. Cozgarea Adrian
Apelarea subprogramelor
Un subprogram este lansat în execuție numai prin apelarea sa explicită !
Exemplu: ordinea și sensul execuției instructiunilor dintr-un program

PROGRAM

Instrucțiune1 SubProgram1

… Instructiune1

Apel SubProgram1 …
Sfârșit SubProgram1
InstructiuneK


SubProgram2
Apel SubProgram2
Instructiune1
InstructiuneN

… Sfârșit SubProgram2

SfârșitProgram
conf. dr. Cozgarea Adrian
Programarea structurată
- structuri de control -

Structură de control = ordinea în care sunt executate (parcurse)


instrucțiunile unui program

Structuri fundamentale de control (Böhm și Jacopini, 1966):


1. Liniară ( secvențială) - instrucțiunile unui program sunt executate,
una câte una, în ordinea declarării lor
2. Alternativă - asigură execuția ramificată/selectivă a unor instrucțiuni
în funcție de o condiție
3. Repetitivă – presupune execuția de mai multe ori a unor instrucțiuni,
cât timp este îndeplinită o condiție

 Structura liniară este implicită!

conf. dr. Cozgarea Adrian


Structura liniară (secvenţială)

START

I1

I2

...

In

STOP

conf. dr. Cozgarea Adrian


Structura liniară
- exemplu-

... VB.NET:


Inițializează numar numar = 0

Setează numar cu 5 numar=5

Incrementează numar cu 1 numar=numar+1

Afișează numar MsgBox(numar)

conf. dr. Cozgarea Adrian


Structura alternativă (IF... ELSE... END IF)
- cu două ramuri (Da și Nu)-

...

DA Condiţie NU

S1 S2

...
conf. dr. Cozgarea Adrian
Structura alternativă
Exemplu: calcul sold final cont

...

VB.NET:
DA NU …
TSD>TSC If TSD>TSC Then

Sold=TSD-TSC

Else
Sold=TSD-TSC Sold=TSC-TSD
Sold=TSC-TSD

End If

...
...

conf. dr. Cozgarea Adrian


Structura pseudo-alternativă (IF...END IF)
– o singură ramură (Da sau Nu) -

...

DA
Condiţie

S1

...
conf. dr. Cozgarea Adrian
Structura alternativă multiplă
(SELECT CASE...END SELECT)

...

Exp

Exp=v1 Exp=v2 Exp=vi Exp=vn


S1 S2 … Sn

...
conf. dr. Cozgarea Adrian
Structura repetitivă condiţionată anterior
(condiția este evaluată înaintea fiecărei iterații)

...

DA
Condiţie

NU S1

...
conf. dr. Cozgarea Adrian
Structura repetitivă
Exemplu 1: însumarea numerelor pe interv. [1,5]

VB.NET:

total=0 total=0
nr=1 nr=1

DA
nr<=5? While nr<=5

NU total = total+nr total=total+nr


nr = nr+1 nr=nr+1

... End While


...

conf. dr. Cozgarea Adrian


Structura repetitivă
Exemplu 2: calcul total facturi

TotalFacturi=0

DA
Există factură ?

Citește factura

NU TotalFacturi=TotalFacturi+
Val. factura curentă

Afișează TotalFacturi
conf. dr. Cozgarea Adrian
Structura repetitivă condiţionată posterior
condiția este evaluată după fiecare iterație 
 prima iterație va fi executată întotdeauna (independent de condiție)

...

S1

DA
Condiţie

NU
...
conf. dr. Cozgarea Adrian

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