Algoritmas: Skirtumas tarp puslapio versijų

Ištrintas turinys Pridėtas turinys
Felicilijonas (aptarimas | indėlis)
Eilutė 1:
'''Algoritmas''' ({{la|algorismus}} < ''Algorithmi'' < [[аrabų kalba|arab.]] [[Al Chorezmi]])  – tai tam tikra veiksmų seka, kurią reikia atlikti norint pasiekti tam tikrą rezultatą.
 
Algoritmo koncepciją iliustruoja paprasčiausias kiaušinių išvirimo [[receptas]], kuris galėtų būti toks:
Eilutė 5:
;Algoritmo pradžia.
* paimti puodą (sąlyga: kad tilptų vandens apsemti n kiaušiniai);
* į puodą įdėti n sveikų kiaušinių (jeigu netelpa n kiaušinių  – paimti didesnį puodą arba sumažinti kiaušinių kiekį n-1);
* pripilti vandens;
* uždėti puodą ant viryklės;
* įjungti viryklę;
* virti (jeigu norime skystai virto kiaušinio  – 5 minutes, jei kietai  – 15 minučių).
* išjungti viryklę
* nuimti puodą
Eilutė 17:
;Algoritmo pabaiga.
 
== TURNIKASPanaudojimas ==
Dažniausiai algoritmo sąvoka naudojama [[Informatika|informatikoje]] užrašant kompiuterines [[Programinė įranga|programas]]. Tokiu atveju algoritmų užrašymui naudojami įvairūs susitarimai  – [[Programavimo kalba|programavimo kalbos]]. Dažniausiai mokymosi tikslams naudojama [[Pascal]] [[programavimo kalba]] arba pseudokalba, kai norime algoritmą publikuoti viešai.
 
== Algoritmas kasdieniniame gyvenime ==
Eilutė 34:
# kiekvienam žingsniui atlikti turi pakakti baigtinio laiko ir baigtinių resursų, t. y. kiekvienas žingsnis turi būti toks, kad jį būtų galima atlikti.
 
Reikalavimai 4-5 garantuoja, kad algoritmas bus baigtas baigtiniu laiku ir su baigtiniais resursais. Algoritmai, tenkinantys tik sąlygas 1-3, vadinami daliniais (angl. partial) algoritmais, o tenkinantys visas penkias sąlygas  – pilnais (angl. total) algoritmais.
 
== Algoritmo vykdymas ==
Parašytas algoritmas yra perduodamas vykdytojui. Vykdytojas gali realizuoti algoritmą, jei yra tam tinkama aplinka. To paties algoritmo efektyvumas (greičio, atminties, patogumo vartotojui ar kitu parametru atžvilgiu) dažniausiai priklauso nuo pasirinktos aplinkos ir sprendimo metodo.
 
Sudėtingesnių algoritmų sukūrimas, aprašymas bei įdiegimas dažniausiai yra nelengvas darbas, reikalaujantis specialių žinių. Tačiau jų kainą gana greitai atsiperka, jei įdiegti algoritmai vykdomi daug kartų. Vienam vykdytojui algoritmas gali būti aiškus ir nedviprasmiškas, o kitam  – visai nesuprantamas. Nuo vykdytojo tiesiogiai priklauso, kokius primityvus galima naudoti, apibrėžiant veiksmus. Jei vykdytojas ne žmogus, algoritmą reikia pateikti specifine, tam vykdytojui priimtina forma, pavyzdžiui, specialia algoritmine kalba. Jei mes turime algoritmą, išreikštą vykdytojo operacijomis, tai jį užrašyti ar perrašyti vienokia ar kitokia kalba nėra sudėtinga.
 
Informatikoje kaip vykdytojas dažniausia - – kompiuteris. Pagrindinės idėjos:
# kompiuteriai apdoroja duomenis, išreikštus simboliais;
# jie kontroliuojami instrukcijomis, kurios ir sudaro algoritmą;
Eilutė 56:
arba paaiškinimą, kodėl jis negautas.
* Aiškumas: algoritmas turi būti pateikiamas taip, kad jį visi vienareikšmiškai suprastų.
* Universalumas: algoritmas turi tikti bet kokiems duomenimis.''Paprastas pavyzdys  – elektroninio laiško kūrimas: pradiniai duomenys  – reikia turėti adresą A,
reikia turėti laišką L, gali būti ir laiško priedai P. Rezultatas R bus arba išsiųstas, arba neišsiųstas laiškas. O neišsiųsti laiško galime tuo atveju, jei nebus internetinio ryšio.
 
Eilutė 86:
atliekamų žingsnių skaičius turi būti baigtinis, t. y. algoritmas turi tikrai baigti darbą;
kiekvienam žingsniui atlikti turi pakakti baigtinio laiko ir baigtinių resursų, t. y. kiekvienas žingsnis turi būti toks, kad jį būtų galima atlikti.
Reikalavimai 4-5 garantuoja, kad algoritmas bus baigtas baigtiniu laiku ir su baigtiniais resursais. Algoritmai, tenkinantys tik sąlygas 1-3, vadinami daliniais (angl. partial) algoritmais, o tenkinantys visas penkias sąlygas  – pilnais (angl. total) algoritmais.
 
== Algoritmų dizaino paradigmos ==