Algoritmul este un ansamblu de reguli de prelucrare, mpreun cu ordinea n care se succed
n vederea soluionrii unui tip de probleme. Algoritmul este format din o serie de pasi astfel incat plecand de la date de intrare sa se obtina date de iesire(rezultate) folosind eventual si date intermediare. EX : Realizarea unei retete culinare EX : Algoritmul lui Euclid de determinare a cmmdc a doua numere EX: Ciurul lui ERATOSTENE are ca efect obinerea tuturor numerelor prime mai mici sau egale cu un numr natural n 2. Metoda const n: - se pornete de la primul numr din ir 2 care este un numr prim i se nltur din ir toate numerele care i snt multiplii; - se trece la urmtorul numr din ir (din cele rmase) i se elimin toi multiplii acestuia din ir; - se continu pn se ajunge la cel mai mare numr prim n ( sqrt(n) ) ; - numerele rmase n ir constituie mulimea numerelor prime cutate. EX concret : n = 26 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 Proprietile pe care trebuie s le ndeplineasc un algoritm(ca s fie bine ntocmit) sunt: Finititudine: proprietatea algoritmilor de a furniza rezultate ntr-un timp finit. - e caractreristica algoritmilor de a se termina dup un anumit numr de pai; 2. Claritatea: proprietatea prin care un algoritm este descris precis i fr ambiguiti. - este acea proprietate prin care paii algoritmilor i succesiunea executrii lor trebuie s fie descrise clar, precis, fr ambiguiti 3. Generalitate: proprietatea algoritmilor de a rezolva o ntreag clas de probleme; - este acea proprietate a algoritmilor prin care indiferent de datele de intrare, algoritmul trebuie s furnizeze o soluie; 4. Eficiena (Unicitatea): pentru mai multe metode de rezolvare a unei probleme se alege algoritmul cel mai performant. - e proprietatea conform creia pentru aceleai date de intrare se obine aceeai soluie; 1.
Etapele rezolvarii unei probleme :
1. Analiza problemei: presupune stabilirea datelor de intrare ale problemei (datele iniiale pentru care trebuie s se specifice denumirea, natura, domeniul de valori posibile), a datelor de ieire care reprezint rezultatele problemei i funcia programului, adic descrierea precis a ceea ce trebuie s realizeze programul. EX: S se scrie un program care calculeaz viteza cu care merge un automobil cunoscndu-se distana i timpul. Date de intrare: distana i timpul care sunt valori ntregi; Date de ieire: viteza automobilului; Funcia programului: preia de la tastatur distana i timpul, calculeaz viteza i o afieaz pe ecran. 2. Determinarea algoritmului de rezolvare a problemei specific operaiile (paii) pe care i are de fcut calculatorul pentru ca pornind de la datele de intrare s obin datele de ieire.
EX: - problema de la etapa anterioar;
Pas 1: se introduce de la tastatur valorile lui d i t; Pas 2: se verific dac t nu este 0; Pas 3: se calculeaz viteza: v=d/t; Pas 4: se tiprete pe ecran valoarea lui v; 3. Construirea programului de aplicaie const n transcrierea algoritmului ntr-un limbaj de programare, operaie care se numete implementare. (Pascal, C, Basic, etc) 4. Verificarea i definitivarea programului de aplicaie presupune supunerea programului unor teste pentru mai multe seturi de date ct mai diferite i acoperind toate cazurile de excepie. 5. ntreinerea i dezvoltarea aplicaiei presupune utilizarea efectiv a programului i pe msur ce apar date noi referitoare la problem, modificarea corespunzatoare a acestuia. Cerine pentru o aplicaie: interfaa prietenoas, protecie fa de date incorecte, optimalitate.