В современном мире цифровой техники Programmēšana ir dažādu datoru, sīkrīku un citu elektronisko iekārtu darba pamatā. Un spēja ātri un pareizi sagatavot algoritma shēmu ir šīs zinātnes pamats. Šāda shēma ir grafiskais modelis procesiem, kas iekārtām ir jāveic. Tas sastāv no atsevišķiem funkcionāliem blokiem, kas veic dažādus mērķus (sākums / beigas, ievade / izvade, funkciju zvans utt.).
Būtībā algoritms ir parasta instrukcijasecība, kurā nepieciešams veikt noteiktas darbības, apstrādājot avota datus vēlamajā rezultātā. Līdz ar šo terminu bieži tiek izmantots algoritmizācijas jēdziens. Saskaņā ar to saprot metožu un metožu kopumu, lai izstrādātu secību konkrētu problēmu risināšanai.
Bieži algoritms netiek izmantots kānorādījumus datoram, bet gan kā shēmu jebkuras darbības veikšanai. Tas ļauj mums atzīmēt šīs risinājuma metodes efektivitāti un efektivitāti, izlabot iespējamās kļūdas, kā arī salīdzināt to ar citiem līdzīgiem risinājumiem, pat pirms to ievadīšanas datorā. Turklāt algoritms ir pamats, lai izstrādātu programmu, kas jāieraksta programmēšanas valodā, lai turpinātu īstenot informācijas apstrādes procesu datorā. Līdz šim ir zināmas divas praktiskas metodes šādu secību konstruēšanai. Pirmais ir pakāpenisks verbāls apraksts, bet otrais ir uzdevumu algoritma plūsmas shēma. Pirmais no tiem ir saņēmis daudz mazāk izplatīšanas. Tas ir skaidrojuma trūkuma dēļ. Otrā metode, gluži pretēji, ir ļoti ērts attēlu secību veids. Tas ir plaši izplatīts gan izglītības, gan zinātniskajā literatūrā.
Programmas shēma irgrafisko simbolu secība, kas nosaka konkrētu darbību izpildi, kā arī saiknes starp tām. Katrā šādā attēlā ir norādīta informācija par veicamo uzdevumu. Grafisko simbolu izmērus un konfigurāciju, kā arī secību projektēšanas kārtību regulē GOST 19003-80 un GOST 19002-80.
Apsveriet algoritma plūsmas shēmas galvenos elementus (fotoattēlā sniegti to stila piemēri).
1. Process ir skaitļošanas darbība vai šādu darbību secība.
2. Risinājums - pārbaudiet norādīto stāvokli.
3. Modifikācija - cikla galvene.
4. Iepriekš definētais process ir aicinājums uz procedūru.
5. Dokumentu drukāšana un datu izvadīšana.
6. Perforatora karte - ievadiet informāciju.
7. Ieeja / izvade - ievade / izvade.
8. Savienotājs - plūsmas līniju pārtraukums.
9. Palaišanas algoritmiem tiek izmantoti sākuma / beigu - sākuma, beigu, apstāšanās, starta, ievadīšanas un iziešanas punkti.
10. Komentārs - izmanto, lai ievietotu paskaidrojumus.
11. Vertikālās un horizontālās plūsmas - secības virziens, sakaru līnija starp blokiem.
12. Apvienot - plūsmu savienojumu.
13. Intersticiālais savienotājs - etiķete, kas simbolizē pāreju uz citu lapu.
Algoritma plūsmas shēmas izveidi veicGOST noteiktās īpašās prasības. Piemēram, savienojot grafiskos simbolus, tiek izmantotas tikai horizontālas vai vertikālas līnijas. Plūsmas, kas virzītas no labās puses uz kreiso pusi un no apakšas uz augšu, vienmēr ir atzīmētas ar bultiņām. Citas līnijas var nebūt atzīmētas. Attālumam starp paralēlām plūsmām nevajadzētu būt mazākam par trim milimetriem un starp citiem elementiem - ne mazāk kā pieciem milimetriem. Bloka izmēriem jābūt pieciem reizinājumiem. Horizontālā attiecība pret grafisko simbolu vertikāli ir 1,5. Dažreiz tas ir atļauts divos. Ērtības labad grafiskajiem simboliem jābūt numurētiem. Pēc attiecību rakstura ir lineāru, ciklisku un sazarotu struktūru plūsmas diagrammu veidi.
Lai labāk izprastu algoritma principuJūs varat apsvērt vienkāršāko automātu. Tas sastāv no atmiņas, kas sastāv no šūnām; rakstīt / lasīt galvu; procesoru Kāds ir šādas ierīces darbības princips? Galva, saņemot pasūtījumu no procesora, raksta datus uz šūnu vai lasa konstantu. Vienkāršākajā gadījumā tas būs aritmētiskais skaitlis. Turklāt konstantes var būt datu struktūras, rakstzīmju virknes utt. Mainīgais ir atmiņas šūna, kurā tiek glabāta informācija. Algoritma izpildes laikā šādā šūnā var ierakstīt dažādus datus. Uz šī principa tiek veidoti personālie datori un cita elektronika. Uzdevuma izpildes algoritms ir komandu kopums informācijas lasīšanai vai rakstīšanai šajās atmiņas šūnās.
Массивы являются еще одной разновидностью indeksēti mainīgie. Būtībā tā ir šūnu kolekcija, ko vieno kopīgs apzīmējums. Arraisi atšķir divdimensiju, trīsdimensiju utt. Vienkāršākais no tiem ir virkne secīgu šūnu. Šādai masīvai ir savs vārds. Katram elementam ir savs numuru indekss. Šūnai rakstīts konstants tiek saukts par masīva elementu.
Divdimensiju veids ar elementu izkārtojumukā matrica. Šādas masīva šūnas raksturo divi indeksi (tas atgādina šaha galdu ar šūnu numerāciju). Ar to pašu principu tiek īstenotas trīsdimensiju un vairāk struktūras.
Такой тип последовательности блок-схемы Algoritmi (piemēri ir doti šajā rakstā) raksturo izpilde no sākuma līdz beigām no augšas uz leju. Šādā gadījumā mašīna pakāpeniski veic tai paredzētās darbības. Procesors apstrādā katru darbību. Papildus aprēķiniem, ja nepieciešams, viņš pasūta rakstīšanas / lasīšanas galvu, kur un ko rakstīt un no kurienes lasīt. Galīgais rezultāts tiek ierakstīts atmiņas šūnās, no kurām katram ir savs indekss un kas saglabā savu konstantu.
Praksē lineārais tips ir ārkārtīgi reti sastopams.Bieži vien ir jāorganizē secība, kas atkarībā no noteiktajiem nosacījumiem plūst gar vienu vai otru atzaru. Sazarotā tipa algoritma blokshēmā ir elements "Risinājums", kura dēļ tiek pārbaudīts noteikts nosacījums, un, jo vairāk to ir, jo vairāk zaru ir secībai.
Apsveriet kāsazarots algoritms. Kā piemēru ņemsim funkciju: z = y / x. No nosacījuma izriet, ka šim vienādojumam ir viens ierobežojums - jūs nevarat dalīt ar nulli. Tāpēc ir nepieciešams izslēgt šo risinājumu un brīdināt lietotāju par notikušo kļūdu. Vispirms tiek sastādīta algoritma blokshēma. Tas sastāvēs no septiņiem blokiem. Pirmais grafiskais simbols ir “Start”, otrais ir “Enter”, šeit jums jāprecizē X un Y vērtības. Tad seko bloks “Lēmums”, kurā tiek pārbaudīts nosacījums: X = 0. Šajā gadījumā automāts pārbauda šūnu ar konstanti, ja ievadītā vērtība sakrīt ar to, tad algoritma lēmums notiks pa filiāli "Jā". Šajā gadījumā vadība tiek pārsūtīta uz ceturto bloku, un mašīna izdod "kļūdu", darbs beidzas ar septīto simbolu "Beigas". Ja testa rezultāts ir negatīvs, dalīšanas procesu veic ar piekto grafisko simbolu un nosaka vērtību Z. Sestajā blokā rezultāts tiek parādīts ekrānā.
Bieži vien, risinot problēmas, jums ir jāatkārtoveicot jebkuru operāciju ar vienādu atkarību no dažādām mainīgo vērtībām un veicot vairākas caurlaides caur vienu un to pašu ķēdes sadaļu. Šādas sadaļas parasti sauc par cikliem, un algoritmu sauc par cikliskām. Šīs metodes izmantošana ievērojami saīsina pašu secību. Cikliskos algoritmus parasti iedala divos veidos: ar iepriekš nezināmu un iepriekš zināmu šādu caurlaižu skaitu.
Apsveriet piemēru, kurā sniegta blokshēmaalgoritms ar iepriekš nezināmu caurlaižu skaitu. Lai to izdarītu, jums jāatrisina problēma - jānorāda mazākais naturālo skaitļu virknes dalībnieku skaits, kuru summa pārsniedz skaitli K. Šāda algoritma blokshēma sastāv no astoņām rakstzīmēm. Vispirms ievadām skaitļa K vērtību (Nr. 2). Tad 3. blokā mainīgais P saņem vērtību "viens", kas nozīmē, ka naturālo skaitļu skaitīšana sāksies no tā. Un kumulatīvā summa C sākumā iegūst vērtību "nulle". Tālāk kontrole tiek pārcelta uz piekto bloku, kur tiek izpildīta komanda: С = С + П. Tas ir, šūnu C un P vērtības tiek summētas un rezultāts tiek pārrakstīts C. Pēc šīs kārtas pirmās kārtas pievienošanas 6. ailē tiek pārbaudīts nosacījums - vai summa pārsniedz noteikto skaitli K? Ja nosacījums nav izpildīts, vadību pārceļ uz ceturto bloku, kur viens tiek pievienots mainīgajam P un atkal tiek veikta pāreja uz 5. bloku. Šī procedūra turpināsies, līdz tiks izpildīts nosacījums: C> K, tas ir, uzkrātā summa pārsniedz noteikto vērtību. Mainīgais P ir cilpas skaitītājs. Pēc tam notiek pāreja uz 7. bloku, kur tiek izdrukāti darba rezultāti.
Bieži vien ar algoritmisku komplekta risinājumuLai izveidotu uzdevumu, ir jāizveido cikls, kura ķermenī ir vēl viens cikls. To uzskata par normu. Šādus elementus sauc par ligzdotu cilpu struktūrām. Viņu pasūtījums var būt diezgan liels. To nosaka metode, ar kuras palīdzību tiek panākts vajadzīgās problēmas risinājums. Piemēram, apstrādājot viendimensiju masīvu, kā likums, algoritma blokshēma tiek veidota bez ligzdošanas cilpām. Tomēr daudzos gadījumos, risinot šādas problēmas, ir jāizvēlas tieši šāds risinājums. Jāatzīmē, ka visās ligzdotajās cilpās, ieskaitot pirmo (ārējo), jābūt skaitītājiem ar dažādiem nosaukumiem. Ārpus cilpas tos var izmantot kā regulārus mainīgos.
Šis secības tips ir analogsvalodas rutīnas. Papildu algoritmam ir nosaukums un parametri, kurus sauc par formāliem. Nosaukums ir dots, lai to atšķirtu starp citiem, un parametri kalpo kā izejas un ievades matemātiskās funkcijas. Tos izvēlas tādā veidā, lai tiktu izsmelts viss nepieciešamo vērtību diapazons. Bieži vien viens un tas pats formālais parametrs izrādās gan ievads, gan izeja. Piemēram, šādā algoritmā masīvs apstrādei var tikt piegādāts kā ieeja. Rezultātā to var parādīt modificētā formā kā izejas parametru. Starp papildu tipa algoritmiem izšķir funkcijas un procedūras.
Šis termins tiek saprasts kā vispārējās shēmas sadalīšanāspalīgfunkcijas (funkcijas un procedūras) un galvas algoritms. Šī metode ir ļoti vienkārša, ja algoritmu nosaka blokshēma - vispirms no tā ir izolētas sadaļas, kas atbild par galveno darbu. Visgrūtākie posmi tiek formalizēti kā augstākā līmeņa funkcijas un procedūras. Tad tos sadala elementārās zema līmeņa sekcijās. Šeit darbojas princips "no sarežģīta līdz vienkāršam". Tas tiek darīts, līdz algoritms tiek sadalīts vienkāršākajos elementos. Parasti secības sadalīšanas risinājums sastāv no trim galvenajiem posmiem: datu ievadīšana, masīva šķirošana un sakārtotā masīva izvade. Pirmais un pēdējais posms to elementārā rakstura dēļ nav jāsadala, tāpēc tie tiek veikti galvas algoritmā. Bet otrais ir ļoti sarežģīts neatkarīgs aprēķinu gabals, tāpēc parasti tas tiek parādīts atsevišķā blokā. Kārtošanas posmi, savukārt, ir sadalīti divās daļās: procedūras nepieciešamības noteikšana (N - 1) - atkārtota izlaišana caur doto masīvu un mazākā elementa atrašana apskatītajā masīva fragmentā ar tā turpmāko pārkārtošanu ar sekcijas sākotnējo elementu. Tā kā pēdējais posms tiek atkārtots daudzas reizes, tas tiek formalizēts kā atsevišķa procedūra.