Praktiski uz visu mūsu pasaulē attiecas daži likumi un noteikumi. Mūsdienu zinātne nestāv uz vietas, pateicoties kam cilvēce zina daudz formulu un algoritmu, pēc kuriem var aprēķināt un no jauna izveidot daudzas dabas radītas darbības un struktūras, kā arī iedzīvināt cilvēka izdomātās idejas.
Šajā rakstā mēs analizēsim algoritma pamatjēdzienus.
Algoritmu rašanās vēsture
Algoritms – jēdziens, kas parādījās XII gs. Pats vārds "algoritms" cēlies no slavenā Tuvo Austrumu matemātiķa Muhameda al Khwarizmi vārda latīņu interpretācijas, kurš sarakstījis grāmatu "Par Indijas skaitīšanu". Šajā grāmatā ir aprakstīts, kā pareizi uzrakstīt naturālus skaitļus, izmantojot arābu ciparus, un aprakstīts darbību algoritms ar kolonnu virs šādiem skaitļiem.
12. gadsimtā grāmata "Par Indijas kontu" tika tulkota latīņu valodā, un tad parādījās šī definīcija.
Algoritma mijiedarbība ar cilvēku un mašīnu
Izveidealgoritmam nepieciešama radoša pieeja, tāpēc tikai dzīva būtne var izveidot jaunu secīgu darbību sarakstu. Taču, lai izpildītu esošās instrukcijas, nav nepieciešama fantāzija, ar to var tikt galā pat bezdvēseliskā tehnoloģija.
Lielisks piemērs tam, kā precīzi ievērot dotās instrukcijas, ir tukša mikroviļņu krāsns, kas turpina darboties, neskatoties uz to, ka tajā nav pārtikas.
Subjektu vai objektu, kuram nav jāsaprot algoritma būtība, sauc par formālo izpildītāju. Cilvēks var kļūt arī par formālu izpildītāju, bet gadījumā, ja viena vai otra rīcība ir neizdevīga, domājošs izpildītājs visu var izdarīt pa savam. Tāpēc galvenie izpildītāji ir datori, mikroviļņu krāsnis, telefoni un cita tehnika. Algoritma jēdziens datorzinātnēs ir ārkārtīgi svarīgs. Katrs algoritms tiek sastādīts ar konkrēta subjekta sagaidāmību, ņemot vērā pieļaujamās darbības. Tie objekti, kuriem subjekts var piemērot instrukcijas, veido izpildītāja vidi.
Praktiski uz visu mūsu pasaulē attiecas daži likumi un noteikumi. Mūsdienu zinātne nestāv uz vietas, pateicoties kurai cilvēce zina daudz formulu un algoritmu, pēc kuriem jūs varat aprēķināt un atjaunot daudzas dabas darbības un radījumus un iedzīvināt cilvēka izdomātās idejas. Šajā rakstā mēs analizēsim algoritma pamatjēdzienus.
Kas ir algoritms?
Lielākā daļa darbību, ko mēs veicam savas dzīves laikā, prasa ievērot vairākus noteikumus. No tā, cik daudz cilvēkam ir pareizs priekšstats par tokas, kā un kādā secībā viņam jādara, ir atkarīgs no viņam uzticēto uzdevumu kvalitātes un rezultāta. Vecāki jau kopš bērnības ir mēģinājuši bērnā izstrādāt algoritmu galvenajām darbībām, piemēram: pamosties, saklāt gultu, mazgāt un iztīrīt zobus, veikt vingrinājumus, ieturēt brokastis utt., sarakstu, ko cilvēks dara. visu mūžu no rīta arī var uzskatīt par sava veida algoritmu.
Algoritms ir jēdziens, kas attiecas uz instrukciju kopumu, kas personai ir jāievēro, lai atrisinātu noteiktu problēmu.
Kopumā algoritmam ir daudz definīciju, vairāki zinātnieki to raksturo dažādi.
Ja algoritms, ko cilvēks izmanto katru dienu, katram ir atšķirīgs, un var mainīties atkarībā no vecuma un situācijām, kurās izpildītājs atrodas, tad darbību kopums, kas jāveic, lai atrisinātu matemātisku uzdevumu vai izmantot tehnoloģiju ir vienāda visiem un vienmēr paliek nemainīga.
Ir atšķirīgs algoritma jēdziens, atšķiras arī algoritmu veidi - piemēram, cilvēkam, kurš tiecas pēc mērķa, un tehnoloģijai.
Mūsu informācijas tehnoloģiju laikmetā cilvēki katru dienu izpilda citu cilvēku radītu instrukciju kopumu, jo tehnoloģija prasa precīzu darbību virkni, kad to izmanto. Tāpēc skolotāju galvenais uzdevums skolās ir iemācīt bērniem lietot algoritmus, ātri aptvert un mainīt esošos noteikumus atbilstoši esošajai situācijai. Algoritma struktūra ir viena no tāmjēdzieni, ko apgūst matemātikas un informātikas stundā katrā skolā.
Algoritma pamatīpašības
1. Diskrētība (atsevišķu darbību secība) - jebkurš algoritms ir jāattēlo kā vienkāršu darbību virkne, no kurām katrai jāsākas pēc iepriekšējās darbības pabeigšanas.
2. Noteiktība – katrai algoritma darbībai jābūt tik vienkāršai un skaidrai, lai izpildītājam nerastos jautājumi un rīcības brīvības.
3. Efektivitāte - algoritma aprakstam jābūt skaidram un pilnīgam, lai pēc visu instrukciju izpildes uzdevums sasniegtu loģiskās beigas.
4. Masu raksturs - algoritmam jābūt piemērojamam veselai uzdevumu klasei, kuras var atrisināt, tikai mainot skaitļus algoritmā. Lai gan pastāv viedoklis, ka pēdējais punkts neattiecas uz algoritmiem, bet gan uz visām matemātiskajām metodēm kopumā.
Bieži vien skolās, lai bērni labāk izprastu algoritmus, skolotāji izmanto piemēru par ēdienu gatavošanu no pavārgrāmatas, zāļu izgatavošanu pēc receptes vai ziepju gatavošanas procesu, pamatojoties uz meistarklasi. Taču, ņemot vērā algoritma otro īpašību, kas saka, ka katram algoritma vienumam ir jābūt tik skaidram, lai to varētu veikt pilnīgi jebkura persona un pat mašīna, varam secināt, ka jebkurš process, kas prasa vismaz kaut kādu iztēles dēļ algoritmu nevar nosaukt. Un ēdiena gatavošanai un rokdarbiem ir vajadzīgas noteiktas prasmes un labi attīstīta iztēle.
Ir dažāda veida algoritmi,bet ir trīs galvenie.
Cikliskais algoritms
Šajā veidā daži vienumi tiek atkārtoti vairākas reizes. To darbību sarakstu, kuras jāatkārto, lai sasniegtu mērķi, sauc par algoritma pamattekstu.
Cilpas iterācija ir visu cilpas pamattekstā iekļauto vienumu izpilde. Cilpas daļas, kas tiek pastāvīgi izpildītas noteiktu skaitu reižu, sauc par cilpu ar fiksētu skaitli. iterāciju.
Tās cikla daļas, kuru biežums ir atkarīgs no vairākiem apstākļiem, tiek sauktas par nenoteiktām.
Vienkāršākais cikla veids ir fiksēts.
Ir divu veidu cikliskie algoritmi:
- Cilpa ar priekšnosacījumu. Šajā gadījumā cilpas pamatteksts pārbauda tā stāvokli pirms tās izpildes.
- Cilpa ar pēcnosacījumu. Ciklā ar pēcnosacījumu nosacījums tiek pārbaudīts pēc cilpas beigām.
Lineārie algoritmu veidi
Šādu ķēžu instrukcijas tiek izpildītas vienreiz tādā secībā, kādā tās tiek parādītas. Piemēram, gultas klāšanas vai zobu tīrīšanas procesu var uzskatīt par lineāru algoritmu. Šis veids ietver arī matemātiskos piemērus, kur ir tikai saskaitīšanas un atņemšanas darbības.
Sazarojuma algoritms
Sazarojuma veidam ir vairākas opcijas, kuras tiks lietotas atkarībā no nosacījuma.
Piemērs. Jautājums: "Vai līst?" Atbilžu varianti: "Jā" vai "Nē". Ja"jā" - atver lietussargu, ja "nē" - ielieciet lietussargu somā.
Palīgalgoritms
Papildalgoritmu var izmantot citos algoritmos, norādot tikai tā nosaukumu.
Algoritmos atrasti termini
Nosacījums atrodas starp vārdiem "ja" un "tad".
Piemēram: ja zināt angļu valodu, nospiediet vienu. Šajā teikumā frāzes daļa "jūs zināt angļu valodu" būs nosacījums.
Dati ir informācija, kas nes noteiktu semantisko slodzi un tiek parādīta tā, lai tos varētu pārsūtīt un izmantot šim algoritmam.
Algoritmisks process - problēmas risināšana pēc algoritma, izmantojot noteiktus datus.
Algoritma struktūra
Algoritmam var būt cita struktūra. Lai aprakstītu algoritmu, kura jēdziens ir atkarīgs arī no tā struktūras, var izmantot vairākus dažādus veidus, piemēram: verbāli, grafiski, izmantojot īpaši izstrādātu algoritmisko valodu.
Kura metode tiks izmantota, ir atkarīgs no vairākiem faktoriem: uzdevuma sarežģītības, cik detalizētam ir jābūt problēmas risināšanas procesam utt.
Algoritma grafiskā versija
Grafiskais algoritms - jēdziens, kas ietver darbību, kas jāveic, lai atrisinātu konkrētu problēmu, sadalīšanu atbilstoši noteiktām ģeometriskām formām.
Grafiskās diagrammas netiek rādītas nejauši. Lai viņi varētulai saprastu jebkuru personu, visbiežāk tiek izmantotas blokshēmas un Nasi-Šneidermana strukturogrammas.
Tāpat blokshēmas tiek zīmētas saskaņā ar GOST-19701-90 un GOST-19.003-80. Algoritmā izmantotās grafiskās figūras ir sadalītas:
- Pamata. Galvenie attēli tiek izmantoti, lai norādītu darbības, kas nepieciešamas datu apstrādei, risinot problēmu.
- Palīgdarbs. Nepieciešami palīgattēli, lai norādītu atsevišķus, nevis svarīgākos problēmas risināšanas elementus.
Grafiskā algoritmā datu attēlošanai izmantotās ģeometriskās formas sauc par blokiem.
Visi bloki iet secībā "no augšas uz leju" un "no kreisās uz labo" - tas ir pareizais plūsmas virziens. Ar pareizu secību līnijas, kas savieno blokus viena ar otru, neparāda virzienu. Citos gadījumos līniju virzienu norāda ar bultiņām.
Pareizā algoritma shēmā nedrīkst būt vairāk par vienu izeju no apstrādes blokiem un mazāk par divām izejām no blokiem, kas ir atbildīgi par loģiskām darbībām un stāvokļa pārbaudi.
Kā pareizi izveidot algoritmu?
Algoritma struktūra, kā minēts iepriekš, ir jāveido saskaņā ar GOST, pretējā gadījumā tā nebūs saprotama un pieejama citiem.
Vispārējā ierakstīšanas metodoloģija ietver šādus vienumus:
Nosaukums, ar kuru būs skaidrs, kādu problēmu var atrisināt, izmantojot šo shēmu.
Katram algoritmam ir jābūt skaidri iezīmētam sākumam un beigām.
Algoritmivisiem datiem, gan ievades, gan izvades datiem, jābūt skaidri un skaidri aprakstītiem.
Sastādot algoritmu, jāatzīmē darbības, kas ļaus veikt problēmas risināšanai nepieciešamās darbības uz izvēlētajiem datiem. Aptuvenais algoritma skatījums:
- Ķīmijas nosaukums.
- Dati.
- Sākt.
- Komandas.
- Beigas.
Pareiza shēmas uzbūve ievērojami atvieglos algoritmu aprēķināšanu.
Ģeometriskas formas, kas atbild par dažādām darbībām algoritmā
Horizontālais ovāls - sākums un beigas (beigu zīme).
Horizontālais taisnstūris - aprēķins vai citas darbības (procesa zīme).
Horizontālais paralelograms - ievade vai izvade (datu zīme).
Horizontālais rombs - stāvokļa pārbaude (lēmuma zīme).
Izstiepts, horizontāls sešstūris - modifikācija (gatavošanas zīme).
Algoritmu modeļi ir parādīti zemāk.
Algoritma uzbūves formula-verbālā versija.
Formula-verbālie algoritmi ir rakstīti patvaļīgā formā, tās jomas profesionālajā valodā, kurai pieder uzdevums. Darbību apraksts šādā veidā tiek veikts, izmantojot vārdus un formulas.
Algoritma jēdziens datorzinātnē
Datoru jomā viss balstās uz algoritmiem. Bez skaidriem norādījumiem, kas ievadīti īpaša koda veidā, neviena tehnika nedarbosies vaiprogramma. Datorzinātņu stundās skolēni cenšas dot algoritmu pamatjēdzienus, iemācīt tos lietot un izveidot paši.
Algoritmu izveide un izmantošana datorzinātnēs ir radošāks process nekā, piemēram, matemātikas uzdevuma risināšanas instrukciju izpilde.
Ir arī īpaša programma "Algoritms", kas palīdz programmēšanas jomā nezinātājiem izveidot savas programmas. Šāds resurss var kļūt par neaizstājamu palīgu tiem, kuri sper pirmos soļus datorzinātnēs un vēlas izveidot savas spēles vai kādas citas programmas.
No otras puses, jebkura programma ir algoritms. Bet, ja algoritms nes tikai tās darbības, kas jāveic, ievietojot savus datus, tad programma jau nes gatavos datus. Vēl viena atšķirība ir tā, ka programma var būt patentēta un privātīpašums, bet algoritms nav. Algoritms ir plašāks jēdziens nekā programma.
Secinājums
Šajā rakstā mēs analizējām algoritma jēdzienu un tā veidus, uzzinājām, kā pareizi uzrakstīt grafiskās shēmas.