Sunteți pe pagina 1din 17

ALGORITMI I SCHEME LOGICE

Caracteristicile algoritmilor Iterativitate i recursivitate Reprezentarea algoritmilor prin scheme logice Reprezentarea algoritmilor prin pseodocod Descrierea structurilor fundamentale Structurarea algoritmilor Erorile n algoritmi Proiectarea algoritmilor

Caracteristicile algoritmilor
Generalitate Exemplu: 3x2-5x+7=0 ax2+bx+c=0, a,b,cR, a{0 a,b,cR Determinare (claritate) Exemplul 1: ax2+bx+c=0, a,b,cR 1. a {0, ecua ie de grad II 2. a=0 i b {0, ecua ie de grad I 3. a=0, b=0 i c {0, ecua ie imposibil 4. a=0, b=0 i c=0, ecua ie nedeterminat Exemplul 2: Suma elementelor impare dintr-un ir Suma elementelor pare dintr-un ir

Finitudine Clase de algoritmi: l Algoritmi cu num r finit de pa i, a priori cunoscut Produs scalar ntre dou mul imi l Algoritmi cu num r finit de pa i, a posteriori cunoscut CMMDC ntre dou numere Numerele prime pn la o limit dat l Algoritmi cu num r infinit de pa i Rezolvarea unei ecua ii transcendente Num rarea unor elemente care ndeplinesc o condi ie dat

Iterativitate i recursivitate Iterativitate


Produs vectorial Creare vectori

Recursivitate
Produs scalar Maxim (minim) dintr-un ir Cmmdc din dou numere formula de start formula recursiv

formula iterativ

Reprezentarea algoritmilor prin scheme logice


Blocul START START Blocul de citire Cite te date_de_intrare Blocul STOP STOP Blocul de scriere Scrie date_de_iesire

Blocul de atribuire v=e vne

Blocul de ramificare

c1

c2

cn

c1 c2 cn = 1 ci cj = 0,  i { j; i,j = 1,n

Pentru cazul n =2 NU

DA

Structurile fundamentale din programarea structurat


Structura secven ial (liniar ) s.l.s. arbore BLOCK s1 s2 s1 sn pseudocod s1; s2; sn;

sn

analitic:

BLOCK(s1,s2,,sn)

Structur PRIVILEGIAT !

Structurile alternative - selec ia simpl


s.l.s. Nu c Da arbore
IF-THEN-ELSE

s2

s1

s1

s2

analitic pseudocod IF c THEN s1 ELSE s2 ENDIF IF-THEN-ELSE(c,s1,s2) Structur PRIVILEGIAT !

Structurile alternative - pseudoalternativa


s.l.s. Nu c Da arbore
IF-THEN

s1

s1

analitic pseudocod IF-THEN (c,s1) IF c THEN s1 ENDIF

Transformarea n structur privilegiat


s.l.s. Nu c Da analitic IF-THEN (c,s1) = IF-THEN-ELSE(c,s1, )

s1 Structura pseudoalternativ pe ramura fals

IF-ELSE (c,s1) = IF-THEN( c,s1) = = IF-THEN-ELSE(c,, s1) = IF-THEN-ELSE( c,s1,)

s.l.s. i i=v1 s1 i=v2 s2 ... i=vn sn

Structura alternativ multipl


analitic iV s pseudocod CASE-OF (i,s1,s2,,sn,s)

arbore CASE-OF i

s1

s2

...

sn

CASE-OF i=v1: s1 i=v2: s2 ... i=vn:sn ELSE s ENDCASE

Structurile repetitive
Structura repetitiv condi ionat anterior s.l.s. Da arbore WHILE-DO

c
Nu

s
analitic

pseudocod WHILE c DO s ENDWHILE

WHILE-DO(c,s)

Structur PRIVILEGIAT !

Structura repetitiv condi ionat posterior s.l.s. arbore

DO-UNTIL

c
Da

s
Nu

pseudocod DO s UNTIL c

analitic DO-UNTIL(s,c)

Structura repetitiv cu num r tor s.l.s. arbore DO-FOR(vi,vf,vr)


v=vi vevf

Da

Nu

s
v=v+vr

pseudocod

DO-FOR v=v1,vf,vr s ENDDO DO-FOR(v,vi,vf,vr,s)

N = [(vf - vi) / vr] + 1

analitic

Structurarea algoritmilor
Teorema fundamental de structur (Boem-Jacoppini)
S = (BLOCK, IF-THEN-ELSE, IF-THEN, CASE-OF, WHILE-DO, DO-UNTIL, DO-FOR)

Un algoritm este structurat dac i numai dac este format din


elemente din mul imea S.

Fie S un algoritm nestructurat, format dintr-o mul ime A de ac iuni i


o mul ime P de predicate. Dac se adaug un num r finit de ac iuni i/sau de predicate, se ob ine un algoritm structurat, echivalent cu S.

Corolarul top-down Un algoritm P structurat este echivalent cu un algoritm pus sub una
din urm toarele forme: P = BLOCK(s1,s2,,sn) P = IF-THEN-ELSE(c,s1,s2) P = WHILE-DO(c,s)

Erorile n algoritmi Erori n datele ini iale: - erori de observare - erori datorate numerelor ira ionale Erori de rotunjire Erori de metod Erori reziduale
eroare absolut eroare relativ

Proiectarea algoritmilor
Proiectarea, codificarea i testarea top-down Proiectarea modularizat Proiectarea structurat

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