Ideje o programih povprečnega uporabnika so zelo omejene in temeljijo na izkušnjah s zagonom in delom v aplikacijah. Vemo, da obstajajo programerji, ki pišejo programe, naša dejavnost pa je, da izkoristimo rezultate svojega dela. Ljudje, ki so že davno končali šolo, se spominjajo algoritmov v kontekstu teorije algebre in si domišljajo, da to znanje zagotovo ni koristno. In če se boste morali spoprijeti s presečiščem teh konceptov - večina nas se izgubi, ne da bi našla povezave med algoritmi in programi, torej brez razumevanja naloge. Včasih se ti koncepti kombinirajo, saj menijo, da je algoritem bolj strokovno in natančno poimenovanje programa. Če želite zapolniti vrzeli v pogledih, poglejmo, kaj vse še stoji za terminologijo.
Opredelitev
Algoritem - navodila, vključno z določenim jasnim postopkom za izvedena dejanja za dokončanje naloge. Število dejanj je vedno končno..
Program (najprej računalnik) - snemanje zaporedja navodil, ki jih izvede računalnik.
Primerjava
Kakšna je razlika med algoritmom in programom, je že jasno iz terminologije. Zdi se, da v obeh primerih vidimo urejena dejanja, ki vodijo do končnega rezultata. Kot je razvidno iz definicij, je program lahko sestavljen iz več algoritmov, vendar hierarhija "splošno - posebno" tukaj ni. Algoritem je na splošno vsako navodilo, ki jasno navaja dejanja. Na primer za sestavljanje omare. Seveda to ne bo program. Algoritem lahko obstaja v kakršni koli obliki: lahko si ga zapomnimo, zapišemo v zvezek, skiciramo v obliki diagrama, narekujemo, saj temelji na logični komponenti, ne na formalni. Program je formalni koncept. To je zapis niza algoritmov, poleg tega pa zapis v enem od programskih jezikov, ki ga računalnik razume. To je lahko ne le naš znani računalnik, ampak tudi krmilna enota katere koli naprave. Tako je algoritem mogoče definirati kot metodo ali shemo izvajanja ideje, program kot njegovo izvajanje s posebnimi sredstvi.
Druga razlika med programom in algoritmom je ravnanje s posebnimi podatki med izvajanjem. Če je algoritem le opis dejanj, potrebnih za dosego cilja, potem program vsebuje tudi opis podatkov. Algoritem je lahko množičen, torej namenjen reševanju ne ene težave, temveč razreda nalog. Hkrati pa se njenim lastnostim pripisujejo tudi diskretnost in gotovost. Algoritem pomeni izvajanje elementarnih dejanj na elementarnih predmetih, vendar bo za različne izvajalce elementarnost drugačna.
Koncept algoritma je veliko širši od programa: osnovni koncept matematike. Računalniški program je predmet prava intelektualne lastnine, vendar algoritem za to ne velja.
Sklepi
- Algoritem - navodilo, program - snemanje zaporedja navodil.
- Algoritem je lahko predstavljen v kateri koli obliki, program v programskem jeziku.
- Program vključuje opis podatkov in dejanj, algoritem - samo dejanja.
- Algoritem lahko oblikujemo za reševanje težav.
- Algoritem je osnovni koncept matematike.
- Za program veljajo avtorske pravice.