Vsak dan izvajamo različna opravila. Primeri opravil so umivanje, nabavljanje živil v trgovini, kuhanje kosila, igranje inštrumenta itd. Ko smo se rodili, teh opravil še nismo poznali. Starši so nas seznanili z osnovnimi opravili (npr. umivanjem zob, hojo, igrami z žogo, itd.). Z nekaterimi opravili smo se srečali v šoli (npr. pisanje, reševanje matematičnih nalog, igranje inštrumenta itd.). Pri izvajanju opravil smo naleteli na probleme, ki smo razdelili v takšne podprobleme, ki smo jih lahko rešili z našim poznavanjem problematike (znanjem o reševanju problemov). Primer problema, ki ga majhen otrok ne zna sam rešiti, je priti do predmeta, ki je višje, kot ga otrok lahko doseže. Če hoče otrok priti do predmeta, si mora najprej postaviti stol na mesto, kjer bo lahko dosegel predmet, nato stopiti na stol, vzeti predmet, skočiti iz stola in pospraviti stol. Če bi enako nalogo reševal robot, ki ga krmili računalniški program, bi moral izvesti enak postopek. Postopek torej sestavlja zaporedje korakov, ki vodijo k rešitvi zadanega problema. To zaporedje korakov lahko zapišemo z algoritmom.
Algoritem predstavlja seznam navodil za izvedbo opravila. V algoritmu definiramo zaporedje akcij (ali postopkov) nad podatki, da dosežemo želen rezultat (v našem primeru primemo želeni predmet). Če hočemo, da bo opravilo reševal računalnik, moramo algoritem napisati dovolj natančno in nedvoumno, da ga bo lahko rešil z ukazi, ki jih ima na voljo. Predvideti moramo vse možne situacije (npr. za prejšnji primer bi morali predvideti možnost, da je stol v drugem prostoru, do katerega lahko pridemo po stopnicah). Algoritem mora torej enolično opredeliti, končno zaporedje akcij, s katerimi dosežemo želeni cilj.
Poglejmo primer algoritma, s katerim opišemo opravilo, ki je vezano na pripravo in zaužitje kosila:
Zgoraj opisane korake je potrebno opisati podrobneje. Algoritem, v katerem opišemo postopek kuhanja zelenjavne juhe je naslednji:
Iz zgoraj prikazanega algoritma lahko ugotovimo, da moramo za vsak algoritem definirati kaj je vhod, kaj je rezultat in katere korake moramo izvesti da pridemo do želenega rezultata. V našem primeru je vhod v algoritem zelenjava in voda, rezultat pa zelenjavna juha. Korake priprave zelenjavne juhe izvajamo na štedilniku, kjer se juha kuha 20 minut. Za pripravo juhe potrebujemo posodo, v katero po potrebi dolivamo vodo.
Algoritem je zapis zaporedja navodil, s katerim izvedemo zadano opravilo. Algoritem nam korak za korakom pove, kako rešiti dani problem. Za dani problem v splošnem obstaja veliko algoritmov, ki določijo postopek, s katerim rešimo problem.
Glavne lastnosti vsakega algoritma naj bodo:
Odgovorite na na naslednji vprašanji:
Kateri dve trditvi predstavljata definicijo pojma algoritem?
Namig: Odkljukati je potrebno 2 alineji
Katere lastnosti mora imeti dober algoritem?
Namig: Odkljukati je potrebno 6 alinej