Programiranje. Osnovne algoritemske konstrukcije
Za ustvarjanje poljubnih programov so potrebne osnovne algoritemske konstrukcije. Sledi najpreprostejši način reševanja problemov. Lahko se uporablja, na primer, za delo s podobnimi primeri. Obstajajo še druge vrste: razvejanje in zanke. O njih bodo povedali v tem članku. Toda najprej morate razumeti, kaj je algoritem.
Vsebina
Algoritem
Beseda "algoritem" je iz latinskega algoritma. Kaj to pomeni? Verodostojna beseda je izhajala iz imena matematike, katerega delo je padlo v 9. stoletje. Zahvaljujoč razpravo al-Khwarizmi, se je človeštvo lahko seznanilo z glavno vrsto algoritmične konstrukcije in na splošno s splošnim konceptom.
Pred tem je bila sprejeta oblika pisanja besede "algoritem". Zdaj se uporablja le v nekaterih primerih.
Algoritem - proces, ki pomeni spremembo izvirne podatke, ki se pojavlja v diskretnih korakih. S tem konceptom, vsaka oseba, ki se sooča v življenju, kdo je bil. Algoritmi bi lahko opisali kot čaj in hrano, razmnoževanje ali dodatkom, reševanje enačb, in tako naprej. D. Vse aparate, katerih delovni proces je avtomatiziran, deluje z jasnimi koraki, predpisanih v pomnilniku procesorja. Takšni algoritmi se imenujejo za gospodinjstvo. Obstajajo še druge vrste. Razmislite o njih.
Vrste algoritmov
Osnovne algoritemske konstrukcije so razdeljene na več tipov, o katerih bomo razpravljali v tem pododstavku. Kakšne so?
- Informativno. Takšni algoritmi delujejo z veliko podatkov, vendar je njihov proces obdelave majhen in nezapleten.
- Vodstvo. Delo takšnih algoritmov je povezano z informacijami, ki jih dobimo iz enega ali drugega vira. Po prejemu se pošljejo posebni signali, ki zagotavljajo delovanje naprav.
- Računsko. Za razliko od informacijskih algoritmov, opisano delo z majhnimi količinami podatkov, vendar proizvaja velik delovni proces.
Dejansko je algoritem točen do najmanjših podrobnih navodil. Vendar se vsi ti podatki ne morejo imenovati kot opisani koncept. Če želite razumeti algoritem ukaza ali ne, ga je treba preveriti za določene lastnosti.
Lastnosti algoritmov
Vse osnovne algoritmične konstrukcije morajo imeti akcije, ki jim ustrezajo. Poglejmo, da je to vprašanje bolj podrobno.
Če v celoti sledite delu algoritmov in njihovih lastnosti, lahko vidite, da ni potrebno razumeti njihovih komponent, povsem jasno je, da ustrezajo načrtu. Pravilen rezultat bo dosežen, tudi če se samo mehanično držite potrebnih ukrepov. Iz tega lahko sklepamo, da je zaradi pomanjkanja pomena pri zavedanju dejanj algoritem resnično mogoče dodeliti izvedbi računalnika. Z drugimi besedami, za avtomatske naprave je ta postopek potreben.
Katere lastnosti bi morale imeti osnovne algoritemske konstrukcije za najbolj natančno delo?
- Jasnost. Vsaka ekipa mora biti čim bolj jasen teče objekt. Zdi se, da ni nič lažje, kot, na primer, naredi piko v sredini, da je, vendar ni opredeljena v ekipo, ki bo opravil dejanje, ni mogoče storiti.
- Učinkovitost. Kaj to pomeni ta lastnost? Obvezni prejem rezultatov. Algoritem ne more, ampak pripeljati do nekega odgovora. Zaradi napake lahko dobite napačen rezultat, ki je bil želen, vendar bo še vedno. Poleg tega je treba odgovor pridobiti po določenem številu korakov.
- Masa. Vsak algoritem bi moral veljati za določen razred nalog. Med njimi se lahko razlikujejo v prvotnih podatkih.
- Gotovost. Vsako dejanje mora imeti samo eno vrednost in ne dovoljuje dešifriranja derivatov. V idealnem primeru, ne glede na to, koliko programa se izvaja, mora biti rezultat vedno enak.
- Diskretnost. Algoritem - zaporedni koraki. Vsak korak je ukaz, ne morete preskočiti ali dodati novih.
- Pravilnost. Vsak algoritem, ki velja za katero koli nalogo, mora biti pravilen za vse. Pri programiranju težave pogosto ne nastanejo v pisni obliki, kar pogosto ne traja veliko časa, temveč pri opravljanju različnih vprašanj. Zato bo pomemben korak odpravljanje napak algoritma. Lahko pomaga pri tem in v osnovnem algoritemskem dizajnu, ponovitev katere bo dosegla boljše rezultate.
Opis algoritmov
Če govorimo metode zapisovanja algoritmov, je treba opozoriti na naslednje:
- Verbalno. Z drugimi besedami, v jeziku, ki je primeren za izražanje sestavnega dela.
- Tabular. Logično je, da je algoritem zapisan v tabelah in se praviloma uporablja kot pomožni element.
- Formalno verbalno. Osnova je verbalna razlaga, vendar taka dejanja prav tako napišeta matematične formule ali simbole.
- Grafično. Takšen algoritem je napisan v posebnem jeziku blokovnih diagramov.
Zadnjo točko je treba pojasniti. Kaj je blokovni diagram? To je linearni ali nelinearni algoritem, katerega koraki se zabeležijo z uporabo posebnih blokov. Imajo lastno konfiguracijo, namen in funkcijo. V primeru takega opisa je algoritem napisan v blok diagramih, ki so povezani z vrsticami. V njih morate dodatno zabeležiti akcijo (korak).
Algoritemske konstrukcije
Nekateri trdijo, da algoritmi nimajo 3 vrst, ampak 4. Glavne algoritemske konstrukcije: linearne, razvejane, ciklične. Kateri razlog za to napačno razlago je nejasen. Vendar pa za preprosto reševanje kompleksnih problemov računalnik uporablja algoritme teh treh precej velikih skupin. Razmislite o njih.
- Linearno. Tak računalni postopek je prejel to ime zaradi dejstva, da se vsa dejanja izvajajo v linearnem zaporedju, pri čemer se vsak korak izvaja ne več kot enkrat. Če upoštevamo shemo problema, so bloki v njej postavljeni ena pod drugo, odvisno od zaporedne številke naloge. Linearni algoritmi delujejo tako, da se smer in pomen dejanj ne spreminja od začetnih podatkov. Ta metoda rešitev je primerna za izračun vsote ali razlike, površine številke ali njenega oboda itd. Glavna vrsta algoritemske konstrukcije je to.
- Razvejanje. Ta računalniški proces pomeni prisotnost logičnega izraza (nadaljnji LV) in izbiro stanja (veja "laž" in "resnica"). V vsakem primeru se izvaja samo ena od dveh ali več ekip. Ni nalog in ne more biti, v katerem bodo izpolnjene druge možnosti. Če sta v algoritmu dve veji, je preprosta, če je več kot dve, je zapleteno. In slednji postopek je enostavno predstavljen na račun prvega. Glavna vrsta algoritemske konstrukcije je prva točka in druga. V ta seznam so vključene tudi naslednje vrste.
- Ciklično. V takšnem algoritmu bo nujno, da bo element, ki se ponovi večkrat, in se uporabijo različni začetni podatki. Z drugimi besedami, tak proces se imenuje cikel.
Treba je opozoriti, da so vse osnovne algoritmične konstrukcije (spremljanje, razvejanje, cikel) medsebojno povezane, čeprav jih je mogoče uporabiti ločeno.
Ustvarjanje ciklov in njihovih vrst
Kaj je potrebno za ustvarjanje zanke?
- Števec koles. To je spremenljivka, ki določa začetno vrednost in ko se dejanje ponovi, se bo spremenilo. Nujno mora biti del algoritma. Osnovne algoritemske konstrukcije cikličnega tipa brez tega ne bodo delovale.
- Pred ponovitvijo novega cikla spremenite indikator zgornjih podatkov.
- Preverjanje pogoja, da se računalnik odloči, ali naj se »pomakne« cikel znova ali več, ni potreben.
Cikli so lahko deterministični in iterativni. Prvi predstavljajo ponavljanje dejanj z že znanim številom ponovitev. Iteracijski cikel je tisti, ki se ponavlja za nedoločen čas, dokler pogoj ne postane resničen ali napačen.
Osnovni algoritem
Omeniti velja, da osnovni algoritem ne velja za osnovne algoritemske konstrukcije. Kaj je to? Ta koncept že dolgo ni v sodobni literaturi, to pa ne pomeni, da ne obstaja več. Glede na to, da lahko pri reševanju problemov pride do več vej ali ponovitev, lahko sklepamo na naslednji zaključek. Osnovne algoritemske konstrukcije (linearne, razvejane, ciklične) so osnovne. Pravzaprav predstavljajo "strukturno enoto" vsakega tako imenovanega navodila.
Linearni algoritmi
Kot je razvidno iz zgornjega, so algoritmi linearni in nelinearni. Razmislite o prvi možnosti. Zakaj se to imenuje? Vse je zelo preprosto. Bistvo je, da imajo vsa dejanja, ki se reproducirajo v algoritmu, jasno zaporedno izvedbo, vsi koraki se izvajajo strogo eno za drugo. Običajno so takšne naloge majhne in imajo nizko stopnjo kompleksnosti.
Primer linearnega algoritma je lahko postopek priprave čaja:
- Nalijte vodo v kotliček.
- Postavite grelnik vode na peč.
- Vzemi skodelico.
- Čaš čaja v skodelico.
- Dodajte sladkor.
- Po vrenju vlijemo vrelo vodo v skodelico.
- Vzemi žlico.
- Zmešajte sladkor.
Programiranje osnovnih algoritmičnih konstrukcij je precej težka stvar, če pa gre za vprašanje linearni algoritmi, potem jih pogosto uresničijo zelo enostavno.
Algoritmi razvejanja
Kako razumeti, da je algoritem razvejal? Dovolj je zagotoviti, da obstaja možnost izbire dveh ali več možnosti, odvisno od tega, ali je pogoj izpolnjen ali ne. Vsaka pot se imenuje podružnica.
Glavna značilnost razvejanega algoritma je obstoj pogojne veje. To se dogaja med preverjanjem izraza na true ali false.
Značilno je, da so predstavljali logični izrazi znaka "najmanj", "več", "manjše ali enako", "je večje ali enako", "enaka", "ni enako." Včasih so izvedbe, kjer je stanje, povezani drug z drugim z ukazom in (u) ali (ali).
Primer takega algoritma lahko rešitev za naslednji problem: če je izraz ((x + 3) / 1) enako pozitivno število, nato prikaže rezultat na zaslonu, če negativna - da uporabnika obvesti o napaki.
V praksi je preprosta uporaba osnovnih algoritemskih konstrukcij. Razvejanje je ena najpogostejših metod rešitve.
Deterministični cikel ali cikel s števcem
Zanka z števcem je zanko, ki vključuje spremenljivko, ki vrednost spremeni z določenim korakom. Korak določi uporabnik ali ga programer predpisuje med pisanjem zavarovanja. Večina jezikov za to zanko uporablja izjavo.
Za program za prikaz dveh vrstic 4-krat:
- "Kako si?"
- "No, hvala!"
- "Kako si?"
- "No, hvala!"
Potrebno je ustvariti deterministični cikel. Kako izgleda? Za boljšo percepcijo modela uporabljamo jezik "Pascal".
1. Za i: = 1 do 2 storiti:
- i je števec zanka, določa število ponovitev v zanki.
2. Začnite (oklepaji upravljalnika so odprti, da sta oba fraza telo zanke in jih ponovite skupaj.)
3. Writeln (lsquo-Kako si? Rsquo-):
- beseda writeln pomeni izhod fraze, ki je v enojnih narekovajih.
4. Writeln (lsquo-Ok, hvala).
5. Konec.
6. i: = i + 1.
Kot lahko vidite, je preprosto in celo zanimivo uporabljati osnovne algoritemske konstrukcije. Osnovni algoritmi so res splošno znani, brez njih je nemogoče pisati programe.
Cikel s postconditionom
Zanka z postconditionom lahko ponovi nedefinirano število dejanj brez vnašanja sponk operaterjev ali sestavljenih besed v njih. Izpolnjeno bo vsaj enkrat. Zanka se izvaja, dokler stanje ni napačno. Ko so kazalniki pravilni, se ustavi. Algoritem je zasnovan na tem. Osnovne algoritemske konstrukcije te vrste delujejo s tem hitrostjo.
Za izvedbo tega cikla je potrebna izgradnja ponovitve A do B. To je dobesedno prevedeno kot "ponavljanje dejanj, medtem ko je pogoj false". V skladu s tem je skozi A sam ponovitveni proces sam po sebi izražen, skozi B - podatke, ki morajo zato imeti pravilno vrednost.
Cikel s predpogoj
Zanka z postconditionom je konstruirana tako, da se izvede vsaj enkrat v vsakem primeru. Vendar pa obstajajo primeri, ko je cikel potreben v primeru določenega stanja, in če ni ponavljanja, ne sme. V nasprotnem primeru bo rezultat nepravilen. V tem primeru se uporablja zanko s predpogojom. Če ga želite ustvariti, potrebujete konstrukcijo »medtem ko A do B«. Prvi ukaz je dobesedno preveden kot "bye". A je pogoj in B je dejanje, ki se bo ponovilo. Celotna gradnja pomeni: "dokler je pogoj pravilen, izvedite dejanja".
Vse osnovne algoritmične konstrukcije delujejo le v določenih primerih. Kaj so v ciklu s predpogojom? Če je potrebno, da se eno dejanje ne ponovi, vendar več, je smiselno uporabiti sestavljene operaterje ali posebne oklepe. Cikel morda ne bo izpolnjen, če pogoj ne velja ob vnosu. Skladno s tem se bodo dejanja ponovila, če je pravilna.
Pomožni algoritem
Pomožni algoritem se uporablja v drugih procesih tako, da navede samo njegovo ime. Ne velja za osnovne algoritemske konstrukcije. V programskih jezikih se ta proces delovanja imenuje podprogram. Da bi olajšali delo s kodo in nato preprostejše reševanje problemov, je vsak ukrep združen v en blok, ki je pomožni algoritem. Vsakemu od njih lahko dobite ime, ki vam omogoča, da se vedno znova sklicujete nanjo.
Lastnosti in metode zapisovanja algoritmov
Kaj so algoritmi in zakaj so potrebni?
Linearni algoritmi - shema, struktura in izračun
Osnovni tipi in primeri cikličnih algoritmov
Blokiraj diagram algoritma: programi, naloge, elementi, konstrukcija
Koncept algoritma in lastnosti algoritma. Vrste algoritmov
Kruskalov algoritem - konstrukcija optimalnega okostja
Algoritem: koncept, lastnosti, struktura in vrste
Kaj je algoritem z razvejanjem? Primeri in definicija razvejanih algoritmov
Metode opisovanja algoritmov in vrst algoritmov
Vrste algoritmov v računalništvu: primeri
Faze reševanja problemov na računalniku in njihovih značilnosti
Opredelitev, lastnosti in vrste algoritmov
Teorija grafov
"Ne" s zakramenti - skupaj, ločeno? Primeri in pravila
Algoritmi za reševanje problemov - funkcije, opis po korakih in priporočila
Reševanje problemov načrtovanja. Ciklični algoritem
Algoritemizacija je proces izdelave algoritma za reševanje problema. Algoritem in algoritmizacija v…
Pomen in uporaba praznega jаvascripta
Algoritmi za sortiranje, kakršni so
Algoritem je jasno definirano zaporedje izvajanja matematičnih operacij