Un algoritm (cuvântul are la 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.
Algoritmul este noțiunea fundamentală a informaticii. Totul este
construit în jurul algoritmilor.
Câteva exemple de algoritmi:
algoritmul de construcție a unui automobil (urmărind procedeele și
schițele de fabricație); algoritmul de folosire a unei mașini-unelte (citind manualul de folosire); algoritmul de explorare a unui labirint în vederea găsirii unei ieșiri (una din soluții: se ține o mână pe perete și se merge fără a o dezlipi de acesta).
Proprietăți
Cele mai importante proprietăți ale unui algoritm, îndeplinite de diverșii
algoritmi într-o măsură mai mare sau mai mică, sunt următoarele:
Caracterul finit: orice algoritm bine proiectat se termină într-un număr
finit de pași; Claritatea: algoritmul trebuie descris clar, fără ambiguități Generalitatea: orice algoritm trebuie să rezolve toate problemele dintr-o clasă de probleme; Completitudinea: presupune tratarea cazurilor speciale (a excepțiilor) unei probleme. Realizabilitatea: orice algoritm trebuie sa poată fi codificat într-un limbaj de programare; Eficiența: se referă la timpul de execuție (în care sunt folosite resursele calculatorului: memorie, procesor) și la spațiul de memorie utilizat. Un algoritm este cu atât mai eficient cu cât spațiul de memorie utilizat este mai mic și numărul de operații mai puține. Colegiul Național „Calistrat Hogaș” Piatra-Neamț
Etapele rezolvării unei probleme:
- stabilirea cerințelor problemei
- stabilirea datelor de intrare și a datelor de ieșire - stabilirea unui raționament general de rezolvare a problemei - reprezentarea algoritmului problemei într-o formă simplă și clară - verificarea raționamentului pentru valori concrete - implementarea algoritmului într-un limbaj de programare