Documente Academic
Documente Profesional
Documente Cultură
Cursul 1
Curs 2
Caracteristicile algoritmilor
Generalitate
Exemplu:
3x2-5x+7=0
ax2+bx+c=0, a,b,c R, a 0
a,b,c R
Determinare (claritate)
Exemplul 1:
ax2+bx+c=0, a,b,c R
1. a 0, ecuaie de grad II
2. a=0 i b 0, ecuaie de grad I
3. a=0, b=0 i c 0, ecuaie imposibil
4. a=0, b=0 i c=0, ecuaie nedeterminat
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
Iterativitate i recursivitate
Iterativitate
Produs vectorial
Creare vectori
formula iterativ
Recursivitate
Produs scalar
Maxim (minim) dintr-un
ir
Cmmdc din dou numere
formula de start
formula recursiv
Blocul STOP
START
STOP
Blocul de citire
Citete
date_de_intrare
Blocul de scriere
Scrie
date_de_iesire
Blocul de atribuire
v=e
Blocul de ramificare
c1
c2
cn
c1
c2
ci
cj = 0,
cn = 1
j; i,j = 1,n
Pentru cazul n =2
NU
DA
s.l.s.
arbore
pseudocod
BLOCK
s1;
s2;
s1
s2
sn
s1
sn
analitic:
sn;
BLOCK(s1,s2,,sn)
Structur PRIVILEGIAT !
Nu
arbore
Da
IF-THEN-ELSE
c
s2
s1
s1
s2
analitic
pseudocod
IF c THEN s1
ELSE s2
ENDIF
IF-THEN-ELSE(c,s1,s2)
Structur PRIVILEGIAT !
arbore
Da
IF-THEN
c
s1
s1
analitic
pseudocod
IF-THEN (c,s1)
IF c THEN s1
ENDIF
analitic
Da
IF-THEN (c,s1) =
IF-THEN-ELSE(c,s1,
s1
Structura pseudoalternativ
pe ramura fals
s.l.s.
analitic
i
i=v1
s1
i=v2
...
s2
i=vn
i V
sn
CASE-OF (i,s1,s2,,sn,s)
pseudocod
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 condiionat anterior
s.l.s.
arbore
Da
WHILE-DO
c
Nu
s
analitic
pseudocod
WHILE c DO
s
ENDWHILE
WHILE-DO(c,s)
Structur PRIVILEGIAT !
arbore
DO-UNTIL
Nu
Da
pseudocod
analitic
DO
s
UNTIL c
DO-UNTIL(s,c)
arbore
DO-FOR(vi,vf,vr)
v=vi
v vf
Nu
Da
s
v=v+vr
pseudocod
DO-FOR v=v1,vf,vr
s
ENDDO
analitic
DO-FOR(v,vi,vf,vr,s)
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 mulimea S.
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)
Erorile n algoritmi
Erori n datele iniiale:
- erori de observare
- erori datorate numerelor iraionale
Erori de rotunjire
Erori de metod
Erori reziduale
eroare absolut
eroare relativ
Proiectarea algoritmilor
Proiectarea, codificarea i testarea top-down
Proiectarea modularizat
Proiectarea structurat
Bibliografie
1. I. Gh. Roca, B. Ghilic-Micu, C. Cocianu, M. Stoica, C. Uscatu, M.
Mircea, L. Btgan, C. Silvestru, Bazele programrii calculatoarelor.
Teorie i aplicaii n C, Ed. ASE, Bucureti, 2006, ISBN 973-594-591-6
2. I. Gh. Roca, B. Ghilic-Micu, C. Cocianu, M. Stoica, C. Uscatu,
Programarea calculatoarelor. tiina nvrii unui limbaj de programare,
Teorie i aplicaii, Ed. ASE, 2003
3. Ion Smeureanu, Marian Drdal, Programarea n limbajul C/C++, Ed.
CISON, Bucureti 2004, ISBN 973-99725-7-8