|
Apari?ia primelor calculatoare electronice a constituit un salt uria? īn direc?ia automatiz?rii activit??ii umane. Nu exist? ast?zi domeniu de activitate īn care calculatorul s? nu ī?i arate utilitatea.
Calculatoarele pot fi folosite pentru a rezolva probleme, numai dac? pentru rezolvarea acestora se concep programe corespunz?toare de rezolvare. Termenul de program (programare) a suferit schimb?ri īn scurta istorie a informaticii. Prin anii '60 problemele rezolvate cu ajutorul calculatorului erau simple ?i se g?seau algoritmi nu prea complica?i pentru rezolvarea lor. Prin program se īn?elegea rezultatul scrierii unui algoritm īntr un limbaj de programare. Din cauza cre?terii complexit??ii problemelor, ast?zi pentru rezolvarea unei probleme adesea vom concepe un sistem de mai multe programe.
Dar ce este un algoritm? O defini?ie matematic?, riguroas?, este greu de dat, chiar imposibil? f?r? a introduce ?i alte no?iuni. Vom īncerca īn continuare o descriere a ceea ce se īn?elege prin algoritm.
Ne vom familiariza cu aceast? no?iune prezentānd mai multe exemple de algoritmi ?i observānd ce au ei īn comun. Cel mai vechi exemplu este algoritmul lui Euclid, algoritm care determin? cel mai mare divizor comun a dou? numere naturale. Evident, vom prezenta mai mul?i algoritmi, cei mai mul?i fiind lega?i de probleme accesibile absolven?ilor de liceu.
Vom constata c? un algoritm este un text finit, o secven?? finit? de propozi?ii ale unui limbaj. Din cauz? c? este inventat special īn acest scop, un astfel de limbaj este numit limbaj de descriere a algoritmilor. Fiecare propozi?ie a limbajului precizeaz? o anumit? regul? de calcul, a?a cum se va observa atunci cānd vom prezenta limbajul Pseudocod.
Oprindu-ne la semnifica?ia algoritmului, la efectul execu?iei lui, vom observa c? fiecare algoritm define?te o func?ie matematic?. De asemenea, din toate sec?iunile urm?toare va reie?i foarte clar c? un algoritm este scris pentru rezolvarea unei probleme. Din mai multe exemple se va observa īns? c?, pentru rezolvarea acelea?i probleme, exist? mai mul?i algoritmi.
|