Praktiškai viskam mūsų pasaulyje galioja tam tikri dėsniai ir taisyklės. Šiuolaikinis mokslas nestovi vietoje, kurio dėka žmonija žino daugybę formulių ir algoritmų, kuriais vadovaudamiesi galite apskaičiuoti ir atkurti daugybę gamtos sukurtų veiksmų ir struktūrų bei įgyvendinti žmogaus sugalvotas idėjas.
Šiame straipsnyje išanalizuosime pagrindines algoritmo sąvokas.
Algoritmų atsiradimo istorija
Algoritmas – sąvoka, atsiradusi XII a. Pats žodis „algoritmas“kilęs iš lotyniško garsaus Artimųjų Rytų matematiko Muhammado al-Khwarizmio, parašiusio knygą „Apie indų skaičiavimą“, vardo interpretacijos. Šioje knygoje aprašoma, kaip teisingai rašyti natūraliuosius skaičius naudojant arabiškus skaitmenis, ir aprašomas veiksmų algoritmas su stulpeliu virš tokių skaičių.
XII amžiuje knyga „Apie Indijos sąskaitą“buvo išversta į lotynų kalbą, tada pasirodė šis apibrėžimas.
Algoritmo sąveika su žmogumi ir mašina
Kūrybaalgoritmas reikalauja kūrybiško požiūrio, todėl tik gyva būtybė gali sukurti naują nuoseklių veiksmų sąrašą. Tačiau norint vykdyti esamas instrukcijas, nebūtina turėti fantazijos, net bejėgė technologija gali su tuo susidoroti.
Puikus pavyzdys, kaip tiksliai laikytis pateiktų nurodymų, yra tuščia mikrobangų krosnelė, kuri toliau veikia, nepaisant to, kad joje nėra maisto.
Subjektas arba objektas, kuriam nereikia suprasti algoritmo esmės, vadinamas formaliuoju vykdytoju. Žmogus gali tapti ir formaliu vykdytoju, tačiau tuo atveju, kai vienas ar kitas veiksmas yra nuostolingas, mąstantis vykdytojas gali viską padaryti savaip. Todėl pagrindiniai atlikėjai – kompiuteriai, mikrobangų krosnelės, telefonai ir kita įranga. Algoritmo samprata kompiuterių moksle yra nepaprastai svarbi. Kiekvienas algoritmas sudaromas atsižvelgiant į konkretaus dalyko lūkesčius, atsižvelgiant į leistinus veiksmus. Tie objektai, kuriems subjektas gali taikyti instrukcijas, sudaro vykdytojo aplinką.
Praktiškai viskam mūsų pasaulyje galioja tam tikri dėsniai ir taisyklės. Šiuolaikinis mokslas nestovi vietoje, kurio dėka žmonija žino daugybę formulių ir algoritmų, kuriais vadovaudamiesi galite apskaičiuoti ir atkurti daugybę gamtos veiksmų ir kūrinių bei įgyvendinti žmogaus sugalvotas idėjas. Šiame straipsnyje išanalizuosime pagrindines algoritmo sąvokas.
Kas yra algoritmas?
Dauguma veiklos, kurią atliekame per savo gyvenimą, reikalauja laikytis kelių taisyklių. Iš to, kiek žmogus turi teisingą supratimą apie taiką, kaip ir kokia seka jis turėtų daryti, priklauso nuo jam pavestų užduočių kokybės ir rezultato. Nuo vaikystės tėvai stengėsi sukurti savo vaikui pagrindinių veiksmų algoritmą, pavyzdžiui: pabusti, pasikloti lovą, nusiprausti ir išsivalyti dantis, daryti pratimus, pusryčiauti ir pan., sąrašą, ką žmogus daro. visą gyvenimą ryte taip pat galima laikyti savotišku algoritmu.
Algoritmas yra sąvoka, nurodanti instrukcijų rinkinį, kurio asmuo turi laikytis, kad išspręstų tam tikrą problemą.
Apskritai, algoritmas turi daug apibrėžimų, keli mokslininkai jį apibūdina skirtingai.
Jeigu žmogaus kasdien naudojamas algoritmas kiekvienam yra skirtingas ir gali keistis priklausomai nuo amžiaus ir situacijų, kuriose atsidūrė atlikėjas, tai veiksmų, kuriuos reikia atlikti norint išspręsti matematinę problemą, rinkinys arba naudoti technologijas yra vienodas visiems ir visada išlieka toks pat.
Yra skirtinga algoritmo samprata, skiriasi ir algoritmų tipai – pavyzdžiui, žmogui, kuris siekia tikslo, ir technologijoms.
Mūsų informacinių technologijų amžiuje žmonės kasdien laikosi instrukcijų, kurias prieš juos sukūrė kiti žmonės, nes naudojant technologijas reikia tiksliai atlikti eilę veiksmų. Todėl pagrindinė mokytojų užduotis mokyklose – išmokyti vaikus naudotis algoritmais, greitai suvokti ir keisti esamas taisykles pagal esamą situaciją. Algoritmo struktūra yra viena iš tųsąvokų, kurios mokomasi kiekvienoje mokykloje matematikos ir informatikos pamokoje.
Pagrindinės algoritmo savybės
1. Diskretiškumas (atskirų veiksmų seka) – bet koks algoritmas turėtų būti pavaizduotas kaip paprastų veiksmų seka, kurių kiekvienas turėtų prasidėti atlikus ankstesnį.
2. Tikrumas – kiekvienas algoritmo veiksmas turi būti toks paprastas ir aiškus, kad atlikėjui nekiltų klausimų ir veiksmų laisvės.
3. Efektyvumas – algoritmo aprašymas turi būti aiškus ir išsamus, kad įvykdžius visas instrukcijas užduotis pasiektų logišką pabaigą.
4. Masės simbolis – algoritmas turėtų būti taikomas visai klasei uždavinių, kuriuos galima išspręsti tik pakeitus algoritme esančius skaičius. Nors yra nuomonė, kad paskutinis punktas galioja ne algoritmams, o visiems matematiniams metodams apskritai.
Dažnai mokyklose, kad vaikai geriau suprastų algoritmus, mokytojai naudoja maisto gaminimo pagal kulinarijos knygą, vaistų pagal receptą arba muilo gaminimo pagal meistriškumo klasę pavyzdį. Tačiau atsižvelgiant į antrąją algoritmo savybę, kuri sako, kad kiekvienas algoritmo punktas turi būti toks aiškus, kad jį galėtų atlikti absoliučiai bet kuris asmuo ir net mašina, galime daryti išvadą, kad bet koks procesas, kuriam reikalingas bent kažkoks vaizduotės, algoritmo įvardinti negalima. Maisto gaminimas ir rankdarbiai reikalauja tam tikrų įgūdžių ir gerai išvystytos vaizduotės.
Yra įvairių tipų algoritmai,bet yra trys pagrindiniai.
Ciklinis algoritmas
Šio tipo atveju kai kurie elementai kartojami kelis kartus. Veiksmų, kuriuos reikia pakartoti norint pasiekti tikslą, sąrašas vadinamas algoritmo dalimi.
Cilpos iteracija – tai visų elementų, įtrauktų į ciklo pagrindą, vykdymas. Kiltos dalys, kurios nuolat vykdomos tam tikrą skaičių kartų, vadinamos ciklu su fiksuotu skaičiumi iteracijų.
Tos ciklo dalys, kurių dažnis priklauso nuo daugelio sąlygų, vadinamos neapibrėžtomis.
Patvirtintas paprasčiausias ciklas.
Yra dviejų tipų cikliniai algoritmai:
- Kilpa su išankstine sąlyga. Tokiu atveju ciklo turinys prieš jį vykdydamas patikrina jos būklę.
- Kilpa su sąlyga. Cikloje su post-sąlyga sąlyga tikrinama pasibaigus ciklui.
Tiesiniai algoritmų tipai
Tokių grandinių instrukcijos vykdomos vieną kartą tokia tvarka, kokia jos pateikiamos. Pavyzdžiui, lovos klojimo ar dantų valymo procesą galima laikyti linijiniu algoritmu. Šis tipas taip pat apima matematinius pavyzdžius, kuriuose yra tik sudėties ir atimties operacijos.
Šakojimo algoritmas
Yra keletas šakojimo tipo parinkčių, kuri bus taikoma, priklauso nuo sąlygos.
Pavyzdys. Klausimas: "Ar lyja?" Atsakymo variantai: „Taip“arba „Ne“. Jeigu"taip" - atidarykite skėtį, jei "ne" - įdėkite skėtį į maišelį.
Pagalbinis algoritmas
Pagalbinį algoritmą galima naudoti kituose algoritmuose nurodant tik jo pavadinimą.
Algoritmuose rasti terminai
Sąlyga yra tarp žodžių „jei“ir „tada“.
Pavyzdys: jei mokate anglų kalbą, paspauskite vieną. Šiame sakinyje frazės dalis „žinai anglų kalbą“bus sąlyga.
Duomenys yra informacija, kuri turi tam tikrą semantinę apkrovą ir yra pateikiama taip, kad ją būtų galima perduoti ir naudoti šiam algoritmui.
Algoritminis procesas – problemos sprendimas pagal algoritmą naudojant tam tikrus duomenis.
Algoritmo struktūra
Algoritmo struktūra gali būti kitokia. Norėdami apibūdinti algoritmą, kurio sąvoka taip pat priklauso nuo jo struktūros, galite naudoti daugybę skirtingų būdų, pavyzdžiui: žodinį, grafinį, naudodami specialiai sukurtą algoritminę kalbą.
Koks metodas bus naudojamas, priklauso nuo kelių veiksnių: užduoties sudėtingumo, nuo to, kiek detalus turi būti problemos sprendimo procesas ir kt.
Grafinė algoritmo versija
Grafinis algoritmas – sąvoka, kuri reiškia veiksmų, kuriuos reikia atlikti norint išspręsti konkrečią problemą, skaidymą pagal tam tikras geometrines figūras.
Grafinės diagramos nerodomos atsitiktinai. Kad jie galėtųnorint suprasti bet kurį asmenį, dažniausiai naudojamos struktūrinės diagramos ir Nassi-Schneiderman struktūrogramos.
Be to, blokinės diagramos braižomos pagal GOST-19701-90 ir GOST-19.003-80. Algoritme naudojamos grafinės figūros skirstomos į:
- Pagrindinis. Pagrindiniai vaizdai naudojami norint nurodyti operacijas, reikalingas duomenims apdoroti sprendžiant problemą.
- Pagalbinis. Pagalbiniai vaizdai reikalingi atskiriems, o ne svarbiausiems problemos sprendimo elementams nurodyti.
Grafiniame algoritme geometrinės figūros, naudojamos duomenims pavaizduoti, vadinamos blokais.
Visi blokai eina iš eilės „iš viršaus į apačią“ir „iš kairės į dešinę“– tai teisinga srauto kryptis. Esant teisingai seka, linijos, jungiančios blokus viena su kita, nerodo krypties. Kitais atvejais linijų kryptis nurodoma rodyklėmis.
Tinkloje algoritmo schemoje neturėtų būti daugiau nei vienas išėjimas iš apdorojimo blokų ir mažiau nei du išėjimai iš blokų, atsakingų už logines operacijas ir būklės tikrinimą.
Kaip teisingai sudaryti algoritmą?
Algoritmo struktūra, kaip minėta aukščiau, turi būti sukurta pagal GOST, kitaip ji nebus suprantama ir neprieinama kitiems.
Bendra įrašymo metodika apima šiuos elementus:
Pavadinimas, pagal kurį bus aišku, kokią problemą galima išspręsti naudojant šią schemą.
Kiekvienas algoritmas turi turėti aiškiai pažymėtą pradžią ir pabaigą.
Algoritmaivisi duomenys, tiek įvesties, tiek išvesties, turi būti aiškiai ir aiškiai aprašyti.
Sudarant algoritmą reikia atkreipti dėmesį į veiksmus, kurie leis atlikti veiksmus, reikalingus problemos sprendimui su pasirinktais duomenimis. Apytikslis algoritmo vaizdas:
- Chemo pavadinimas.
- Duomenys.
- Pradėti.
- Komandos.
- Pabaiga.
Tinkama grandinės konstrukcija labai palengvins algoritmų skaičiavimą.
Geometrinės figūros, atsakingos už skirtingus algoritmo veiksmus
Horizontalus ovalas – pradžia ir pabaiga (pabaigos ženklas).
Horizontalus stačiakampis – skaičiavimas ar kiti veiksmai (proceso ženklas).
Horizontalus lygiagretainis – įvestis arba išvestis (duomenų ženklas).
Horizontalus rombas – būklės patikrinimas (sprendimo ženklas).
Pailgas, horizontalus šešiakampis – modifikacija (paruošimo ženklas).
Algoritmų modeliai rodomi toliau.
Formulės-žodinė algoritmo konstrukcijos versija.
Formulės-žodiniai algoritmai parašyti savavališka forma, profesine tos srities, kuriai priklauso užduotis, kalba. Veiksmų aprašymas tokiu būdu atliekamas naudojant žodžius ir formules.
Algoritmo samprata kompiuterių moksle
Kompiuterių srityje viskas pagrįsta algoritmais. Be aiškių nurodymų, įvestų specialaus kodo forma, jokia technika neveiks arbaprograma. Informatikos pamokose mokiniai bando pateikti pagrindines algoritmų sąvokas, mokyti juos naudoti ir patys sukurti.
Algoritmų kūrimas ir naudojimas informatikos srityje yra kūrybiškesnis procesas nei, pavyzdžiui, matematikos uždavinio sprendimo instrukcijų vykdymas.
Taip pat yra speciali programa „Algoritmas“, kuri programavimo srityje neišmanantiems žmonėms padeda kurti savo programas. Toks š altinis gali tapti nepakeičiamu pagalbininku tiems, kurie žengia pirmuosius žingsnius informatikos srityje ir nori kurti savo žaidimus ar kitas programas.
Kita vertus, bet kuri programa yra algoritmas. Bet jei algoritmas atlieka tik tuos veiksmus, kuriuos reikia atlikti įterpiant jo duomenis, tai programa jau neša baigtus duomenis. Kitas skirtumas yra tas, kad programa gali būti patentuota ir privati nuosavybė, tačiau algoritmas – ne. Algoritmas yra platesnė sąvoka nei programa.
Išvada
Šiame straipsnyje išanalizavome algoritmo sampratą ir jo tipus, išmokome taisyklingai rašyti grafines schemas.