Algoritmi - uopšteno

Algoritam je precizno definisan postupak (plan) za rešavanje određenog problema na računaru pa, shodno tome, možemo reći da program predstavlja realizaciju (ostvarenje) algoritma.

Da bi se određeni postupak za rešavanje problema zaista mogao nazvati algoritmom, mora zadovoljiti sledeće kriterijume:

1. Algoritam mora biti konačan (mora se sastojati iz konacnog broja koraka).

Smatramo da je ovaj korak jasan sam po sebi, ali ćemo se kasnije u tekstu ovime ipak pozabaviti detaljinje.

2. Svaki korak algoritma mora biti ostvariv (na računaru) i precizno definisan.

Postupci ili pojedinacni koraci koji samo deluju "lepo" i "zanimljivo", ali nisu zapravo ostvarivi, ne predstavljaju algoritam, ili deo algoritma.

Pojedinacni koraci u algoritmima moraju (bar približno) odgovarati instrukcijama programskog jezika koji se koriste za realizaciju algoritma.

3. Algoritam mora biti efikasan .... ili bi bar trebalo da bude (što efikasniji).

Napisali smo u prethodnom članku o osnovama programiranja (Šta je zapravo programiranje - članak), da računari raspolažu memorijom i izvršavaju instrukcije izrazito velikom brzinom. Istina je da su memorijski kapacitet i brzina izvršavanja instrukcija današnjih računara znatni (čak i onih skromnijih), mnogo veći nego ranije i da većina jednostavnijih programa funkcioniše lagodno u okviru ovih kapaciteta. Ali, kada su u pitanju komplikovaniji programi, priča je ipak drugacija! Komplikovaniji programi i dalje zahtevaju veliku pažnju pri korišcenju resursa i ovo je nešto o cemu programeri itekako moraju voditi računa (i nešto o čemu će programeri još dugo morati da vode računa)!

Kao ilustraciju svega navedenog, možete (kasnije) pročitati članak o Binarnom Stablu Pretrage u Sekciji Učionica na našem sajtu.

4. Algoritam može imati jedan ili više ulaznih podataka (ne mora obavezno, ili bar, ne moramo mi kao korisnici direktno unosititi te podatke), ali mora imati bar jedan izlazni podatak.

Sasvim je moguce napisati program koji će izračunati zbir dva broja, pri čemu nam neće nikako prikazati rezultat, ali, pretpostavljamo da je jasno zašto to nećemo raditi.

Takođe, osvrnimo se na to da program ne mora prikazivati rezultat svakog (pomoćnog) izračunavanja, niti mora prikazati rezultat direktno na ekranu (vec ga može, recimo, smestiti u neku datoteku), ali mora ga smestiti negde i nekako.

U početnim fazama učenja programerskih veština, polaznici često mešaju pojam algoritma sa dijagramima toka.

Gradivo iz ove sekcije detaljno se izučava u I godini školovanja, a o tome šta su dijagrami toka, možete procitati u članku o dijagramima toka (Dijagrami toka - članak).

Napomena: Tekstovi i slike na sajtu www.skola-programiranja.rs (osim u slučajevima pojedinih fotografija, gde je drugačije navedeno) predstavljaju intelektualnu svojinu autora sajta www.skola-programiranja.rs i zabranjeno je njihovo korišćenje na drugim sajtovima i štampanim medijima, kao i bilo kakvo korišćenje u komercijalne svrhe, bez eksplicitnog odobrenja autora i Računarskog centra SystemPro. ©SystemPro d.o.o. novembar 2019.
Autor članka Nikola Vukićević Za web portal www.skola-programiranja.rs Preuzeto sa sajta www.codeblog.rs uz odobrenje autora
Podelite sa prijateljima: