Sunteți pe pagina 1din 20

ALGORITMI I SCHEME LOGICE

Caracteristicile algoritmilor
Iterativitate i recursivitate
Reprezentarea algoritmilor
Descrierea structurilor
fundamentale
Structurarea algoritmilor
Erorile n algoritmi
Proiectarea algoritmilor

CARACTERISTICILE
ALGORITMILOR
Generalitate
Determinare (claritate)
Exemplul 1: ecuaia de grad 2
Exemplul 2:
Suma elementelor impare dintr-un ir
Suma elementelor pare dintr-un ir
Finitudine

Clase de algoritmi:
Algoritmi cu numr finit de pai, a priori cunoscut
Produs scalar ntre dou mulimi
Algoritmi cu numr finit de pai, a posteriori cunoscut
CMMDC ntre dou numere
Numerele prime pn la o limit dat
Algoritmi cu numr infinit de pai
Rezolvarea unei ecuaii transcendente
Numrarea unor elemente care ndeplinesc o condiie dat

ITERATIVITATE I
RECURSIVITATE
Iterativitate

Produs vectorial
Ptratele
elementelor unui ir
Creare vectori

Recursivitate

formula iterativ

Suma elementelor unui ir


Produsul elementelor unui
ir
Produs scalar
Maxim (minim) dintr-un ir
Cmmdc dintre dou
numere

formula de start
formula recursiv

REPREZENTAREA
ALGORITMILOR PRIN
SCHEME LOGICE
Blocul START

Blocul STOP

START

STOP

Blocul de citire

Blocul de scriere

Citete
date_de_intrare

Scrie
date_de_ieire

Blocul de atribuire
v=e

ve

ev

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 secvenial (liniar)
s.l.s.

arbore

pseudocod

BLOCK

s1;
s2;

s1

s2

analitic:

sn

sn;

BLOCK(s1,s2,,sn)

Structur PRIVILEGIAT !

Structurile alternative - selecia simpl


s.l.s.

arbore

analitic
pseudocod
IF c THEN s1
ELSE s2
ENDIF

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

Structurile alternative - pseudoalternativa


arbore

analitic
pseudocod
IF-THEN (c,s1)

Transformarea n structur privilegiat


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

Structura pseudoalternativ pe ramura fals

s.l.s.

Structura alternativ multipl


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

arbore

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

Structurile repetitive
Structura repetitiv condiionat anterior
s.l.s.

arbore

analitic
pseudocod
WHILE c DO
s
ENDWHILE

WHILE-DO(c,s)
Structur PRIVILEGIAT !

Structura repetitiv condiionat posterior


s.l.s.

arbore

pseudocod

analitic

DO
s
UNTIL c

DO-UNTIL(s,c)

Structura repetitiv cu numrtor


s.l.s.

arbore
DO-FOR(vi,vf,vr)

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

pseudocod

DO-FOR v=vi,vf,vr
s
ENDDO

analitic

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

STRUCTURAREA ALGORITMILOR
Mulimea structurilor privilegiate
S = (BLOCK, IF-THEN-ELSE, IF-THEN)

Mulimea structurilor fundamentale


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 mulimea S (respectiv S).

Teorema fundamental de structur (Boem-Jacoppini)


Fie P un algoritm nestructurat, format dintr-o mulime A de aciuni
(operaii) i o mulime C de condiii. Dac se adaug un numr finit de
aciuni i/sau de condiii, se obine un algoritm structurat, echivalent
cu P.

Corolarul top-down
Un algoritm P structurat este echivalent cu un algoritm pus sub una
din urmtoarele forme:
P = BLOCK(s1,s2,,sn)

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

P = WHILE-DO(c,s)

METODE DE STRUCTURARE A
ALGORITMILOR
Metoda dublrii codurilor
structurarea secvenelor alternative
structurarea secvenelor repetitive

Metoda folosirii de variabile booleene


structurarea secvenelor repetitive

ERORILE N ALGORITMI
Erori n datele iniiale:
- erori de observare
- erori datorate numerelor iraionale
Erori de rotunjire
Erori de metod
Erori reziduale

Valoarea x este soluia exact, iar x* este soluia aproximativ :


x* > x
x* este o aproximare a lui x prin adaos;
x* < x
x* realizeaz o aproximare prin lips.
Erorile pot fi acceptate sau respinse:
n funcie de mrimea lor i
n funcie de mrimea valorilor crora li se asociaz.

Eroare:

x = x - x
*

Eroare absolut:
Eroare relativ:

x* x x *
rx*

x x*
x*

PROIECTAREA ALGORITMILOR

Proiectarea, codificarea i testarea top-down

Proiectarea modularizat

Proiectarea structurat

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