Algoritma izpilde konkrētam izpildītāja lēmumam. Datorzinātne un informācijas tehnoloģijas. Algoritmu aprakstīšanas veidi

Atslēgvārdi:

  • algoritms
  • algoritma īpašības
    • diskrētums
    • skaidrība
    • noteiktību
    • efektivitāti
    • masu raksturs
  • izpildītājs
  • izpildītāja īpašības
    • risināmo uzdevumu klāsts
    • trešdiena
    • darbības režīms
    • komandu sistēma
  • algoritma formāla izpilde

3.1.1. Algoritma koncepcija

Katrs cilvēks iekšā Ikdiena, mācoties vai darbā, atrisina milzīgu skaitu dažādas sarežģītības problēmu. Sarežģītas problēmas prasa daudz domāšanas, lai atrastu risinājumu; Cilvēks nedomājot, automātiski risina vienkāršus un pazīstamus uzdevumus. Vairumā gadījumu katras problēmas risinājumu var iedalīt vienkāršos posmos (soļos). Daudziem šādiem uzdevumiem (instalēšana programmatūra, skapja komplektēšana, mājas lapas izveide, tehniskās ierīces darbināšana, aviobiļetes iegāde internetā u.c.) jau ir izstrādāti un piedāvāti. soli pa solim instrukcijas, kas, konsekventi izpildot, var novest pie vēlamā rezultāta.

1. piemērs. Uzdevums “Atrast divu skaitļu vidējo aritmētisko” tiek atrisināts trīs soļos:

  • padomājiet par diviem skaitļiem;
  • paturiet prātā divus skaitļus;
  • iegūto summu sadaliet ar 2.

2. piemērs. Uzdevums “Iemaksāt naudu tālruņa kontā” ir sadalīts šādos posmos:

  • dodieties uz maksājumu termināli;
  • izvēlieties telekomunikāciju operatoru;
  • ievadiet tālruņa numuru;
  • pārbaudiet, vai ievadītais numurs ir pareizs;
  • ievietot banknoti vekseļa akceptētājā;
  • gaidiet ziņojumu par naudas ieskaitīšanu jūsu kontā;
  • saņemt čeku.

3. piemērs. Grafiski parādīti uzdevuma “Uzzīmējiet smieklīgu ezi” risināšanas posmi:

Vidējā aritmētiskā atrašana, naudas iemaksa telefona kontā un eža uzzīmēšana no pirmā acu uzmetiena ir pavisam citi procesi. Bet tiem ir kopīga iezīme: katrs no šiem procesiem ir aprakstīts ar īsu instrukciju secību, kuras stingra ievērošana ļauj iegūt vajadzīgo rezultātu. 1.-3.piemērā dotās instrukciju secības ir algoritmi attiecīgo problēmu risināšanai. Šo algoritmu izpildītājs ir cilvēks.

Algoritms var būt noteiktas aprēķinu secības apraksts (1. piemērs) vai nememātiska rakstura soļi (2.-3. piemēri). Bet jebkurā gadījumā, pirms tās izstrādes, sākotnējie nosacījumi(ievades dati) un kas jāiegūst (rezultāts). Var teikt, ka algoritms ir problēmas risināšanas darbību secības apraksts, kas ved no sākotnējiem datiem līdz vajadzīgajam rezultātam.

Kopumā algoritma darbības diagrammu var attēlot šādi (3.1. att.):

Rīsi. 3.1.
Algoritma vispārīgā shēma

Algoritmi ir skolā apgūtie skaitļu saskaitīšanas, atņemšanas, reizināšanas un dalīšanas noteikumi, gramatikas likumi, ģeometrisko konstrukciju likumi utt.

Animācijas “Darbs ar algoritmu”, “Lielākais kopīgais dalītājs”, “Mazākais kopīgais daudzkārtnis” (http://school-collection.edu.ru/) palīdzēs atcerēties dažus krievu valodas un matemātikas stundās apgūtos algoritmus.

4. piemērs. Daži algoritmi noved pie tā, ka no vienas rakstzīmju ķēdes tiek iegūta jauna ķēde šādi:

  1. Tiek aprēķināts avota rakstzīmju virknes garums (rakstzīmēs).
  2. Ja sākotnējās ķēdes garums ir nepāra, tad oriģinālajai ķēdei labajā pusē tiek pievienots skaitlis 1, pretējā gadījumā ķēde nemainās.
  3. Simboli tiek apmainīti pa pāriem (pirmais ar otro, trešais ar ceturto, piektais ar sesto utt.).
  4. Iegūtās ķēdes labajā pusē tiek pievienots skaitlis 2.

Iegūtā ķēde ir algoritma rezultāts.

Tātad, ja sākotnējā ķēde bija A#B, tad algoritma rezultāts būs ķēde #A1B2, un, ja sākotnējā ķēde bija ABC@, tad algoritma rezultāts būs ķēde BA@B2.

3.1.2. Algoritma izpildītājs

Katrs algoritms ir paredzēts konkrētam izpildītājam.

Ir formāli un neformāli izpildītāji. Formāls izpildītājs vienmēr izpilda vienu un to pašu komandu vienādi. Neformāls izpildītājs var izpildīt komandu dažādos veidos.

Ļaujiet mums sīkāk apsvērt formālo izpildītāju kopumu. Formālie izpildītāji ir ārkārtīgi dažādi, taču katram no tiem var norādīt šādus raksturlielumus: risināmo uzdevumu loks (mērķis), vide, komandu sistēma un darbības režīms.

Risināmo uzdevumu klāsts. Katrs izpildītājs ir izveidots, lai atrisinātu noteiktu uzdevumu loku - konstruētu simbolu ķēdes, veiktu aprēķinus, konstruētu zīmējumus uz plaknes utt.

Mākslinieka vide. Teritorija, uzstādījums, apstākļi, kādos izpildītājs darbojas, parasti tiek saukti par dotā izpildītāja vidi. Jebkura algoritma avota dati un rezultāti vienmēr pieder tā izpildītāja videi, kuram algoritms ir paredzēts.

Izpildītāju komandu sistēma. Instrukciju izpildītājam veikt atsevišķu pabeigtu darbību sauc par komandu. Visu komandu kopa, ko var izpildīt kāds izpildītājs, veido šī izpildītāja komandu sistēmu (SKI). Algoritms tiek sastādīts, ņemot vērā konkrēta izpildītāja iespējas, citiem vārdiem sakot, izpildītāja komandu sistēmā, kurš to izpildīs.

Izpildītāju darbības režīmi. Lielākajai daļai izpildītāju tiešās vadības režīmi un programmas vadība. Pirmajā gadījumā izpildītājs gaida komandas no personas un nekavējoties izpilda katru saņemto komandu. Otrajā gadījumā izpildītājam vispirms tiek dota pilnīga komandu secība (programma), un pēc tam viņš izpilda visas šīs komandas automātiskais režīms. Vairāki izpildītāji strādā tikai vienā no nosauktajiem režīmiem.

Apskatīsim izpildītāju piemērus.

5. piemērs. Izpildītājs Bruņurupucis pārvietojas datora ekrānā, atstājot pēdas līnijas veidā. Bruņurupuča komandu sistēma sastāv no divām komandām:

    Uz priekšu n (kur n ir vesels skaitlis) - liek Bruņurupucim pārvietot n soļus kustības virzienā - virzienā, kurā ir vērsta tā galva un ķermenis;

    Pa labi m (kur m ir vesels skaitlis) — izraisa bruņurupuča kustības virziena izmaiņas par m grādiem pulksteņrādītāja virzienā.

Ierakstīt Atkārtot k [<Команда1> <Команда2> ... <Командаn>] nozīmē, ka komandu secība iekavās tiks atkārtota k reizes.

Padomājiet par to, kāda figūra parādīsies ekrānā pēc tam, kad Bruņurupucis izpildīs tālāk norādīto algoritmu.

    Atkārtot 12 [pa labi 4 5 uz priekšu 20 pa labi 45]

6. piemērs. Izpildītāju komandu sistēma Dators sastāv no divām komandām, kurām ir piešķirti numuri:

    1 - atņemiet 1
    2 - reiziniet ar 3

Pirmais no tiem samazina skaitli par 1, otrais palielina to 3 reizes. Rakstot algoritmus, īsuma labad tiek norādīti tikai komandu numuri. Piemēram, algoritms 21212 nozīmē šādu komandu secību:

    reizināt ar 3
    atņemt 1
    reizināt ar 3
    atņemt 1
    reizināt ar 3

Izmantojot šo algoritmu, skaitlis 1 tiks pārvērsts par 15: ((1-3-1)-3-1)-3 = 15.

7. piemērs. Izpildītājs Robots darbojas rūtainā laukā, starp blakus esošajām šūnām var būt sienas. Robots pārvietojas pa lauka šūnām un var izpildīt šādas komandas, kurām ir piešķirti numuri:

    1 — uz augšu
    2 — uz leju
    3 - Pareizi
    4 — pa kreisi

Izpildot katru šādu komandu, robots virzās uz blakus esošo šūnu norādītajā virzienā. Ja šajā virzienā starp šūnām ir siena, tad Robots tiek iznīcināts. Kas notiks ar Robotu, ja tas izpildīs komandu secību 32323 (šeit cipari norāda komandu numurus), sākot pārvietoties no šūnas A? Kāda komandu secība ir jāizpilda robotam, lai pārietu no šūnas A uz šūnu B, nesabrūkot, atsitoties pret sienām?

Izstrādājot algoritmu:

  1. tiek identificēti problēmā parādās objekti, objektu īpašības, attiecības starp objektiem un iespējamās darbības ar priekšmetiem;
  2. tiek noteikti sākotnējie dati un nepieciešamais rezultāts;
  3. tiek noteikta izpildītāja darbību secība, nodrošinot pāreju no sākotnējiem datiem uz rezultātu;
  4. darbību secība tiek ierakstīta, izmantojot komandas, kas iekļautas izpildītāja komandu sistēmā.

Var teikt, ka algoritms ir algoritma izpildītāja darbības modelis.

3.1.3. Algoritma īpašības

Ne katru instrukciju, instrukciju secību vai rīcības plānu var uzskatīt par algoritmu. Katram algoritmam noteikti ir šādas īpašības: diskrētums, saprotamība, noteiktība, efektivitāte un masveida raksturs.

Diskrētības īpašība nozīmē, ka ceļš uz problēmas risināšanu ir sadalīts atsevišķos soļos (darbībās). Katrai darbībai ir atbilstoša instrukcija (komanda). Tikai pēc vienas komandas izpildes izpildītājs var sākt izpildīt nākamo komandu.

Saprotamības īpašība nozīmē, ka algoritms sastāv tikai no komandām, kas iekļautas izpildītāja komandu sistēmā, t.i., no tādām komandām, kuras izpildītājs var uztvert un saskaņā ar kurām viņš var veikt nepieciešamās darbības.

Noteiktības īpašība nozīmē, ka algoritms nesatur komandas, kuru nozīmi izpildītājs var interpretēt neviennozīmīgi; Nav pieņemamas situācijas, kad pēc nākamās komandas izpildes izpildītājam nav skaidrs, kuru komandu izpildīt nākamajā darbībā.

Efektivitātes īpašība nozīmē, ka algoritmam jāspēj iegūt rezultāts pēc ierobežota, iespējams, ļoti liela soļu skaita. Šajā gadījumā rezultāts tiek uzskatīts ne tikai par atbildi, ko nosaka problēmas izklāsts, bet arī par secinājumu par neiespējamību turpināt šīs problēmas risināšanu jebkāda iemesla dēļ.

Masveida ražošanas īpašība nozīmē, ka algoritmam ir jānodrošina tā pielietošanas iespēja, lai atrisinātu jebkuru problēmu no noteiktas problēmu klases. Piemēram, kvadrātvienādojuma sakņu atrašanas algoritmam jābūt piemērojamam jebkuram kvadrātvienādojumam, ielas šķērsošanas algoritmam jābūt piemērojamam jebkurā vietā uz ielas, zāļu pagatavošanas algoritmam jābūt piemērojamam jebkura to daudzuma pagatavošanai, utt.

8. piemērs. Apskatīsim vienu no metodēm, kā atrast visus pirmskaitļus, kas nepārsniedz n. Šo metodi sauc par “Eratostena sietu”, kas nosaukts sengrieķu zinātnieka Eratostena vārdā, kurš to ierosināja.

Lai atrastu visus pirmskaitļus, kas nav lielāki par doto skaitli n, izmantojot Eratostena metodi, jāveic šādas darbības:

  1. pierakstiet visus veselos skaitļus no 2 līdz n pēc kārtas (2, 3, 4, ..., n);
  2. 2. rāmis - pirmais pirmskaitlis;
  3. izsvītro no saraksta visus skaitļus, kas dalās ar pēdējo atrasto pirmskaitli;
  4. atrodiet pirmo neatzīmēto skaitli (atzīmētie skaitļi ir izsvītroti skaitļi vai skaitļi, kas ir ietverti rāmī) un iekļaujiet to rāmī - tas būs vēl viens pirmskaitlis;
  5. atkārtojiet 3. un 4. darbību, līdz nav palicis neviens neatzīmēts numurs.

Vizuālāku priekšstatu par pirmskaitļu atrašanas metodi var iegūt, izmantojot animāciju “The Sieve of Eratosthenes” (http://school-collection.edu.ru/).

Aplūkotā darbību secība ir algoritms, jo tā atbilst šādām īpašībām:

  • diskrētums - pirmskaitļu atrašanas process ir sadalīts soļos;
  • saprotamība - katra komanda ir saprotama 9. klases skolēnam, veicot šo algoritmu;
  • noteiktība - katru komandu izpildītājs interpretē un izpilda nepārprotami; ir norādījumi par komandu izpildes kārtību;
  • efektivitāte - pēc noteikta soļu skaita tiek sasniegts rezultāts;
  • masas raksturs - darbību secība ir piemērojama jebkurai dabiskai n.

Aplūkotās algoritma īpašības ļauj sniegt precīzāku algoritma definīciju.

3.1.4. Cilvēka darbību automatizācijas iespēja

Algoritma izstrāde parasti ir darbietilpīgs darbs, kas no cilvēka prasa dziļas zināšanas, atjautību un daudz laika.

Lai atrisinātu problēmu, izmantojot gatavu algoritmu, izpildītājam ir tikai stingri jāievēro sniegtie norādījumi.

9. piemērs. No kaudzes, kurā ir jebkurš objektu skaits, kas lielāks par trim, divi spēlētāji pārmaiņus paņem katrs vienu vai divus priekšmetus. Uzvar tas, kurš savā nākamajā gājienā var paņemt visas atlikušās preces.

Apskatīsim algoritmu, pēc kura pirmais spēlētājs noteikti nodrošinās uzvaru.

  1. Ja objektu skaits kaudzē ir reizināts ar 3, tad dodiet ceļu pretiniekam, pretējā gadījumā sāciet spēli.
  2. Ar savu nākamo gājienu katru reizi pievienojiet pretinieka paņemto objektu skaitu līdz 3 (atlikušo objektu skaitam ir jābūt reizinātam ar 3).

Izpildītājs var neiedziļināties tajā, ko viņš dara, un nedomāt, kāpēc viņš rīkojas tā un ne citādi, tas ir, viņš var rīkoties formāli. Izpildītāja spēja rīkoties formāli nodrošina cilvēka darbības automatizācijas iespēju. Priekš šī:

  1. problēmas risināšanas process tiek pasniegts kā vienkāršu darbību secība;
  2. tiek izveidota mašīna ( automātiska ierīce), kas spēj veikt šīs darbības algoritmā noteiktajā secībā;
  3. cilvēks tiek atbrīvots no rutīnas darbībām, algoritma izpilde tiek uzticēta automātiskai iekārtai.

Svarīgākā

Izpildītājs - kāds objekts (cilvēks, dzīvnieks, tehniskā ierīce), kas spēj izpildīt noteiktu komandu kopu. Formāls izpildītājs vienmēr izpilda vienu un to pašu komandu vienādi. Katram formālam izpildītājam var norādīt: risināmo uzdevumu loku, vidi, komandu sistēmu un darbības režīmu.

Algoritms ir konkrētam izpildītājam paredzētas darbību secības apraksts, kas ved no sākotnējiem datiem līdz vajadzīgajam rezultātam, kam piemīt diskrētuma, saprotamības, noteiktības, efektivitātes un masveida rakstura īpašības.

Izpildītāja spēja rīkoties formāli nodrošina cilvēka darbības automatizācijas iespēju.

Jautājumi un uzdevumi

  1. Kā sauc algoritmu?
  2. Atrodiet sinonīmus vārdam “recepte”.
  3. Sniedziet skolā mācīto algoritmu piemērus.
  4. Kas var būt algoritma izpildītājs?
  5. Sniedziet formāla izpildītāja piemēru. Sniedziet piemēru, kad persona darbojas kā formāls izpildītājs.
  6. Kādas komandas robotam jāpilda: a) kasiera funkcijas veikalā; b) sētnieks; c) apsargs?
  7. Kas nosaka “datora” izpildītāja veicamo uzdevumu klāstu?
  8. Uzskatiet par izpildītāju vārdu procesors, pieejams jūsu datorā. Aprakstiet šī izpildītāja un viņa vides atrisināto uzdevumu klāstu.
  9. Kas ir komanda, izpildītāju komandu sistēma?
  10. Uzskaitiet galvenās algoritma īpašības.
  11. Pie kā var novest algoritma īpašību neesamība? Sniedziet piemērus.
  12. Kāpēc ir svarīgi spēt formāli izpildīt algoritmu?
  13. Skaitļu secība tiek konstruēta pēc šāda algoritma: secības pirmie divi skaitļi tiek pieņemti vienādi ar 1; Katrs nākamais skaitlis secībā ir vienāds ar divu iepriekšējo skaitļu summu. Pierakstiet šīs secības pirmos 10 vārdus.
  14. Kāds algoritms iegūst jaunu ķēdi no vienas rakstzīmju virknes šādi. Vispirms tiek uzrakstīta sākotnējā rakstzīmju ķēde, pēc tās tiek rakstīta sākotnējā rakstzīmju ķēde apgrieztā secībā, pēc tam tiek rakstīts burts, kas seko krievu alfabētā pēc burta, kas bija pēdējā vietā sākotnējā ķēdē. Ja sākotnējā ķēdē pēdējā vieta ir burts Z, tad kā nākamais burts tiek rakstīts burts A. Iegūtā ķēde ir algoritma rezultāts. Piemēram, ja sākotnējā rakstzīmju ķēde bija DOM, tad algoritma rezultāts būs ķēde DOMMODN. Tiek dota rakstzīmju virkne COM. Cik burtu O būs simbolu ķēdē, kas tiks iegūta, ja šai ķēdei piemērosiet algoritmu un pēc tam vēlreiz piemērosiet algoritmu tās darba rezultātam?
  15. Atrodiet internetā Eratostena algoritma soļu animāciju. Izmantojiet Eratostena algoritmu, lai atrastu visus pirmskaitļus, kas nepārsniedz 50.
  16. Kāds būs algoritma bruņurupuča izpildes rezultāts (skatiet 5. piemēru)?
      Atkārtot 8 [pa labi 45 uz priekšu 45]
  17. Pierakstiet kalkulatora izpildītāja algoritmu (6. piemērs), kas satur ne vairāk kā 5 komandas:
      a) saņemot no skaitļa 3 skaitli 16;
      b) saņemot no skaitļa 1 skaitli 25.
  18. Izpildītāju komandu sistēma Konstruktors sastāv no divām komandām, kurām ir piešķirti numuri:
      1 — piešķirt 2
      2 - dalīt ar 2

    Saskaņā ar pirmo no tiem skaitlim labajā pusē tiek pievienots 2, saskaņā ar otro skaitli dala ar 2. Kā tiks pārvērsts skaitlis 8, ja izpildītājs izpilda algoritmu 22212? Šī izpildītāja komandu sistēmā izveidojiet algoritmu, saskaņā ar kuru skaitlis 1 tiks pārveidots par skaitli 16 (algoritmā jābūt ne vairāk kā 5 komandām).

  19. Kurā šūnā jāatrodas robota izpildītājam (7. piemērs), lai atgrieztos tajā pēc 3241. algoritma izpildes?

| § 2.1. Algoritmi un izpildītāji

14. nodarbība
§ 2.1. Algoritmi un izpildītāji

Atslēgvārdi:

Algoritms
algoritma īpašības (diskrētums; saprotamība; noteiktība; efektivitāte; masas raksturs)
izpildītājs
izpildītāja īpašības (risināmo uzdevumu loks; vide; darbības režīms; komandu sistēma)
algoritma formāla izpilde

2.1.1. Algoritma koncepcija

Katrs cilvēks ikdienas dzīvē, mācībās vai darbā risina milzīgu skaitu dažādas sarežģītības problēmu. Sarežģītas problēmas prasa daudz domāšanas, lai atrastu risinājumu; Cilvēks nedomājot, automātiski risina vienkāršus un pazīstamus uzdevumus. Vairumā gadījumu katras problēmas risinājumu var iedalīt vienkāršos posmos (soļos). Daudziem no šiem uzdevumiem (programmatūras instalēšana, skapja komplektēšana, tīmekļa vietnes izveide, tehniskās ierīces darbība, aviobiļetes iegāde internetā utt.) jau ir izstrādātas un tiek piedāvātas soli pa solim instrukcijas, secīgi. kuru īstenošana var novest pie vēlamā rezultāta.

1. piemērs. Uzdevums “Atrast divu skaitļu vidējo aritmētisko” tiek atrisināts trīs soļos:

1) izdomā divus skaitļus;
2) pievieno divus plānotos skaitļus;
3) iegūto summu dala ar 2.

2. piemērs. Uzdevums “Iemaksāt naudu tālruņa kontā” ir sadalīts šādos posmos:

1) dodieties uz maksājumu termināli;
2) izvēlēties telekomunikāciju operatoru;
3) ievadiet tālruņa numuru;
4) pārbaudiet, vai ievadītais numurs ir pareizs;
5) ievietot banknoti vekseļa pieņēmējā;
6) sagaidi ziņojumu par naudas ieskaitīšanu tavā kontā;
7) saņemt čeku.

3. piemērs. Grafiski parādīti uzdevuma “Uzzīmējiet smieklīgu ezi” risināšanas posmi:


Vidējā aritmētiskā atrašana, naudas iemaksa telefona kontā un eža uzzīmēšana no pirmā acu uzmetiena ir pavisam citi procesi. Bet tiem ir kopīga iezīme: katrs no šiem procesiem ir aprakstīts ar īsu instrukciju secību, kuras stingra ievērošana ļauj iegūt vajadzīgo rezultātu. 1.-3.piemērā dotās instrukciju secības ir algoritmi attiecīgo problēmu risināšanai. Šo algoritmu izpildītājs ir cilvēks.

Algoritms var būt noteiktas aprēķinu secības apraksts (1. piemērs) vai nememātiska rakstura soļi (2.-3. piemēri). Bet jebkurā gadījumā pirms tā izstrādes ir skaidri jādefinē sākotnējie nosacījumi (sākotnējie dati) un iegūstamais (rezultāts). Var teikt, ka algoritms ir problēmas risināšanas darbību secības apraksts, kas ved no sākotnējiem datiem līdz vajadzīgajam rezultātam.

Kopumā algoritma darbības diagrammu var attēlot šādi (2.1. att.).

Rīsi. 2.1. Algoritma vispārīgā shēma

Algoritmi ir skolā apgūti skaitļu saskaitīšanas, atņemšanas, reizināšanas un dalīšanas noteikumi, daudzi gramatikas likumi, ģeometrisko konstrukciju noteikumi utt.

Animācijas “Darbs ar algoritmu” (193576), “Lielākais kopīgais dalītājs” (170363), “Mazākais kopīgais daudzkārtnis” (170390) palīdzēs atcerēties dažus krievu valodas un matemātikas stundās apgūtos algoritmus (http://sc.edu. ru /).

4. piemērs. Daži algoritmi noved pie tā, ka no vienas rakstzīmju ķēdes tiek iegūta jauna ķēde šādi:

1. Tiek aprēķināts sākotnējās rakstzīmju virknes garums (rakstzīmēs).
2. Ja sākotnējās ķēdes garums ir nepāra, tad oriģinālajai ķēdei labajā pusē tiek pievienots skaitlis 1, pretējā gadījumā ķēde nemainās.
3. Simboli tiek apmainīti pa pāriem (pirmais ar otro, trešais ar ceturto, piektais ar sesto utt.).
4. Iegūtās ķēdes labajā pusē tiek pievienots skaitlis 2.

Iegūtā ķēde ir algoritma rezultāts.

Tātad, ja sākotnējā ķēde bija A#B, tad algoritma rezultāts būs ķēde #A1B2, un, ja sākotnējā ķēde bija ABC@, tad algoritma rezultāts būs ķēde BA@B2.

2.1.2. Algoritma izpildītājs

Katrs algoritms ir paredzēts konkrētam izpildītājam.

Izpildītājs ir objekts (persona, dzīvnieks, tehniska ierīce), kas spēj izpildīt noteiktu komandu kopumu.

Atšķirt formālie un neoficiālie izpildītāji. Formāls izpildītājs vienmēr izpilda vienu un to pašu komandu vienādi. Neformāls izpildītājs var izpildīt komandu dažādos veidos.

Ļaujiet mums sīkāk apsvērt formālo izpildītāju kopumu. Formālie izpildītāji ir ārkārtīgi dažādi, taču katram no tiem var norādīt šādus raksturlielumus: risināmo uzdevumu loks (mērķis), vide, komandu sistēma un darbības režīms.

Risināmo uzdevumu klāsts. Katrs izpildītājs ir izveidots, lai atrisinātu noteiktu uzdevumu loku - konstruētu simbolu ķēdes, veiktu aprēķinus, konstruētu zīmējumus uz plaknes utt.

Mākslinieka vide. Teritorija, uzstādījums, apstākļi, kādos izpildītājs darbojas, parasti tiek saukti par dotā izpildītāja vidi. Jebkura algoritma avota dati un rezultāti vienmēr pieder tā izpildītāja videi, kuram algoritms ir paredzēts.

Izpildītāju komandu sistēma. Instrukciju izpildītājam veikt atsevišķu pabeigtu darbību sauc par komandu. Visu komandu kopa, ko var izpildīt kāds izpildītājs, veido šī izpildītāja komandu sistēmu (SKI). Algoritms tiek sastādīts, ņemot vērā konkrēta izpildītāja iespējas, citiem vārdiem sakot, izpildītāja komandu sistēmā, kurš to izpildīs.

Izpildītāju darbības režīmi. Lielākajai daļai izpildītāju tiek nodrošināti tiešās vadības un programmas vadības režīmi. Pirmajā gadījumā izpildītājs gaida komandas no personas un nekavējoties izpilda katru saņemto komandu. Otrajā gadījumā izpildītājam vispirms tiek dota pilnīga komandu secība (programma), un pēc tam viņš visas šīs komandas izpilda automātiski. Vairāki izpildītāji strādā tikai vienā no nosauktajiem režīmiem.

Apskatīsim izpildītāju piemērus.

5. piemērs. Izpildītājs Bruņurupucis pārvietojas datora ekrānā, atstājot pēdas līnijas veidā.

Bruņurupuču komandu sistēma sastāv no šādām komandām:

1. Uz priekšu n (kur n ir vesels skaitlis) - liek Bruņurupucim pārvietot n soļus kustības virzienā - virzienā, kurā ir vērsta tā galva un ķermenis;
2. Labais m (kur m ir vesels skaitlis) - izraisa Bruņurupuča kustības virziena izmaiņas par t grādiem pulksteņrādītāja virzienā.
Ieraksts Atkārtojiet k [<Команда1> <Команда2> ... <Командаn>] nozīmē, ka komandu secība iekavās tiks atkārtota k reizes.

Padomājiet par to, kāda figūra parādīsies ekrānā pēc tam, kad Bruņurupucis izpildīs tālāk norādīto algoritmu.
Atkārtot 12 [pa labi 45 uz priekšu 20 pa labi 45]

6. piemērs. Izpildītāju komandu sistēma Dators sastāv no divām komandām, kurām ir piešķirti numuri:

1 - atņemiet 1
2 - reiziniet ar 3

Pirmais no tiem samazina skaitli par 1, otrais palielina to 3 reizes. Rakstot algoritmus, īsuma labad tiek norādīti tikai komandu numuri. Piemēram, algoritms 21212 nozīmē šādu komandu secību:

Reiziniet ar 3
atņemt 1
reizināt ar 3
atņemt 1
reizināt ar 3

Izmantojot šo algoritmu, skaitlis 1 tiks pārvērsts par 15:

((1 3 - 1) 3 - 1) 3 = 15.

7. piemērs. Izpildītājs Robots darbojas rūtainā laukā, starp blakus esošajām šūnām var būt sienas. Robots pārvietojas pa lauka šūnām un var izpildīt šādas komandas, kurām ir piešķirti numuri:


1 — uz augšu
2 - uz leju
3 - pa labi
4 - pa kreisi

Izpildot katru šādu komandu, robots virzās uz blakus esošo šūnu norādītajā virzienā. Ja šajā virzienā starp šūnām ir siena, tad Robots tiek iznīcināts.

Kas notiks ar Robotu, ja tas izpildīs komandu secību 32323 (šeit cipari norāda komandu numurus), sākot pārvietoties no šūnas A? Kāda komandu secība ir jāizpilda robotam, lai pārietu no šūnas A uz šūnu B, nesabrūkot, atsitoties pret sienām?

Izstrādājot algoritmu:

1) tiek identificēti problēmā sastopamie objekti, tiek noteiktas objektu īpašības, attiecības starp objektiem un iespējamās darbības ar objektiem;
2) tiek noteikti sākotnējie dati un nepieciešamais rezultāts;
3) tiek noteikta izpildītāja darbību secība, nodrošinot pāreju no sākuma datiem uz rezultātu;
4) darbību secība tiek ierakstīta, izmantojot komandas, kas iekļautas izpildītāja komandu sistēmā.

Var teikt, ka algoritms ir algoritma izpildītāja darbības modelis.

2.1.3. Algoritma īpašības

Ne katru instrukciju, instrukciju secību vai rīcības plānu var uzskatīt par algoritmu. Katram algoritmam noteikti ir šādas īpašības: diskrētums, saprotamība, noteiktība, efektivitāte un masveida raksturs.

Diskrēts īpašums nozīmē, ka ceļš uz problēmas risināšanu ir sadalīts atsevišķos soļos (darbībās). Katrai darbībai ir atbilstoša instrukcija (komanda). Tikai pēc vienas komandas izpildes izpildītājs var sākt izpildīt nākamo komandu.

Saprotamības īpašība nozīmē, ka algoritms sastāv tikai no komandām, kas iekļautas izpildītāja komandu sistēmā, t.i., no tādām komandām, kuras izpildītājs var uztvert un saskaņā ar kurām viņš var veikt nepieciešamās darbības.

Pārliecības īpašība nozīmē, ka algoritms nesatur komandas, kuru nozīmi izpildītājs var interpretēt neviennozīmīgi; Nav pieļaujamas situācijas, kad pēc nākamās komandas izpildes izpildītājam nav skaidrs, kuru komandu izpildīt nākamo. Pateicoties tam, algoritma rezultātu unikāli nosaka sākotnējo datu kopa: ja algoritms tiek lietots vairākas reizes vienai un tai pašai sākotnējo datu kopai, tad izvade vienmēr rada vienu un to pašu rezultātu.

Veiktspējas īpašums nozīmē, ka algoritmam jāsniedz rezultāts pēc ierobežota, iespējams, ļoti liela soļu skaita. Šajā gadījumā rezultāts tiek uzskatīts ne tikai par atbildi, ko nosaka problēmas izklāsts, bet arī par secinājumu par neiespējamību turpināt šīs problēmas risināšanu jebkāda iemesla dēļ.

Masu rakstura īpašība nozīmē, ka algoritmam ir jānodrošina tā pielietošanas iespēja, lai atrisinātu jebkuru problēmu no noteiktas uzdevumu klases. Piemēram, kvadrātvienādojuma sakņu atrašanas algoritmam jābūt piemērojamam jebkuram kvadrātvienādojumam, ielas šķērsošanas algoritmam jābūt piemērojamam jebkurā vietā uz ielas, zāļu pagatavošanas algoritmam jābūt piemērojamam jebkura to daudzuma pagatavošanai, utt.

8. piemērs. Apskatīsim vienu no metodēm, kā atrast visus pirmskaitļus, kas nepārsniedz kādu naturālu skaitli n. Šo metodi sauc par “Eratostena sietu” pēc sengrieķu zinātnieka Eratostena (3. gadsimtā pirms mūsu ēras), kurš to ierosināja.

Lai atrastu visus pirmskaitļus, kas nav lielāki par doto skaitli n, izmantojot Eratostena metodi, jāveic šādas darbības:

1) pierakstiet pēc kārtas visus naturālos skaitļus no 2 līdz n (2, 3, 4, ..., n);
2) kadrs 2 - pirmais pirmskaitlis;
3) izsvītro no saraksta visus skaitļus, kas dalās ar pēdējo atrasto pirmskaitli;
4) atrodiet pirmo neatzīmēto skaitli (atzīmētie skaitļi ir izsvītroti skaitļi vai skaitļi, kas ir ietverti rāmī) un ielieciet to rāmītī - tas būs vēl viens pirmskaitlis;
5) atkārtojiet 3. un 4. darbību, līdz vairs nav palicis neviens neatzīmēts numurs.

Vizuālāku priekšstatu par pirmskaitļu atrašanas metodi var iegūt, izmantojot animāciju “Eratostena siets” (180279), kas ievietota Vienotajā digitālo izglītības resursu kolekcijā.

Aplūkotā darbību secība ir algoritms, jo tā atbilst šādām īpašībām:

diskrētums- pirmskaitļu atrašanas process ir sadalīts soļos;
saprotamība- katra komanda ir saprotama 8. klases skolēnam, veicot šo algoritmu;
noteiktību- katru komandu izpildītājs interpretē un izpilda nepārprotami; ir norādījumi par komandu izpildes kārtību;
efektivitāti- pēc noteikta soļu skaita tiek sasniegts rezultāts;
masu raksturs- darbību secība ir piemērojama jebkuram naturālam skaitlim n.

Aplūkotās algoritma īpašības ļauj sniegt precīzāku algoritma definīciju.

Algoritms ir konkrētam izpildītājam paredzētas darbību secības apraksts, kas ved no sākotnējiem datiem līdz vajadzīgajam rezultātam, kam piemīt diskrētuma, saprotamības, noteiktības, efektivitātes un masveida rakstura īpašības.

2.1.4. Cilvēka darbību automatizācijas iespēja

Algoritma izstrāde parasti ir darbietilpīgs darbs, kas no cilvēka prasa dziļas zināšanas, atjautību un daudz laika.

Lai atrisinātu problēmu, izmantojot gatavu algoritmu, izpildītājam ir tikai stingri jāievēro sniegtie norādījumi.

9. piemērs. No kaudzes, kurā ir jebkurš objektu skaits, kas lielāks par trim, divi spēlētāji pārmaiņus paņem katrs vienu vai divus priekšmetus. Uzvar tas, kurš savā nākamajā gājienā var paņemt visas atlikušās preces.

Apskatīsim algoritmu, pēc kura pirmais spēlētājs noteikti nodrošinās uzvaru.

1. Ja objektu skaits kaudzē ir reizināts ar 3, tad dodiet ceļu pretiniekam, pretējā gadījumā sāciet spēli, paņemot 1 vai 2 objektus, lai atlikušo objektu skaits būtu 3 reizes.
2. Ar nākamo gājienu katru reizi pievienojiet pretinieka paņemto objektu skaitu līdz 3 (atlikušo objektu skaitam ir jābūt 3 reizinājumam).

Izpildītājs var neiedziļināties tajā, ko viņš dara, un nedomāt, kāpēc viņš rīkojas tā un ne citādi, tas ir, viņš var rīkoties formāli. Izpildītāja spēja rīkoties formāli nodrošina cilvēka darbības automatizācijas iespēju. Priekš šī:

1) problēmas risināšanas process tiek pasniegts kā vienkāršu darbību secība;
2) ir izveidota mašīna (automātiskā iekārta), kas spēj veikt šīs darbības algoritmā noteiktajā secībā;
3) cilvēks tiek atbrīvots no rutīnas darbībām, algoritma izpilde tiek uzticēta automātiskai iekārtai.

SVARĪGĀKĀ

Izpildītājs- kāds objekts (persona, dzīvnieks, tehniska ierīce), kas spēj izpildīt noteiktu komandu kopu.

Formāls izpildītājs vienmēr izpilda vienu un to pašu komandu vienādi. Katram oficiālajam izpildītājam varat norādīt: risināmo uzdevumu klāsts, vide, komandu sistēma un darbības režīms.

Algoritms- konkrētam izpildītājam paredzēto darbību secības apraksts, kas ved no sākotnējiem datiem līdz vajadzīgajam rezultātam, kuram piemīt diskrētuma, saprotamības, noteiktības, efektivitātes un masu rakstura īpašības.

Izpildītāja spēja darboties formāli nodrošina iespēju automatizēt cilvēka darbības.

Jautājumi un uzdevumi

1. Izlasiet rindkopas prezentācijas materiālus elektroniskā pieteikšanās uz mācību grāmatu. Vai prezentācija papildina rindkopas tekstā ietverto informāciju? Kādus slaidus jūs varētu izmantot, lai papildinātu savu prezentāciju?

2. Ko sauc par algoritmu?

3. Izvēlieties sinonīmus vārdam “recepte”.

4. Sniedziet skolā apgūto algoritmu piemērus.

5. Kas var būt algoritma izpildītājs?

6. Sniedziet formāla izpildītāja piemēru. Sniedziet piemēru, kad persona darbojas kā formāls izpildītājs.

7. Kas nosaka “datora” izpildītāja veicamo uzdevumu loku?

8. Uzskatiet tekstapstrādes programmu savā datorā par izpildītāju. Aprakstiet šī izpildītāja un viņa vides atrisināto uzdevumu klāstu.

9. Kas ir komanda, izpildītāju komandu sistēma?

10. Kādas komandas robotam jāveic šādas funkcijas:

a) kasiere veikalā;
b) sētnieks;
c) apsargs?

11. Uzskaitiet galvenās algoritma īpašības.

12. Pie kā var novest algoritma īpašību neesamība? Sniedziet piemērus.

13. Kāda nozīme ir spējai formāli izpildīt algoritmu?

14. Skaitļu secība tiek konstruēta pēc šāda algoritma: secības pirmie divi skaitļi tiek pieņemti vienādi ar 1; Katrs nākamais skaitlis secībā ir vienāds ar divu iepriekšējo skaitļu summu. Pierakstiet šīs secības pirmos 10 vārdus. Uzziniet, kā sauc šo secību.

15. Noteikts algoritms iegūst jaunu ķēdi no vienas rakstzīmju virknes šādi. Vispirms tiek uzrakstīta sākotnējā rakstzīmju ķēde, pēc tās tiek rakstīta sākotnējā rakstzīmju ķēde apgrieztā secībā, pēc tam tiek rakstīts burts, kas seko krievu alfabētā pēc burta, kas bija pēdējā vietā sākotnējā ķēdē. Ja burts “I” atrodas sākotnējā ķēdes pēdējā vietā, tad burts “A” tiek rakstīts kā nākamais burts. Iegūtā ķēde ir algoritma rezultāts. Piemēram, ja sākotnējā rakstzīmju ķēde bija “HOUSE”, tad algoritma rezultāts būs ķēde “DOMMODN”. Tiek dota rakstzīmju virkne “COM”. Cik burtu “O” būs rakstzīmju ķēdē, kas tiks iegūta, ja šai ķēdei piemērosit algoritmu un pēc tam vēlreiz piemērosit algoritmu tās darba rezultātam?

16. Atrodiet internetā Eratostena algoritma soļu animāciju. Izmantojiet Eratostena algoritmu, lai atrastu visus pirmskaitļus, kas nepārsniedz 50.

17. Kāds būs algoritma bruņurupuča izpildes rezultāts (skat. 5. piemēru)?

18. Pierakstiet kalkulatora izpildītāja algoritmu (skatiet 6. piemēru), kas satur ne vairāk kā 5 komandas:

a) saņemot no skaitļa 3 skaitli 16;
b) saņemot no skaitļa 1 skaitli 25.

19. Izpildītāju komandu sistēma Konstruktors sastāv no divām komandām, kurām ir piešķirti numuri:

1 — piešķirt 2
2 - dalīt ar 2

Saskaņā ar pirmo no tiem skaitlim labajā pusē tiek pievienots 2, saskaņā ar otro skaitli dala ar 2. Kā tiks pārvērsts skaitlis 8, ja izpildītājs izpilda algoritmu 22212? Šī izpildītāja komandu sistēmā izveidojiet algoritmu, saskaņā ar kuru skaitlis 1 tiks pārveidots par skaitli 16 (algoritmā jābūt ne vairāk kā 5 komandām).

20. Kurā šūnā jāatrodas Robota izpildītājam (7. piemērs), lai atgrieztos tajā pēc algoritma 3241 izpildes?

Bezmaksas programmatūra:

KuMir sistēma - izglītības pasauļu komplekts (lejupielādējiet programmas arhīvu no vietnes) vai apmeklējiet KuMir lapu ((http://www.niisi.ru/kumir/)

Lūdzu, apturiet AdBlock šajā vietnē.

Šajā nodarbībā aplūkosim dažus teorētiskos jēdzienus, kas formalizē programmēšanas jēdzienu. Tajā pašā laikā mēs precīzāk formulēsim jūsu apmācības galveno uzdevumu.

Sākumā es iesaku jums nedaudz paspēlēties ar šādu bērnu rotaļlietu. Pabeidziet pirmos piecus uzdevumus, atgriezieties un turpiniet lasīt nodarbību.

1. att. Spēles lauka ekrānuzņēmums vietnē code.org

Es ceru, ka jums viss izdevās. Tagad, izmantojot šo piemēru, mēs aprakstīsim vairākus pamatjēdzienus:

  • izpildītājs;
  • izpildītāju komandu sistēma;
  • algoritms.

Rotaļlietā mēs kontrolējam sarkanu putnu. Katra posma mērķis ir nogādāt putnu pie cūkas. Putns var izpildīt noteiktas komandas, piemēram: virzīties uz priekšu, pagriezties pa kreisi, pagriezties pa labi utt.

Personu, mašīnu vai ierīci, kas var izpildīt dažas komandas, sauc par izpildītāju. Acīmredzot šajā rotaļlietā izpildītājs ir putns. Tiek izsaukta komandu kopa, ko izpildītājs saprot un var izpildīt izpildītāju komandu sistēma.

Komandu secību, kas izpildītājam jāizpilda, lai atrisinātu problēmu, sauc par algoritmu.

Ir nepieciešams koncentrēties uz vairākiem punktiem.

Izpildītājs var izpildīt tikai tās komandas, kas ir iekļautas viņa komandu sistēmā.

Tas nozīmē, ka, piemēram, jūs nevarat rakstīt putnu izpildītājam: "Ej pie cūkas!" Var jau precīzāk pierakstīt, bet nekas nesanāks, jo... šādu komandu izpildītājs nezina.

Varat pierakstīt pieejamās komandas jebkurā secībā, ko uzskatāt par pareizu. Jūsu kā programmētāja uzdevums ir sadalīt lielu sarežģītu uzdevumu mazos atsevišķos soļos, no kuriem katrs būs saprotams izpildītājam. Princips "skaldi un valdi" atkal darbojas.

Izpildītājs dara tieši to, ko algoritms viņam liek darīt.

Putnu izpildītājs ir ļoti uzticīgs. Viņa neapšauba to, ko jūs rakstāt programmā. Ja, piemēram, aizmirstat pagriezt putnu, tas ietrieksies sienā. Tāpēc viss jāuzrauga pašam.

Jūsu nākotnes programmas bieži nedarbosies, kā jūs plānojāt. Kļūdas gadās visiem. Šeit ir svarīgi saprast, ka stulbs nav dators, bet jūs kļūdījāties algoritmā. Neesiet kā slikti programmētāji, kuriem programma vienmēr pie visa vainīga.

Tagad pāriesim no ilustratīvā piemēra uz datora realitāti. Mēs rakstām programmas datoram, kas nozīmē, ka dators mūsu gadījumā ir izpildītājs. Komandu sistēma ir C valodas standarta funkcijas un konstrukcijas.

Kāds ir galvenais mērķis, mācot programmēšanas pamatus? Apgūstiet algoritmiskās domāšanas prasmi. Tas ir, iemācieties pierakstīt dažādu problēmu risinājumu konkrētam izpildītājam (mūsu gadījumā datoram) algoritma veidā.

Tātad, apkopojot:

Datorprogramma– problēmas risināšanas algoritms, kas uzrakstīts programmēšanas valodā.

Algoritms ir precīzs darbību secības apraksts, kas izpildītājam jāveic, lai atrisinātu problēmu.

Izpildītājs ir persona vai kāda ierīce, kas var saprast un izpildīt noteiktu komandu kopu.

Vārds “algoritms” cēlies no 9. gadsimta arābu matemātiķa al Khwarizmi vārda, kurš formulēja aritmētisko darbību veikšanas noteikumus.

Algoritms– precīza un saprotama instrukcija izpildītājam izpildīt galīgo komandu secību, kas ved no sākotnējiem datiem līdz sākotnējam rezultātam.

Piemēri: ikdienas rutīna, gatavošanas secība, instrukcijas utt.)

Algoritma izpildītājs– tas ir tas, kurš izpilda algoritmu (cilvēks, dzīvnieks, mašīna, dators).

Izpildītāju komandu sistēma- tas ir viss komandu kopums, ko izpildītājs zina, kā izpildīt (saprot). Algoritmu var uzbūvēt tikai no komandām, kas iekļautas izpildītāju komandu sistēmā.

Piemēram, izpildītājs Robots var izpildīt komandas uz priekšu, atpakaļ, pa kreisi, pa labi, gleznot. Tas pārvietojas pa šūnu lauku, ko ierobežo siena un satur sienas. Robots nevar iziet cauri sienai.

Algoritma īpašības:

1.Veiktspēja (ekstremitāte)– spēja iegūt rezultātu no sākotnējiem datiem ierobežotā soļu skaitā. (Piemēram, izpildot 2 skaitļu saskaitīšanas algoritmu, jāiegūst summa).

2.Masu raksturs– spēja pielietot algoritmu lielam skaitam dažādu avota datu. (Piemēram, jūs varat pievienot jebkurus 2 skaitļus, zinot pievienošanas algoritmu.)

3.Determinisms(noteiktība, precizitāte) – katrai komandai unikāli jānosaka izpildītāja darbība.

4.Saprotamība– komandai jābūt uzrakstītai datoram saprotamā valodā.

5.Diskrētība– algoritma sadalīšana atsevišķās komandās.

Algoritma rakstīšanas veidi:

1) Dabiskajā valodā – ieraksts atsevišķu komandu veidā cilvēkam saprotamā valodā.

2) Grafika – blokshēmu valodā, izmantojot ģeometriskas formas (ovāls, taisnstūris, paralelograms, rombs).

3) Algoritmiskajā valodā - valoda programmēšanas mācīšanas algoritmu rakstīšanai. Komandas ir rakstītas krievu valodā.

4) Programmēšanas valodā - programma. Programmēšanas valodas: Basic, Pascal, C, Visual Basic.

B7. Algoritmiskās pamatstruktūras: sekošana, atzarošana, cilpa; attēls blokshēmās. Uzdevumu sadalīšana apakšuzdevumos. Papildu algoritmi.

Algoritmiskie dizaini. Algoritmu ietvaros var izdalīt soļu grupas, kas atšķiras pēc iekšējās struktūras - algoritmiskās konstrukcijas.

Algoritmiskās pamatkonstrukcijas ir lineāra soļu (vai sekojošu) secība, sazarošana un cilpa.

Tiek izsaukts algoritms, kurā komandas tiek izpildītas secīgi viena pēc otras lineārais algoritms.

Lūk, kā lineārais algoritms izskatās blokshēmas valodā:

Piemērs: datora ieslēgšanas algoritms:

  1. Ieslēdziet datoru (nospiediet ieslēgšanas pogu pārsprieguma aizsargs).
  2. Ieslēdziet monitoru un printeri.
  3. Klikšķis Ieslēgšanas poga ieslēgts sistēmas bloks.
  4. Pagaidiet ielādi operētājsistēma un darbvirsmas izskats.
  5. Ķeries pie darba.

Šajā algoritmā visas darbības jāveic secīgi viena pēc otras: jūs nevarat sākt strādāt, ja nav ieslēgta barošana vai monitors.

Algoritmiskajā struktūrā " zarošanās» iekļauts stāvokli, atkarībā no nosacījuma patiesuma tiek izpildīta viena vai otra komandu secība (sērija).

Nosacījums ir apgalvojums, kas var būt patiess vai nepatiess. Nosacījumā divi skaitļi, divas virknes, divi mainīgie vai virkņu izteiksmes tiek salīdzināti viens ar otru, izmantojot salīdzināšanas operatorus (>,<, =, >=, <=).

Ieraksts algoritmiskā valodā: IfCondition Then Series 1 (If Stāvoklis taisnība, tad taisnība 1. sērija, Ja Stāvoklis nepatiess, tad nekas netiek izpildīts). Piemērs: ja šodien ir svētdiena, tad uz skolu nav jāiet. Pilna zarojuma forma

Algoritmiskās struktūrās cikls ietver vairākas komandas, kas tiek izpildītas atkārtoti. Šo komandu secību sauc cilpas korpuss.

Ir divu veidu cikliskās algoritmiskās struktūras:

  • pretrunā cilpas, kurā cilpas pamatteksts tiek izpildīts noteiktu skaitu reižu;
  • nosacījuma cilpas, kurā cilpas pamatteksts tiek izpildīts tik ilgi, kamēr ir izpildīts nosacījums.

Cilpa ar skaitītāju– izmanto, ja ir iepriekš zināms, cik cilpas korpusa atkārtojumu nepieciešams veikt.

Algoritms un tā īpašības.

Algoritms- skaidra un precīza instrukcija izpildītājam izpildīt pēdējo komandu secību, kas ved no sākotnējiem datiem līdz vēlamajam rezultātam.

Algoritma izpildītājs- tas ir objekts vai subjekts, kura vadīšanai ir paredzēts algoritms.

Izpildītāja komandu sistēma (SCS) ir viss komandu kopums, ko izpildītājs var izpildīt.

Algoritma īpašības: saprotamība, precizitāte, galīgums.

Skaidrība: algoritms sastāv tikai no komandām, kas iekļautas izpildītāja SKI.

Precizitāte: Katra vadības algoritma komanda nosaka izpildītāja nepārprotamo darbību.

Nobeigums (vai veiktspēja): algoritma izpildei jānoved pie rezultāta ierobežotā soļu skaitā.

Izpildītāja vide: vide, kurā izpildītājs darbojas.

Uz dažiem vienmēr attiecas noteikta izpildītāja darbību secība avota dati. Piemēram, lai pagatavotu ēdienu pēc kulinārijas receptes, nepieciešami atbilstoši produkti (dati). Matemātiskas problēmas risināšanai (kvadrātvienādojuma atrisināšanai) nepieciešami sākotnējie skaitliskie dati (vienādojuma koeficienti).

Pilna datu kopa: nepieciešams un pietiekams datu kopums, lai atrisinātu uzdevumu (iegūtu vēlamo rezultātu).

Algoritmu rakstīšanas metodes.

Visizplatītākās metodes ir: grafisks, verbāls un formā datorprogrammas.

Grafiskā metode ietver noteiktu grafisko simbolu - bloku izmantošanu.

Bloķēt nosaukumu Bloka apzīmējums Saturs
Process
Datu apstrāde
Lēmumu pieņemšana
Loģisks bloks noteikta nosacījuma patiesuma vai nepatiesības pārbaudei
Datu pārsūtīšana
Informācijas ievade vai izvade
Sāciet, pārtrauciet
Programmas sākums vai beigas
Modifikācija
Cikliskā procesa organizācija - cikla galvene

Bloku kolekcija veido t.s algoritma blokshēma.

Verbāls ieraksts algoritmi ir vērsti galvenokārt uz cilvēka izpildītāju un pieļauj dažādu instrukciju ierakstīšanu, taču ierakstam jābūt diezgan precīzam.

Rakstot algoritmus formā programmas datori izmanto programmēšanas valodas - instrukciju kodēšanas sistēmas un to lietošanas noteikumus. Algoritmu rakstīšanai programmu formā ir raksturīga augsta formalizācijas pakāpe.

Algoritmi darbam ar daudzumiem. Algoritmiskās pamatstruktūras.

Daudzums ir viens informācijas objekts, kam ir nosaukums, vērtība un veids.

Algoritmu izpildītājs darbam ar daudzumiem var būt cilvēks vai īpaša tehniska ierīce, piemēram, dators. Tādam izpildītājam jābūt atmiņa daudzumu uzglabāšanai.

Daudzumi var būt nemainīgi vai mainīgi.

Konstanta vērtība (konstante) nemaina savu vērtību algoritma izpildes laikā. Konstanti var apzīmēt ar tās vērtību (skaitļi 10, 3.5) vai ar simbolisku nosaukumu (skaitli).

Mainīga vērtība var mainīt vērtību algoritma izpildes laikā. Mainīgais vienmēr tiek apzīmēts ar simbolisku nosaukumu (X, A, R5 utt.).

Daudzuma veids definē vērtību kopu, ko vērtība var veikt, un darbību kopu, ko var veikt ar šo vērtību. Lielumu pamatveidi: vesels skaitlis, reāls, simboliskais, loģiskais.

Izteiksme- ieraksts, kas nosaka darbību secību ar daudzumiem. Izteiksmē var būt konstantes, mainīgie, darbības zīmes un funkcijas. Piemērs:

A + B; 2*X-Y; K + L — grēks(X)

Piešķiršanas komanda ir izpildītāja komanda, kuras rezultātā mainīgais saņem jaunu vērtību. Komandas formāts:

mainīgā nosaukums>:=izteiksme>

Piešķiršanas komanda tiek izpildīta šādā secībā: vispirms tiek aprēķināta, pēc tam iegūtā vērtība tiek piešķirta mainīgajam.

Piemērs. Lai mainīgajam A ir vērtība 6. Kādu vērtību mainīgais A saņems pēc komandas izpildes: A:= 2 * A - 1?
Risinājums. Aprēķinot izteiksmi 2*A - 1 ar A=6, tiks iegūts skaitlis 11. Tas nozīmē, ka mainīgā A jaunā vērtība būs vienāda ar 11.

Turpmāk tiks pieņemts, ka algoritmu izpildītājs darbam ar daudzumiem ir dators. Jebkuru algoritmu var izveidot no komandām uzdevumiem, ievade, izvade, zarošanās Un cikls.

Ievades komanda- komanda, ar kuru mainīgās vērtības tiek iestatītas, izmantojot ievades ierīces (piemēram, tastatūru).

Piemērs: ievade A - mainīgā A vērtības ievadīšana no datora tastatūras.

Izvades komanda: komanda, kas parāda daudzuma vērtību datora izvades ierīcē (piemēram, monitorā).

Piemērs: secinājums X - ekrānā tiek parādīta X mainīgā vērtība.

Filiāles komanda- sadala algoritmu divos ceļos atkarībā no kāda nosacījuma; tad algoritma izpilde iet uz vispārīgu turpinājumu. Sazarošanās var būt pilnīga vai nepilnīga. Sazarojumu apraksts blokshēmās un algoritmiskajā valodā:

Šeit sērija nozīmē vienu vai vairākas secīgas komandas; kv - atzarojuma beigas.

Cilpas komanda nodrošina atkārtotu komandu secības izpildi (cilpas pamatteksts), pamatojoties uz kādu nosacījumu.

Cilpa ar priekšnosacījumu- cilpa, kuras izpilde tiek atkārtota, līdz cilpas nosacījums ir patiess:

Cilpa ar parametru- atkārtota cilpas korpusa izpilde, kamēr veselais skaitļa parametrs iet cauri visu vērtību kopai no sākotnējās (In) līdz galīgajai (Ik):

Piemērs. Ir dotas divas vienkāršās daļas. Izveidojiet algoritmu, lai iegūtu daļu, kas ir to dalīšanas rezultāts.
Risinājums. Algebriskā formā problēmas risinājums izskatās šādi:
a/b: c/d = a*d/b*c = m/n
Sākotnējie dati ir četri veseli skaitļi: a, b, c, d. Rezultāts ir divi veseli skaitļi m un n.

alg dalīšanas daļas
neskarts a, b, c, d, m, n
sākuma ievade a, b, c, d
m:=a*d
n:=b*c
izeja "Numerators=", m
izvade "Saucējs=", n
koi

Lūdzu, ņemiet vērā, ka, lai izvadītu tekstu (jebkuru rakstzīmju secību), tas komandā jāraksta pēdiņās secinājums.

  1. Efimova O., Morozovs V., Ugrinovich N. Datortehnoloģijas kurss ar datorzinātņu pamatiem. Apmācība vidusskolai. - M.: SIA "Izdevniecība AST"; ABF, 2000. gads
  2. Problēmgrāmata-darbnīca datorzinātnēs. 2 sējumos/Red. I. Semakina, E. Hennere. - M.: Pamatzināšanu laboratorija, 2001.g.
  3. Ugrinovičs N. Datorzinātnes un informāciju tehnoloģijas. 10-11 klase - M.: Pamatzināšanu laboratorija, AS "Maskavas mācību grāmatas", 2001.g.

Uzdevumi un testi par tēmu "Algoritmi un izpildītāji"

  • Mākslinieku menedžmenta sagatavotājs - Algoritmi 6. klase

    Nodarbības: 4 Uzdevumi: 9 Pārbaudījumi: 1

  • 2 Uzdevumi: 9 Pārbaudījumi: 1

Cienījamais student!

Zināšanas par tēmu "Algoritmi un izpildītāji" ir nepieciešamas galvenokārt turpmākai programmēšanas apguvei. Par pamatu programmēšanas apguvei tika izvēlēta QBasic programmēšanas valoda. Mēs atteicāmies no idejas iekļaut savā kursā Visual Basic vai jebkuru citu objektorientētu programmēšanas valodu, jo šī pieeja vēl nav plaši izmantota lielākajā daļā Krievijas Federācijas vidusskolu. Turklāt objektorientētā programmēšana balstās uz klasiskās Dos programmēšanas principiem.

Mūsu kurss ir paredzēts vispārējās izglītības programmai. Gatavojoties iestājeksāmeniem informācijas tehnoloģijās augstskolās, jāiepazīstas ar programmēšanas studiju specifiku attiecīgajā augstskolā. Dažos gadījumos ir nepieciešama vairāku tēmu padziļināta izpēte, piemēram, "Masīvi". Studējot programmēšanas literatūru, jums vajadzētu pievērst tam uzmanību; varbūt jums vajadzētu to izmantot metodiskie ieteikumi par gatavošanos eksāmeniem, kas šobrīd tiek publicēti lielākajā daļā augstskolu.

Noslēgumā mēs atzīmējam, ka “aerobātikas” sasniegšana programmēšanā ir iespējama tikai ar pastāvīgu praksi un risinot konkrētas lietišķas problēmas.




Tops