Programmēšana. Pamata algoritmiskās konstrukcijas

Datori

Lai izveidotu visas nepieciešamās programmas pamataalgoritmiskās konstrukcijas. Turpmāk ir vienkāršākais veids problēmu risināšanai. To var izmantot, piemēram, strādājot ar līdzīgiem piemēriem. Ir arī citi veidi: atzarošana un cilpas. Par tiem tiks teikts šajā rakstā. Bet vispirms jums ir jāsaprot, kāds ir algoritms.

Algoritms

Vārds "algoritms" bija no latīņu algoritmi. Ko tas nozīmē? Autentiskais vārds nāca no matemātikas vārda, kura darbs nokritās 9. gadsimtā. Pateicoties al-Khwarizmi traktāts, cilvēce varēja iepazīties ar galveno algoritmisko konstrukciju tipu un parasti ar vispārēju koncepciju.

Agrāk tika pieņemts vārda "algoritms" rakstīšanas veids. Tagad to izmanto tikai dažos gadījumos.

Algoritms ir process, kas nozīmē mainītsākotnējie dati, kas parādās atsevišķu posmu formā. Ar šo koncepciju ikviens cilvēks sastopas dzīvē, lai arī kāds tas ir. Algoritmi var būt tējas vai pārtikas sagatavošana, reizināšana vai pievienošana, vienādojumu risinājums utt. Visas sadzīves tehnikas, kuru darba process ir automatizēts, darbojas uz procesora atmiņā norādīto skaidru darbību rēķina rēķina. Šādi algoritmi sauc par sadzīves algoritmiem. Ir arī citi veidi. Apsveriet tos.

Algoritmu veidi

Algoritmiskās pamatkonstrukcijas ir sadalītas vairākos tipos, kuri tiks aplūkoti šajā apakšnodaļā. Kādi tie ir?

  1. Informatīvie. Šādi algoritmi darbojas ar daudziem datiem, taču to apstrādes process ir neliels un nesarežģīts.
  2. Vadītāji Šādu algoritmu darbs ir saistīts ar informāciju, kas tiek sniegta no viena vai otra avota. Pēc tā saņemšanas tiek nosūtīti īpaši signāli, lai nodrošinātu ierīču darbību.
  3. Skaitļošanas. Atšķirībā no informācijas algoritmiem aprakstītais darbs ar nelielu datu apjomu, bet rada lielu darba procesu.

Faktiski algoritms ir precīzs līdz mazākajamdetalizētas instrukcijas. Tomēr ne visus šādus datus var saukt par aprakstītu koncepciju. Lai saprastu norādījuma algoritmu vai ne, tas jāpārbauda attiecībā uz noteiktiem parametriem.

Algoritmu īpašības

Visām algoritmiskajām pamatstruktūrām jābūt darbībām, kas tiem pakļaujas. Apskatīsim šo jautājumu detalizētāk.

Ja mēs pilnībā izsekojam algoritmu un to darbībuīpašības, jūs varat redzēt, ka nav nepieciešams izprast to sastāvdaļas, ir pilnīgi skaidrs, ka tie atbilst plānam. Pareizs rezultāts tiks iegūts pat tad, ja jūs vienkārši mehāniski pieliekat nepieciešamās darbības. No tā mēs varam secināt, ka, veicot darbību apzināšanos, trūkst informācijas, algoritmu patiešām var piešķirt datora ieviešanai. Citiem vārdiem sakot, automatizētām ierīcēm šis process ir nepieciešams.

Kādas īpašības būtu, lai bāzes algoritmiskās konstrukcijas veiktu pēc iespējas precīzākam darbam?

  1. Skaidrība Katrai komandai jābūt pēc iespējas skaidrāk izpildītam objektam. Šķiet, ka nav nekas vieglāk kā, piemēram, centrā izcelt punktu, nē, bet, kamēr jums nav komandas, kas ļaus jums veikt darbību, jūs to nevarēsiet izdarīt.
  2. Efektivitāte. Ko nozīmē šis īpašums? Obligāts rezultāta saņemšana. Algoritms nevar izraisīt kādu atbildi. Kļūdas dēļ jūs varat iegūt nepareizu vēlamo rezultātu, taču tas joprojām būs. Turklāt atbilde jāiegūst pēc noteiktiem soļiem.
  3. Masa. Jebkurš algoritms jāpiemēro dažiem uzdevumu klasei. Starp tiem tie sākotnējo datu var atšķirties.
  4. Noteiktība Katrai darbībai jābūt tikai vienai vērtībai un neļauj atkārtotai atšifrēšanai. Vislabāk, lai cik programma palaistu, rezultātam vienmēr jābūt vienādam.
  5. Diskrēts raksturs. Algoritms - secīgi soļi. Katrs solis ir komanda, jūs nevarat izlaist vai pievienot jaunus.
  6. Pareizība Jebkurš algoritms, kas attiecas uz jebkāda veida uzdevumu, ir pareizs visiem. Programmēšanā problēmas bieži rodas nevis rakstiskā veidā, kas bieži vien prasa daudz laika, bet gan veicot dažādus jautājumus. Tādēļ svarīgs solis būs algoritma atkļūdošana. Var palīdzēt šajā un pamata algoritmiskajā dizainā, kuru atkārtošana sasniegs labākus rezultātus.

Algoritmu apraksts

Ja mēs runājam par veidiem, kā rakstīt algoritmus, tad mums vajadzētu atšķirt sekojošo:

  • Verbālā Citiem vārdiem sakot, valodā, kas ir ērti sastādītāja izteikšanai.
  • Tabulā Loģiski, algoritms tiek rakstīts tabulās un parasti tiek izmantots kā palīgdarbības elements.
  • Formāli mutiski. Pamats ir verbāls paskaidrojuma veids, bet šādās darbībās rakstīts arī matemātiskās formulas vai simboli.
  • Grafiskais. Šāds algoritms ir rakstīts īpašā blokshēmu valodā.

Pēdējais jautājums ir jāprecizē. Kas ir blokshēma? Tas ir lineārs vai nelineārs algoritms, kura posmi tiek ierakstīti, izmantojot īpašus blokus. Viņiem ir sava konfigurācija, mērķis un funkcija. Šāda apraksta gadījumā algoritms ir rakstīts blokshēmās, kuras ir savstarpēji saistītas ar rindām. Tajos jums papildus jāreģistrē darbība (solis).

pamata algoritmiskās konstrukcijas

Algoritmiskās konstrukcijas

Daži apgalvo, ka algoritmiem nav 3tips un 4. pamata algoritmiskās konstrukcijas: lineāras, atzarojošas, cikliskas. Kāds ir šī nepareizā priekšstata iemesls ir neskaidrs. Tomēr, lai vienkārši risinātu sarežģītas problēmas, dators izmanto šo trīs diezgan lielo grupu algoritmus. Apsveriet tos.

  1. Lineārs Šāds skaitļošanas process saņēma šo nosaukumu tāpēc, ka visas darbības tiek veiktas lineārā secībā, un katrs solis tiek veikts ne vairāk kā vienu reizi. Ja mēs apsveram problēmas shēmu, tad tās bloki atrodas zem otra, atkarībā no uzdevuma kārtas numura. Lineārie algoritmi darbojas tādā veidā, ka darbības virziens un nozīme nemainās no sākotnējiem datiem. Šī risinājuma metode ir piemērota summas vai starpības aprēķināšanai, skaitļa vai tā perimetra laukumam utt. Galvenais algoritmiskās konstrukcijas veids ir tas.
    algoritma pamata algoritmiskās konstrukcijas
  2. Atzarošana. Šis skaitļošanas process nozīmē loģiskās izteiksmes (turpmāk LV) klātbūtni un nosacījuma izvēli (filiāle "gulēt" un "patiesība"). Katrā gadījumā tiek īstenota tikai viena no divām vai vairāk komandām. Nav uzdevumu un nevar būt, kādā veidā tiks izpildītas citas iespējas. Ja algoritmā ir divas filiāles, tas ir vienkārši, ja vairāk nekā divi, tas ir sarežģīti. Un pēdējais process ir viegli pārstāvēts uz pirmā rēķina. Galvenais algoritmiskās konstrukcijas veids ir gan pirmais, gan otrs. Šajā sarakstā ir iekļautas arī šādas sugas.
  3. Cikliski. Šādā algoritmā noteikti būs elements, kas atkārtojas daudzkārt un tiek izmantoti dažādi sākotnējie dati. Citiem vārdiem sakot, šādu procesu sauc par ciklu.

Jāatzīmē, ka visas algoritmiskās pamatkonstrukcijas (sekojums, filiāle, cikls) savstarpēji ir savstarpēji saistīti, lai gan tās var izmantot atsevišķi.

Ciklu veidošana un to veidi

Kas nepieciešams, lai izveidotu cilpu?

  • Cikla skaitītājs. Tas ir mainīgais, kas nosaka sākotnējo vērtību, un, kad darbība tiek atkārtota, tā mainīsies. Tam obligāti jābūt algoritma daļai. Cikliskā tipa pamata algoritmiskās konstrukcijas nedarbosies bez tā.
  • Pirms jauna cikla atkārtošanas mainiet minēto datu indikatoru.
  • Pārbaudīt nosacījumu, ka dators nolemj, vai "ritināt" ciklu vēlreiz vai vairāk, nav vajadzīgs.

Cikli var būt deterministiski uniteratīvs. Pirmais ir atkārtošanās darbībām ar jau zināmo skaitu atkārtojumu. Ierācijas cikls ir tas, kas atkārtojas uz nenoteiktu laiku, līdz nosacījums kļūst taisnīgs vai nepatiess.

Galvenais algoritmiskās konstrukcijas veids ir

Pamat algoritms

Ir vērts atcerēties, ka galvenaisalgoritmiskie konstrukti nepiemēro pamata algoritmu. Kas tas ir? Mūsdienu literatūrā šī koncepcija sen nav atrasta, bet tas nenozīmē, ka tā vairs nepastāv. Ņemot vērā, ka problēmu risināšanā var rasties vairākas filiāles vai atkārtošanās, var secināt šādu secinājumu. Algoritmiskās konstrukcijas (lineāro, zaru, ciklisko) ir pamata. Faktiski tie pārstāv katras tā saucamās instrukcijas "struktūrvienību".

Lineārie algoritmi

Kā jau skaidrots no iepriekš minētā, algoritmiir lineāra un nelineāra. Apsveriet pirmo iespēju. Kāpēc to sauc par? Viss ir ļoti vienkāršs. Lieta ir tā, ka visām darbībām, kas tiek atveidotas algoritmā, ir skaidri sekojoša izpilde, visas darbības tiek veiktas stingri pēc kārtas. Raksturīgi, ka šādi uzdevumi ir mazi un tiem ir zems sarežģītības līmenis.

Lineārā algoritma piemērs var būt tējas pagatavošanas process:

  1. Ielejiet ūdeni tējkannā.
  2. Pārvietojiet tējkannu uz plīts, lai to uzvārītos.
  3. Paņem kausu.
  4. Tēju ielejiet kafijā.
  5. Pievienojiet cukuru.
  6. Pēc tam, kad vārās, ielejiet tasi ar verdošu ūdeni.
  7. Ņem karodziņu.
  8. Sajauciet cukuru.

Pamatu algoritmisko konstrukciju programmēšana ir diezgan sarežģīta, bet, ja tas ir lineāru algoritmu jautājums, tad tos bieži vien ir ļoti viegli īstenot.

uz pamata algoritmiskajām konstrukcijām nepiemēro

Izkliedēšanas algoritmi

Kā saprast, ka algoritms ir zarojošs? Tas ir pietiekami, lai pārliecinātos, vai ir izvēle divas vai vairākas iespējas, atkarībā no tā, vai nosacījums ir izpildīts, vai nē. Katrs ceļš tiek saukts par filiāli.

Šķirošanas algoritma galvenā iezīme ir nosacītas filiāles esamība. Tas notiek, pārbaudot izteicienu uz patiesu vai nepatiesu.

Parasti tiek pārstāvētas loģiskās izteiksmeszīmes "mazāk", "vairāk", "mazāk par vai vienādām ar", "lielāks vai vienāds ar", "vienāds", "nav vienāds". Dažreiz ir varianti, kad nosacījums ir savstarpēji saistīts ar palīdzību un (un) un (un) komandu palīdzību.

Šāda algoritma piemērs var būt risinājumsšāda problēma: ja izteiksme ((x + 3) / 1), ir vienāds ar pozitīvu skaitli, tad parādītu rezultātu uz ekrāna, ja tas ir negatīvs - informēt lietotāju par kļūdu.

Praksē ir pavisam vienkārši izmantot algoritmiskās pamatkonstrukcijas. Izkliedēšana ir viena no visbiežāk sastopamajām risinājuma metodēm.

Determinējošais cikls vai cikls ar skaitītāju

Cikls ar skaitītāju ir cikls, kas ietverMainīgais, kas vērtību mainīs ar noteiktu soli. Soli nosaka lietotājs vai to nosaka kāds programmētājs, rakstot nodrošinājumu. Lielākajai daļai šīs cilpas valodu izmanto paziņojumam.

Lai programma parādītu divas rindiņas 4 reizes:

  1. "Kā tu esi?"
  2. "Nu, paldies!"
  3. "Kā tu esi?"
  4. "Nu, paldies!"

Ir nepieciešams izveidot deterministisku ciklu. Kā tas izskatās? Mēs izmantojam valodu "Pascal", lai labāk uztvertu dizainu.

1. Attiecībā uz i: = 1 līdz 2 do:

- es esmu cilpa skaitītājs, tas nosaka cikla atkārtojumu skaitu.

2. Sākt (operatora kronšteini tiek atvērti, lai abas frāzes būtu cilpas ķermenis un tos atkārtotu kopā).

3. Writeln ("kā jums pieder?"):

- vārds writeln nozīmē frāzes izteiksmi, kas ir vienā piedāvājumā.

4. Writeln ("Nu, paldies").

5. Beigt.

6. i: = i + 1.

Kā jūs varat redzēt, tas ir diezgan viegli un pat interesanti izmantot pamata algoritmiskās konstrukcijas. Pamata algoritmi ir patiešām plaši pazīstami, bez tiem nav iespējams rakstīt programmas.

pamata algoritmiskās konstrukcijas lineāro cirkulāciju

Cikls ar postcondition

Cikls ar postcondition var atkārtotnenoteiktu darbību skaitu, neiekļaujot operatora skavas vai saliktus vārdus. Tas tiks izpildīts vismaz vienu reizi. Cikls darbojas līdz brīdim, kad nosacījums ir kļūdains. Tas apstājas, ja rādītāji ir pareizi. Uz to balstās algoritms. Šāda veida algoritmiskās konstrukcijas strādā šādā tempā.

Lai īstenotu šo ciklu, būvniecībaAtkārtojiet no A līdz B. Burtiski tiek tulkots kā "atkārtotas darbības, bet nosacījums ir nepatiess". Attiecīgi, izmantojot A, tiek izteikts pats atkārtošanas process, izmantojot B - datus, kuriem rezultātā ir jāpieņem pareizā vērtība.

pamata algoritmiskās konstrukcijas pamata algoritmi

Cikls ar priekšnoteikumu

Cikls ar postcondition ir konstruēts tā, katas tiek izpildīts vismaz vienreiz jebkurā gadījumā. Tomēr ir gadījumi, kad konkrēta stāvokļa gadījumā ir nepieciešams ciklu, un, ja tas nav atkārtota, tam nevajadzētu. Pretējā gadījumā rezultāts būs nepareizs. Tādā gadījumā tiek izmantota cilpa ar priekšnosacījumu. Lai to izveidotu, jums ir jāveido "kamēr A do B". Pirmā komanda ir burtiski tulkota kā "līdzjūtība". A ir nosacījums, un B ir darbība, kas tiks atkārtota. Visa konstrukcija nozīmē: "kamēr nosacījums ir pareizs, veic darbības".

Visas pamata algoritmiskās konstrukcijas darbojastikai dažos gadījumos. Kādi ir viņu priekšnoteikumi ciklā? Ja jums ir nepieciešams atkārtot vairāk nekā vienu darbību, bet vairākas, tad jums vajadzētu izmantot vai saliktos paziņojumus, vai īpašas iekavās. Cikls var arī nebūt izpildīts, ja, noslēdzot to stāvoklis nav taisnība. Tādējādi darbība tiks atkārtots, ja tas ir pareizs.

pamata algoritmiska konstrukcijas atkārtojums

Papildu algoritms

Papildu algoritmu izmanto citosprocesus, norādot tikai viņa vārdu. Tas neattiecas uz pamata algoritmiskām konstrukcijām. Programmēšanas valodās šis darbības process tiek saukts par apakšprogrammu. Lai atvieglotu darbu ar kodu un pēc tam vienkāršāku problēmu risināšanu, katra darbība tiek apvienota vienā blokā, kas ir papildu algoritms. Katram no viņiem var piešķirt vārdu, kas ļauj to atkārtoti atsaukties.

Komentāri (0)
Pievienot komentāru