ALGORITMI Ş I SCHEME LOGICE

20
ALGORITMI ŞI SCHEME LOGICE Caracteristicile algoritmilor Iterativitate şi recursivitate Reprezentarea algoritmilor Descrierea structurilor fundamentale Structurarea algoritmilor Erorile în algoritmi Proiectarea algoritmilor

description

Caracteristicile algoritmilor Iterativitate ş i recursivitate Reprezentarea algoritmilor Descrierea structurilor fundamentale Structurarea algoritmilor Erorile î n algoritmi Proiectarea algoritmilor. ALGORITMI Ş I SCHEME LOGICE. Caracteristicile algoritmilor. Generalitate. - PowerPoint PPT Presentation

Transcript of ALGORITMI Ş I SCHEME LOGICE

Page 1: ALGORITMI  Ş I SCHEME LOGICE

ALGORITMI ŞI SCHEME LOGICE

Caracteristicile algoritmilor Iterativitate şi recursivitate Reprezentarea algoritmilor Descrierea structurilor

fundamentale Structurarea algoritmilor Erorile în algoritmi Proiectarea algoritmilor

Page 2: ALGORITMI  Ş I SCHEME LOGICE

CARACTERISTICILE ALGORITMILOR

• Generalitate

• Determinare (claritate)

Exemplul 1: ecuaţia de grad 2

Exemplul 2: • Suma elementelor impare dintr-un şir

• Suma elementelor pare dintr-un şir

• Finitudine

Page 3: ALGORITMI  Ş I SCHEME LOGICE

Clase de algoritmi:

Algoritmi cu număr finit de paşi, a priori cunoscut

Algoritmi cu număr finit de paşi, a posteriori cunoscut

Algoritmi cu număr infinit de paşi

Produs scalar între două mulţimi

• CMMDC între două numere• Numerele prime până la o limită dată

• Rezolvarea unei ecuaţii transcendente• Numărarea unor elemente care îndeplinesc o condiţie dată

Page 4: ALGORITMI  Ş I SCHEME LOGICE

ITERATIVITATE ŞI RECURSIVITATE

Iterativitate Produs vectorial Pătratele

elementelor unui șir Creare vectori

Recursivitate Suma elementelor unui șir Produsul elementelor unui

șir Produs scalar Maxim (minim) dintr-un şir Cmmdc dintre două

numere

• formula iterativă• formula de start• formula recursivă

Page 5: ALGORITMI  Ş I SCHEME LOGICE

REPREZENTAREA ALGORITMILOR PRIN

SCHEME LOGICEBlocul START Blocul STOP

Blocul de citire Blocul de scriere

Citeștedate_de_intrare

Scriedate_de_ieșire

Blocul de atribuire

v = e v e

START STOP

e v

Page 6: ALGORITMI  Ş I SCHEME LOGICE

Blocul de ramificare

c1 c2 … cn

c1 c2 … cn = 1

ci cj = 0, i j; i,j = 1,n

Pentru cazul n =2

ccc

NU DA

Page 7: ALGORITMI  Ş I SCHEME LOGICE

Structurile fundamentale din programarea structurată

Structura secvenţială (liniară)

s.l.s.

analitic:

pseudocodarbore

s1

s2

sn

s1;

s2;

sn;

BLOCK(s1,s2,…,sn)

Structură PRIVILEGIATĂ !

BLOCK

s1 sn…s2

Page 8: ALGORITMI  Ş I SCHEME LOGICE

Structurile alternative - selecţia simplă

s.l.s.

analitic

pseudocod

arbore

c

IF-THEN-ELSE

s1 s2

IF c THEN s1ELSE s2ENDIF

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

c

s1s2

DaNu

Structură PRIVILEGIATĂ !

Page 9: ALGORITMI  Ş I SCHEME LOGICE

analitic

pseudocod

arbore

c

IF-THEN

s1

IF c THEN s1ENDIF

IF-THEN (c,s1)

Structurile alternative - pseudoalternativa

s.l.s.

c

s1

DaNu

Page 10: ALGORITMI  Ş I SCHEME LOGICE

Transformarea în structură privilegiată

s.l.s.

analitic

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

c

s1

DaNu

Structura pseudoalternativă pe ramura fals

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

Page 11: ALGORITMI  Ş I SCHEME LOGICE

Structura alternativă multiplăs.l.s.

arbore

analitic

CASE-OF (i,s1,s2,…,sn,s)

i

s1 s2 ssn

i=v1 i=v2 i=vn iV

. . .

s1 s2 ssn

CASE-OF i

. . .

pseudocod

CASE-OFi=v1: s1

i=v2: s2

. . . i=vn:sn

ELSE sENDCASE

Page 12: ALGORITMI  Ş I SCHEME LOGICE

Structurile repetitive

Structura repetitivă condiţionată anterior

c

s

Da

Nu

WHILE-DO

c s

s.l.s. arbore

analitic

pseudocod

WHILE c DO s

ENDWHILE

WHILE-DO(c,s)

Structură PRIVILEGIATĂ !

Page 13: ALGORITMI  Ş I SCHEME LOGICE

Structura repetitivă condiţionată posterior

DO-UNTIL

cs

arbore

analiticpseudocod

DO s

UNTIL cDO-UNTIL(s,c)

s.l.s.

c

s

DaNu

Page 14: ALGORITMI  Ş I SCHEME LOGICE

Structura repetitivă cu numărător

DO-FOR(vi,vf,vr)

s

s.l.s. arbore

analitic

pseudocodDO-FOR v=vi,vf,vr

sENDDO

DO-FOR(v,vi,vf,vr,s)

vvf

v=vi

Da

Nu

v=v+vr

s

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

Page 15: ALGORITMI  Ş I SCHEME LOGICE

STRUCTURAREA ALGORITMILOR

S’ = (BLOCK, IF-THEN-ELSE, IF-THEN, CASE-OF, WHILE-DO, DO-UNTIL, DO-FOR)

• Un algoritm este S structurat (sau S’ structurat) dacă este format numai din elemente din mulţimea S (respectiv S’).

S = (BLOCK, IF-THEN-ELSE, IF-THEN)

Mulțimea structurilor privilegiate

Mulțimea structurilor fundamentale

Page 16: ALGORITMI  Ş I SCHEME LOGICE

Teorema fundamentală de structură (Boem-Jacoppini)

• Fie P un algoritm nestructurat, format dintr-o mulţime A de acţiuni (operații) şi o mulţime C de condiții. Dacă se adaugă un număr finit de acţiuni şi/sau de condiții, se obţine un algoritm structurat, echivalent cu P.

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)

Page 17: ALGORITMI  Ş I SCHEME LOGICE

METODE DE STRUCTURARE A ALGORITMILOR

Metoda dublării codurilor

• structurarea secvențelor alternative

• structurarea secvențelor repetitive

Metoda folosirii de variabile booleene

• structurarea secvențelor repetitive

Page 18: ALGORITMI  Ş I SCHEME LOGICE

ERORILE ÎN ALGORITMI

Erori în datele iniţiale:

- erori de observare

- erori datorate numerelor iraţionale Erori de rotunjire Erori de metodă Erori reziduale

Page 19: ALGORITMI  Ş I SCHEME LOGICE

Valoarea x este soluția exactă, iar x* este soluția aproximativă :

x* > x ► x* este o aproximare a lui x prin adaos;

x* < x ► x* realizează o aproximare prin lipsă.

*x x- x= ε *

*

xxxε *

*

*

x x

xxr *

Eroare:

Eroare absolută:

Eroare relativă:

Erorile pot fi acceptate sau respinse: în funcţie de mărimea lor şi în funcţie de mărimea valorilor cărora li se asociază.

Page 20: ALGORITMI  Ş I SCHEME LOGICE

PROIECTAREA ALGORITMILOR

Proiectarea, codificarea şi testarea top-down

Proiectarea modularizată

Proiectarea structurată