Algoritmo samprata ir jo ypatybėsatstovauti vienai svarbiausių sąvokų informatikoje. Daugybė žmonių, kompiuterinių technologijų amžiuje, galvoja apie tai, kas tai yra, ir dėl vienų ar kitų priežasčių pamažu pradeda gilintis į informatikos pagrindus, o šiuolaikinė karta peržiūri šią medžiagą jau šeštoje klasėje.
Kokia yra algoritmo samprata ir algoritmo savybės?
Algoritmas yra tam tikra veiksmų seka, tai yra, iš esmės mes turime su jais elgtis kiekvieną dieną, nors mes galbūt net to nežinome.
Pavyzdžiui, jei paklaustume vieno iš savo nariųšeimoms ką nors nusipirkti parduotuvėje, mes nustatome veiksmų algoritmą, tai yra, mes išsamiai papasakojame, kokius konkrečius produktus jums reikia nusipirkti, kokiu kiekiu, taip pat kokie reikalavimai yra keliami kiekvienam iš jų. Tuo pačiu metu, kaip minėta pirmiau, nustatomas aiškus veiksmų algoritmas, pavyzdžiui:
Žinoma, gali atrodyti, kad procedūra yra tokiagana įprastas, o panašus aprašymas yra gana didelis. Tiesą sakant, jei mes kalbame apie algoritmo sąvoką ir algoritmo savybes šiuolaikinėje informatikoje, tada ten pateikiamos instrukcijos gali būti daug išsamesnės, nes aukščiau pateiktas algoritmas yra vienas iš paprasčiausių.
Kiekvienas žmogus nuolatos sprendžia didžiausiąpačių įvairiausių užduočių, turinčių skirtingą sudėtingumą, skaičius, tuo tarpu kai kurios iš jų yra tokios paprastos, kad jos išsprendžiamos visiškai automatiškai, net neįžvelgiant kaip konkrečios užduoties. Pvz .: uždarykite duris raktu, nusiplaukite veidą, papusryčiaukite, pamaitinkite savo šeimą ir pan.
Tačiau yra ir kitų užduočiųtoks sudėtingas, kad jų sprendimas reikalauja ilgo apmąstymo, taip pat nemažų pastangų, norint iš pradžių rasti sprendimą, o tik paskui pasiekti tikslą. Šios užduotys apima: išmokti užsienio kalbą, uždirbti tam tikrą pinigų sumą ir kt. Kitaip tariant, norint atlikti tokias užduotis, reikia daug sudėtingesnių veiksmų, palyginti su tuo, kiek jų reikia atlikti užduotį „nusipirkti duonos“, tačiau iš tikrųjų net pačios paprasčiausios užduotys yra išspręstos keliais etapais.
Konkrečios veiksmų sekos pavidalugalite apibūdinti daugybės problemų, su kuriomis susiduria žmogus kasdieniame gyvenime, sprendimo procedūrą, ir būtent ši seka yra reprezentuojama informatikoje kaip algoritmo samprata ir algoritmo savybės.
Vienas garsiausių iš visų yra vadinamasis Euklido algoritmas, su kuriuo nustatomas didžiausias dviejų skaičių skaičius.
Verta paminėti tai, kadatsižvelgiant į algoritmo sąvoką ir jo savybes, būtina teisingai suprasti ne tik pačius veiksmus, bet ir jų atlikimo tvarką. Iš tiesų, tokios situacijos dažnai būna tada, kai keičiant veiksmų eiliškumą algoritme tam tikromis aplinkybėmis galiausiai gali pasirodyti, kad jis yra neįmanomas. Pvz., Jei einate į parduotuvę, tada algoritmo pradžia bus maždaug tokia:
Arba:
Jei apsvarstysime paskutinį algoritmą, tai šiameŠiuo atveju duona iš pradžių pasirenkama ir tik tada einame į parduotuvę su tiksliau apibrėžta užduotimi, ir jei iš tikrųjų mums reikalingos duonos nėra, tada tokiu atveju mūsų sukurtas algoritmas galiausiai pasirodys neįmanomas.
Algoritmų tipai gali būti šie:
Jų savybės yra šios:
Kai žmogus pamažu gilinasi į informatiką irpagalvoja, kokia yra algoritmo samprata ir jo savybės, tada jis sužino, kad algoritmas, turintis klaidą, tam tikra prasme bus geresnis už veikiantį, tačiau daro neteisingai. Galų gale, jei yra klaida, kompiuteris mus apie tai informuos, o mes vėliau galime ją surasti ir ištaisyti, o jei klaida, dėl kurios algoritmas veikia neteisingai, pasirodo tik retais atvejais, tada šiuo atveju ji gali pasirodyti pats svarbiausias momentas.
Daugeliui žmonių atrodo, kad apdorojama informacijagana paprasta užduotis, bet iš tikrųjų taip nėra, nes pirmiausia reikia bent suprasti, kokia yra algoritmo sąvoka, algoritmo savybės ir jo vykdytojai. Tai visų pirma susiję su algoritmo, reikalingo teisingam informacijos apdorojimui, sudarymu.
Paprasčiausias pavyzdys yrakonkretaus dalyko vartotojo vadovas. Jei jis sudarytas neprofesionaliai, tokiu atveju vartotojas gali paprasčiausiai sulaužyti objektą, nes bus neteisinga jį valdyti arba neišmoks jo dirbti, jau nekalbant apie tai, kad gali būti tam tikrų fizinių sužalojimų, jei kalbame apie rimtą buitį technika.
Daugelis sakys, kad iš tikrųjų nieko nėrasudėtinga sudaryti gatavo įrenginio instrukcijas, tačiau iš tikrųjų taip nėra, nes iš tikrųjų daugumai žmonių daug lengviau ką nors padaryti patiems, nei paaiškinti kitam, kaip tai padaryti.
Pavyzdžiui, beveik kiekvienas studentas gali lengvainaudojasi mobiliuoju telefonu ir visomis jame esančiomis funkcijomis, ir tai atrodo itin paprasta ir intuityvi. Bet iš tikrųjų nėra taip lengva paaiškinti, kaip naudotis mobiliuoju telefonu asmeniui, kuris niekada gyvenime nelaikė šio prietaiso rankose, nes jam kils labai daug klausimų, o kai kurių iš jų net neįtariate. Būtent šioje situacijoje bus sunku viską paaiškinti pagal tai, kokia yra algoritmo sąvoka ir algoritmo savybės. Veiksmų seka bus nesuprantama, ir asmuo negalės jų atlikti taip, kaip reikia įprastam prietaiso veikimui.
Apsvarstykite, kaip tai padarytiarbatos virimo algoritmas kažkokiam robotui, kuris iš principo nieko nežino, o jam visavertis informacijos apie užduotį šaltinis yra algoritmas. Sąvoka, tipai, savybės - mes visi tai žinome, tačiau daugumai žmonių tokio algoritmo mentalinis modelis yra maždaug toks:
Tačiau iš tikrųjų tokio algoritmo bus beveik neįmanoma įvykdyti, nes robotas neturi sveiko proto, o visa ši jo procedūra yra minimalus informacijos rinkinys.
Svarbiausia suprasti, kai svarstoma koncepcijaalgoritmas ir algoritmo savybės - veiksmų tikslumas, nes robotas iš pradžių net nežino, kur gauti puodelį ir kurį tiksliai reikia paimti, tuo tarpu net paėmęs jį laikys rankose, nes neturėjo komandos įdėti ant stalo. Dabar jam reikės įdėti arbatos, bet vėlgi tai galima padaryti rankomis arba šaukštu, o jūs turite žinoti kiekį. Taigi atsiranda labai daug įvairių problemų, kurias reikia išspręsti net algoritmo kūrimo etape.
Žinoma, atsižvelgiant į algoritmo sampratą iralgoritmo savybių tikslus aprašymas gali būti suformuotas beveik neribotą laiką, tačiau šioje situacijoje optimali bus tokia veiksmų seka:
Taigi, atsižvelgiant į algoritmo sampratą iralgoritmo savybes, pagal kurį atliekamas kiekvienas veiksmas, taip pat daugelį kitų elementų, bus galima pasiekti optimalią veiksmų seką. Net pirmiau minėto algoritmo negalima vadinti tobulu, ir jis numato, kad robotas žino daugybę dalykų, tačiau net ir šiuo pavyzdžiu galite suprasti, kaip iš tikrųjų sunku apibūdinti tam tikrus dalykus, kuriuos jūs ir aš puikiai žinome nuo vaikystės.
Visų pirma prieš ten, kaip atsigriebtialgoritmas, turite nuspręsti, kokios yra pradinės sąlygos atlikti tam tikrą užduotį, taip pat turėtų būti žinomos tai, ką turite gauti. Pats algoritmas jau yra galutinė veiksmų seka sprendžiant tam tikrą problemą, kuri veda nuo pradinės informacijos iki tam tikro rezultato. Bet kokiu atveju, kuriant veiksmų algoritmą, pirmenybė priklauso asmeniui, o įvairūs žmonės ar įvairiausi prietaisai, tokie kaip palydovai, robotai, kompiuteriai, pažangi buitinė technika, o pastaruoju metu net tam tikri žaislai išmoko juos atlikti, užsiima šiais veiksmais.
Al-Khorezmi yra asmuo, kuris buvo pirmasisapibrėžė algoritmo sampratą ir algoritmo savybes. Ši sąvoka masinį pobūdį įgijo po tam tikro laiko, kai įgijo platesnę prasmę, taip pat ėmė apibrėžti bet kokias tikslesnes tam tikro veiksmo taisykles. Šiandien ši sąvoka jau yra suvokiama kaip viena svarbiausių tokio mokslo kaip informatika sąvokų, be kurios jos beveik neįmanoma įsivaizduoti.
Pats Al-Khorezmi gyveno mūsų eros IX amžiuje irVerta paminėti, kad originalus arabų originalas, kuriame buvo išdėstyti jo aritmetiniai darbai, buvo pamestas, tačiau yra vertimas, kurį Vakarų Europa galų gale galėjo susipažinti su dešimtainio taškinio skaičiaus sistema, taip pat pagrindinėmis įvairių aritmetinių operacijų atlikimo taisyklėmis.
Mokslininkas stengėsi užtikrinti, kad taisyklėsbuvo suformuluoti jo paties, buvo nepaprastai suprantami kiekvienam raštingam žmogui. Tai buvo nepaprastai sunku pasiekti per šimtmetį, kai vis dar nebuvo visaverčio matematinio simbolizmo, tačiau mokslininkas savo raštuose galiausiai sugebėjo pasiekti aiškų ir tuo pačiu griežtą žodinį receptą, pagal kurį skaitytojas neturėjo galimybės išvengti nustatytų užduočių ar praleisti tam tikrus veiksmus. ...
Lotynų kalbos vertime mokslininko darbai buvo pristatyti mvienintelė knyga pavadinimu „Algorizmi Said“. Laikui bėgant žmonės ėmė pamažu pamiršti, kad „Algorizmi“ yra tokių taisyklių autorius, dėl ko taisyklės pradėtos vadinti algoritmais. Taigi palaipsniui „Algorizmi sakė“ transformavosi ir tapo „sako algoritmas“.