Sunteți pe pagina 1din 3

Algoritm

i
Un algoritm (cuvântul are ca origine numele matematicianului persan Al-
Khwarizmi) înseamnă în matematică și informatică o metodă sau o procedură
de calcul, alcătuită din pașii elementari necesari pentru rezolvarea unei
probleme sau categorii de probleme. De obicei algoritmii se implementează în
mod concret prin programarea adecvată a unui calculator, sau a mai multora.
Din diverse motive există și algoritmi încă neimplementați, teoretici. 
Algoritmul este noțiunea fundamentală a informaticii. Totul este construit în
jurul algoritmilor (și a structurilor de date, cum ar fi listele sau grafurile). Este și
un concept fundamental al matematicii moderne alături de cel de sistem
axiomatic. 
Exemple de algoritmi: 
  Date de intrare                              Date de ieșire 
             ingrediente                                                      mâncare 
          lemn                                                      mobilă     
          material textil                                      haine      
Caracteristici: 
Finititudinea- proprietatea algoritmului de a furniza rezultatele într-un timp
finit. 
      Claritatea-procesul de calcul este descris precis fără ambiguități  
      Generalitatea-rezolva o întreagă clasă de probleme 
      Corectitudinea-furnizează o soluție corectă a problemei 
      Verificativitatea-permite ca fiecare pas să poată fi verificat într-un timp
rezonabil. 
      Optimalitatea- se termină după un număr minim de pași 
      Eficiența- se termină nu numai într-un număr finit ci și rezonabil. 
Etapele rezolvării problemelor: 
 1. Analiza problemei in scopul stabilirii datelor de intrare, precum si a
rezultatelor pe care trebuie sa le obținem prin rezolvarea problemei. 
 2. Elaborarea unui algoritm de rezolvare a problemei. 
3. Implementarea algoritmului într-un limbaj de programare. 
4. Verificarea corectitudinii algoritmului propus. Un prim pas consta in
testarea programului pe diverse seturi de date de test. Seturile de date de test
trebuie elaborate cu atenție, astfel încât sa acopere, pe cat posibil, toate
variantele de execuție a algoritmului, inclusiv situații de excepție, si sa verifice
daca fiecare subproblema a problemei date este rezolvata corect (daca este
posibil, se va testa separat fiecare modul de program). Testarea poate pune in
evidenta, eventual, omisiuni sau erori de concepție a algoritmilor, dar nu
garantează corectitudinea algoritmului. Pentru aceasta ar trebui sa testam
algoritmul pe toate seturile posibile de date de intrare, ceea ce este practic
imposibil. Din acest motiv se impune utilizarea unor metode formale de
demonstrare a corectitudinii algoritmului, etapa de obicei deosebit de
laborioasa, necesitând un aparat matematic complex. 
5. Analiza complexității algoritmului. In general, exista mai mulți algoritmi de
rezolvare a unei probleme date. Pentru a alege cel mai bun algoritm, trebuie sa
analizam acești algoritmi in scopul determinării eficientei lor si, pe cat posibil, a
optimalității lor. Eficienta unui algoritm se evaluează din doua puncte de
vedere: 
  1. din punctul de vedere al spațiului de memorie necesar pentru memorarea
valorilor variabilelor care intervin in algoritm; 2. din punctul de vedere al
timpului de execuție. 
    2. din punctul de vedere al timpului de execuție. 

Operațiile pe care le efectuează un algoritm:


1. Operatii de intrare / iesire

-Pentru operația de intrare(citire) folosim READ.


- Pentru operația de ieșire(scriere) folosim WRITE.
2.Operații de atribuire 3. Operații de decizie
ie Prin operatia de atribuire se retine o anumita data intr-o variabila. Ea are
mai multe forme, pe care le vom prezenta pe rand.
Formă generală: v <– data
3. Operații de decizie
Se determină valoarea de adevăr a unei expresii logice şi, în funcţie de
rezultatul obţinut, se ramifică rezultatul algoritmului.
Operația de decizie este IF.
-then: operație 1
-else: operație 2
Principiul de execuție:
1. Se evaluează expresia logică.
2. Dacă expresia logică este TRUE atunci se execută operația 1 ,altfel ( dacă
este falsă) se execută operația 2.

Structuri: 
1. Structura lineară
Structura liniară este reprezentată de instrucțiuni care se execută la fel la fiecare
executare a programului (sau a secvenței de program), indiferent care sunt valorile
variabilelor cu care se lucrează.

2. Structura alternativă
Structura alternativă (decizională) execută un anumit set de instrucțiuni dacă o
condiție este îndeplinită, altfel execută alt set de instrucțiuni. 
3. Structura repetitivă

Structura repetitivă este un set de instrucțiuni care se repetă până când o condiție


nu mai este îndeplinită. Structura repetitivă poate fi:

1. Structură repetitivă cu test inițial

2. Structură repetitivă cu test final

3. Structură repetitivă cu un număr cunoscut de pași (sau structura repetitivă cu


contor)
Structura repetitivă cu test inițial are specificul de a verifica o condiție înainte de
a executa primul ciclu de instrucțiuni.
Structura repetitivă cu test final execută o dată setul de instrucțiuni din cadrul
structurii, apoi verifică validitatea condiției. Putem să spunem că structura
repetitivă cu test final este invers decât structura repetitivă cu test inițial.
Structura repetitivă cu un număr cunoscut de pași (sau structura repetitivă cu
contor) execută un set de instrucțiuni de un număr fix de ori. De exemplu, pentru
aflarea numărului de cifre ale unui număr nu cunoaștem numărul de pași, însă
pentru suma primelor n numere naturale se cunosc numărul de pași: n. O
structură repetitivă cu număr cunoscut de pași are nevoie de 3 parametri:
variabila contor (de obicei se folosește i, iar la nevoie se folosesc și j, k și l),
condiția de încheiere a buclei și pasul de incrementare sau decrementare a
variabilei contor.

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