Documente Academic
Documente Profesional
Documente Cultură
ALGORITMI
ALGORITMI DEFINIRE
Noiunea de algoritm, preluat din matematic, este
fundamental n activitatea de programare a
calculatoarelor electronice.
Programarea este practic activitatea prin care se
concepe i se realizeaz programul pentru rezolvarea
unei probleme, cu ajutorul calculatorului electronic.
Un program reprezint o succesiune de instruciuni i
comenzi aparinnd unui/unor limbaje de programare,
(Pascal, Basic, C, Basic, Java, etc) care conduc la
soluionarea problemei formulate. Calculatorul va
efectua aceste comenzi n ordinea stabilit de
programator, pentru a obine rezultatele dorite, n forma
de prezentare cerut.
NOIUNEA DE ALGORITM
ALTE EXEMPLE
Fiecare dintre noi cunoatem o serie de
algoritmi, cum ar fi:
Algoritmul mpririi a dou numere;
Algoritmul extragerii rdcinii ptrate a unui
numr;
Algoritmul rezolvrii ecuaiei de gradul I, II;
NOT
Orice algoritm pornete de la anumite date
iniiale (informaia iniial), pe care le
prelucreaz dup anumite reguli precizate
de nsui algoritmul respectiv, n vederea
obinerii unei informaii finale (rezultate
finale), trecnd printr-un ir de informaii
intermediare
(numite
rezultate
intermediare).
NOT.
n multe cazuri, algoritmul are un neles
similar cu reet, metod, tehnic sau
procedeu de calcul.
Un algoritm, odat gndit, trebuie descris,
prezentat ntr-o form acceptat de ceilali
parteneri, sau, dup caz, de calculator
(atunci cnd privete prelucrarea automat
a datelor cu calculatorul electronic).
DESCRIEREA ALGORITMILOR
Descrierea unui algoritm poate fi fcut:
n limbaj natural;
Sub form grafic, prin scheme logice sau
diagrame de structur;
Cu ajutorul tabelelor de decizie, pentru probleme
de deciziii multiple;
Printr-un limbaj pseudocod (limbaj algoritmic);
Printr-un limbaj de programare.
PROPRIETILE ALGORITMILOR
Orice algoritm trebuie s aib urmtoarele
proprieti fundamentale, denumite i
proprieti de baz ale algoritmilor:
generalitatea;
finitudinea;
determinismul;
unicitatea;
claritatea, precizia;
GENERALITATEA
Generalitatea const n aceea c un
algoritm nu rezolv n general o singur
problem, o problem particular
concret, ci o clas de probleme de
acelai tip.
Cu alte cuvinte, algoritmul trebuie s se
aplice la date iniiale ce pot varia ntre
anumite limite precizate.
EXEMPLU (generalitate):
FINITUDINEA
Finitudinea presupune c dup execuia
unui anumit numr transformri asupra
datelor iniiale, s poat fi obinut soluia
final.
n caz contrar, algoritmul va permite efectuarea
la infinit a transformrilor asupra datelor
iniiale sau intermediare se spune atunci
c algoritmul cicleaz, este deci incorect.
EXEMPLU (finitudine):
Dac se cere nsumarea elementelor unui vector
pn cnd suma este egal cu 150, este posibil,
n cazul n care vectorul are numai elemente cu
valori negative sau nule, s nu fie atins
niciodat valoarea dat. De aceea, trebuie s
avem n vedere, la stabilirea algoritmului de
rezolvare a problemei, toate posibilitile de
prezentare a datelor iniiale i s identificm
soluii de finalitate (de sfrit) a algoritmului n
acest caz la atingerea sumei cerute sau la
terminarea parcurgerii vectorului
DETERMINISMUL
EXEMPLU (determinism):
Pentru rezolvarea ecuaiei ax2 + bx + c = 0 , se
vor avea n vedere, la stabilirea algoritmului,
toate situaiile care pot s apar:
- variabilele a, b, sau c s fie nule sau nu
- discriminantul s fie mai mic ca 0, egal sau
mai mare ca 0.
Algoritmul trebuie s trateze i s rezolve corect
toate situaiile posibile care pot s apar.
UNICITATEA
Unicitatea se refer la faptul c
transformrile, precum i ordinea lor, prin
care se trece de la o anumit informaie
iniial la informaia final, sunt univoc
determinate de regulile algoritmului.
Aceasta nseamn, c nu este posibil ca,
aplicnd un algoritm asupra unei aceleai
informaii de mai multe ori, s obinem
rezultate diferite.
CLARITATEA, PRECIZIA
OBSERVAIE:
Un procedeu de calcul care are toate
caracteristicile algoritmilor, dar nu se termin
ntr-un numr finit de pai se numete
metod de calcul.
De exemplu, metoda prin care transformm un
numr raional sub form de numr zecimal,
caz n care obinerea zecimalelor poate s
nu se sfreasc niciodat.
INIIALIZAREA
Iniializarea are rolul de a furniza (a citi) datele
iniiale ce se vor prelucra i eventualele valori
iniiale ale unor variabile ce-i modific valoarea
pe parcursul execuiei prelucrrilor;
Un algoritm are zero sau mai multe date de
intrare (date iniiale).
Intrrile sunt variabilele crora trebuie s li se
atribuie valori luate dintr-o mulime bine
precizat, nainte ca execuia algoritmului s
nceap.
PRELUCRAREA
Prelucrarea
nseamn
de
fapt
transformrile (prelucrrile) efective ale
datelor iniiale (calcule, decizii, alte
transformri) cu scopul obinerii soluiilor
finale.
Ea este prezentat prin succesiunea de
operaii ce trebuie executat asupra
datelor de intrare pentru a ajunge la
soluia final.
seminumerici, formali,
combinatoriali, neuronali, de cutare, de
sortare, recursivi, de rescriere, secveniali,
paraleli, determiniti, nedeterminiti,
probabiliti, aleatori, euristici, de tip Monte
Carlo, genetici, de simulare, computational
geometry, etc.
Nota:
ntreaga
Atentie programatori!
Rezolvarea teoretic a unei probleme nu
garanteaz i rezolvarea ei practic cu calculatorul.
n general, un limbaj de programare este destinat
s faciliteze rezolvarea unor anumite clase de
probleme i se preteaz mai bine anumitor tipuri de
algoritmi.
Este nevoie de experien n utilizarea i
cunoaterea calculatorului, de competen i
intuiie, este nevoie de inspiraie i creaie.
Faze - continuare
Faze - continuare
5. testarea i depanarea verificarea execuiei
programului cu diverse seturi de date de intrare
pentru a putea rspunde rezolvrii oricrei
probleme pentru care aplicaia a fost elaborat;
6. actualizarea i ntreinerea adaptarea
soluiilor implementate pentru eliminarea erorilor
n rezolvarea unei anumite probleme i
compatibilitatea cu sistemul de calcul i sistemul
de operare folosite