Razumijevanje programa prosječnog korisnika vrlo je ograničeno i temelji se na iskustvu pokretanja i rada u aplikacijama. Znamo da postoje programeri koji pišu programe, a naš posao je iskoristiti rezultate njihovog rada. Ljudi koji su prije nekog vremena završili školu sjećaju se algoritama u kontekstu teorije algebre, maglovito zamišljajući da to znanje zasigurno neće biti od koristi. A ako se moramo suočiti sa sjecištem ovih pojmova, većina nas je izgubljena, ne pronalazeći veze između algoritama i programa, te, prema tome, ne razumijevajući sadašnji zadatak. Ponekad se ti pojmovi kombiniraju, s obzirom na to da je "algoritam" stručnija i točnija oznaka "programa". Da bismo popunili praznine u pogledima, pogledajmo što stoji iza terminologije.
Definicija
Algoritam je uputa koja uključuje određeni jasan redoslijed radnji koje se izvode za izvršavanje zadatka. Broj radnji uvijek je konačan.
Program (prije svega računalo) - zapis niza uputa koje izvršava računalo.
Usporedba
Koja je razlika između algoritma i programa jasno je već iz terminologije. Čini se da u oba slučaja vidimo uredne radnje koje vode do konačnog rezultata. Kao što je jasno iz definicija, program se može sastojati od nekoliko algoritama, ali se ovdje ne može pratiti "opća - posebna" hijerarhija. Algoritam je općenito svaka uputa koja jasno navodi radnje. Na primjer, za sastavljanje ormara. Naravno, to neće biti program. Algoritam može postojati u bilo kojem obliku: može se zapamtiti, zapisati u bilježnicu, skicirati u obliku dijagrama, diktirati, budući da se temelji na logičkoj komponenti, a ne na formalnoj. Program je formalni koncept. To je upravo zapis niza algoritama i zapis u jednom od programskih jezika koje računalo može razumjeti. To može biti ne samo naše uobičajeno računalo, već i upravljačka jedinica bilo kojeg uređaja. Dakle, algoritam se može definirati kao metoda ili shema za provedbu ideje, program kao njegova implementacija posebnim sredstvima.
Druga razlika između programa i algoritma je rad određenih podataka u procesu izvršenja. Ako je algoritam samo opis radnji potrebnih za postizanje cilja, tada program sadrži i opis podataka. Algoritam može biti masivan, odnosno može biti dizajniran za rješavanje ne jednog problema, već klase problema. U isto vrijeme, diskretnost i izvjesnost odnose se i na njegova svojstva. Algoritam podrazumijeva izvođenje elementarnih radnji nad elementarnim objektima, međutim, elementarnost će biti različita za različite izvođače.
Koncept algoritma mnogo je širi od programa: osnovni pojam matematike. Računalni program podliježe pravima intelektualnog vlasništva, ali algoritam se na njega ne odnosi.
Zaključci TheDifference.ru
- Algoritam je instrukcija, program je zapis niza uputa.
- Algoritam se može predstaviti u bilo kojem obliku, program - u programskom jeziku.
- Program uključuje opis podataka i radnji, algoritam - samo radnje.
- Algoritam se može dizajnirati za rješavanje klase problema.
- Algoritam je osnovni pojam matematike.
- Program podliježe autorskim pravima.