Typy algoritmů - Znalostní hypermarket. Provádění algoritmu s pevnou sadou příkazů Prováděním algoritmu může být někdo, kdo rozumí

MBOU "Střední škola Glinnovskaja"

Novooskolský okres

oblast Belgorod

Plán - shrnutí lekce

(9. třída)

„Algoritmy, koncepty algoritmu, vlastnosti algoritmu. Vykonavatelé algoritmu"

Připravil:

Naučte se informatiku

Tarasová N.G.

2011

Předmět: Pojem algoritmů, vlastnosti algoritmu. Vykonavatelé algoritmů, systém vykonavatelských příkazů. Metody pro záznam algoritmů. Formální provádění algoritmů.

Typ lekce: seznámení s novým materiálem.

cíle:

  1. Podporovat rozvoj algoritmického myšlení;
  2. Uveďte pojem algoritmu, pohovořte o jeho vlastnostech, uveďte klasifikaci algoritmů;
  3. Představit podobu záznamových algoritmů - vývojový diagram.

Zařízení : projektor, prezentace.

Během vyučování

1 org. Moment

Pozdrav, nástup, zavolání.

2 Aktualizace podpůrného materiálu

Kluci, řekněte mi prosím, jak rozumíte slovu algoritmus? Kde se s tímto pojmem setkáváme?

3 Prezentace materiálu

Původ termínu „algoritmus“ souvisí s matematikou. Historie jeho vzniku je následující. V 9. století žil v Bagdádu vědec al(al)-Khorezmi (celým jménem - Muhammad ben Musa al-Khorezmi, tj. Muhammad syn Musy z Khorezmu), matematik, astronom, geograf. V jedné ze svých prací popsal desítkovou číselnou soustavu a poprvé formuloval pravidla pro provádění aritmetických operací s celými čísly a obyčejnými zlomky. Arabský originál této knihy se ztratil, zůstal však latinský překlad z 12. století, podle kterého se západní Evropa seznámila s desítkovou číselnou soustavou a pravidly pro provádění početních operací.

Al-Khorezmi se snažil zajistit, aby pravidla, která formuloval, byla srozumitelná. Toho bylo obtížné dosáhnout v 9. století, kdy ještě nebyly vyvinuty matematické symboly (operační znaky, závorky, písmenné symboly atd.). Daří se mu však vyvinout jasný styl přísných slovních pokynů, které nedávaly čtenáři možnost vyhýbat se předepsaným či přeskakovat jakékoli úkony.

Pravidla v knihách cm-Khorezmi v latinském překladu začínala slovy „Algorizmi řekl“. V jiných latinských překladech byl autor označován jako Algorithmus. Postupem času se zapomnělo, že autorem pravidel je Algorizmi (Algorithmus) a tato pravidla se začala nazývat algoritmy. Po mnoho staletí byly vyvíjeny algoritmy pro řešení stále nových tříd problémů, ale samotný koncept algoritmu neměl přesnou matematickou definici.

V současné době je pojem algoritmus objasněn a byl vytvořen ve 20. století v rámci vědy zvané teorie algoritmů.

Algoritmus - přesné a srozumitelné pokyny pro výkonného umělce k provedení sledu akcí zaměřených na vyřešení úkolu.

Algoritmus - jasně organizovaná sekvenční akce vedoucí ke konkrétnímu výsledku.

Vykonavatel algoritmu je nějaký abstraktní nebo skutečnýsystém schopný provést akci předepsanou algoritmem (technickým, biologickým nebo biotechnickým).

Technický manažer– bankomat;

Biologický - člověk, živý organismus;

Biotechnologie - umělá inteligence.

Vlastnosti algoritmů

Diskrétnost (oddělenost, diskontinuita) – algoritmus musí být zapsán jako posloupnost kroků nebo fází.

Srozumitelnost vykonavatel algoritmu musí vědět, jak tento algoritmus provést.

Jistota (determinismus) každé pravidlo algoritmu musí být jasné, jednoznačné a nenechávat prostor pro svévoli.

Díky této vlastnosti je provádění algoritmu mechanické povahy a nevyžaduje další instrukce.

Účinnost(konečnost) Algoritmus musí vést k řešení problému v konečném počtu kroků.

Masový charakter Algoritmus je vyvíjen v obecné formě tak, aby jej bylo možné použít pro řešení podobných problémů. V tomto případě jsou počáteční data vybrána z určitých oblastí, které se nazývají oblast použití algoritmů.

Způsoby psaní algoritmů

Pokud jsou vlastnosti jistoty a diskrétnosti zachovány s určitou mírou přesnosti, tzn. program může přeskupit kroky nebo obsahuje žádoucí, ale ne povinné kroky, pak se nejedná o algoritmus, alealgoritmický předpis.

Každý algoritmus je navržen pro něco konkrétního umělec. Může to být člověk, robot, počítač atd. Každý účinkující má svůj vlastní systém velení. Při sestavování algoritmu je třeba vzít v úvahu, pro kterého interpreta je určen. Interpret může provést algoritmus, aniž by se ponořil do smyslu toho, co dělá, proč to dělá, a přesto dosáhne požadovaného výsledku. V takových případech se říká, že algoritmus je proveden formálně.

Formuláře pro záznam algoritmů:

Slovní je popis postupných fází zpracování dat. Algoritmus je libovolná prezentace v přirozeném jazyce

Grafický - sled vzájemně propojených bloků, z nichž každý odpovídá provedení jedné nebo více akcí.

Takové grafické znázornění se nazývá blokové schéma - orientovaný graf udávající pořadí provádění příkazů algoritmu.

Grafické formy záznamových algoritmů:

Základní algoritmické struktury

Následující (lineární algoritmus) smyčky

Větvení

Následující – příkazy se provádějí jeden po druhém v pořadí, v jakém jsou zapsány v algoritmu.((Příklad. Algoritmus pro otevření dveří do bytu: vyjměte klíč, vložte jej doklíčovou dírkou, otočte požadovaný počet krát, vytáhněte klíč, otevřete dveře. ZAVÍREJTE DVEŘE)

Větvení - data ovlivňují průběh algoritmu, tzn. v závislosti na stavujsou prováděny určité akce algoritmu.(Příklad, Algoritmus pro „vstup“ do vašeho bytu: zavolejte do bytu; pokud je někdo doma, počkejte, až se otevřou dveře avstoupit do bytu, pokud nikdo není doma, získat klíč; ...)

Cyklus (opakování)- při provádění algoritmu určitýsada příkazů (Příklad.(Mytí 10 talířů: vzít talíř, umýt, dát do sušičky, vzíttalíř, umýt, dát do sušičky atd., dokud nedojdou talíře.)

4 Aplikace získaných znalostí

Úkol provádět příkazy algoritmu s a=1, b=2, c=3

TÉMA 8. ZÁKLADY ALGORITMIZACE A PROGRAMOVÁNÍ

8.1. Pojem algoritmus a vykonavatel algoritmu. Vlastnosti algoritmů

"Algoritmus" je základní koncept v informatice. Jeho pochopení je nezbytné pro efektivní využití výpočetní techniky k řešení praktických problémů. Algoritmus je pokyn pro výkonného umělce (lidského nebo automatického), aby provedl přesně definovaný sled akcí zaměřených na dosažení daného cíle. Algoritmus je pravidlo formulované v určitém jazyce, udávající akce, jejichž postupné provádění vede od počátečních dat k požadovanému výsledku. Význam slova algoritmus velmi podobný významu slov recept, proces, metoda, metoda. Každý algoritmus, na rozdíl od receptury nebo metody, má však nutně následující vlastnosti.
Vlastnosti algoritmu (odlišující od jakýchkoli jiných předpisů): jasnost(pro konkrétního interpreta); diskrétnost(příkazy jsou sekvenční, s přesným záznamem okamžiků začátku a konce provádění příkazu); přesnost(po provedení každého příkazu je přesně známo, zda je vykonání algoritmu dokončeno nebo který příkaz má být proveden jako další); účinnost(po konečném počtu kroků je problém vyřešen nebo je jasné, že proces řešení nemůže pokračovat): masový charakter(algoritmus platí jednotně pro jakoukoli specifickou formulaci problému, pro kterou je navržen).
1. Diskrétnost - rozdělení algoritmu na několik samostatných dokončených akcí - kroků. Provádění algoritmu je rozděleno do sekvence dokončených akcí - kroků. Každou akci musí provést vykonavatel algoritmu před zahájením další akce.
2. Přesnost – jasné pokyny. V každém kroku je jednoznačně určena transformace objektů v prostředí exekutora získaná v předchozích krocích algoritmu. Pokud je algoritmus aplikován opakovaně na stejnou sadu vstupních dat, pokaždé vytvoří stejný výsledek. Algoritmus musí být napsán tak, aby v každém kroku jeho provádění bylo známo, který příkaz se má provést jako další.
3. Srozumitelnost - jednoznačné pochopení a provedení každého kroku algoritmu jeho realizátorem. Algoritmus musí být napsán v jazyce srozumitelném interpretovi.
4. Efektivita - povinné získávání výsledků v konečném počtu kroků. Každý krok (a algoritmus jako celek) po dokončení vytváří prostředí, ve kterém jsou všechny objekty jednoznačně definovány. Pokud to z nějakého důvodu není možné, pak musí algoritmus hlásit, že řešení problému neexistuje. Algoritmus musí být dokončen v konečném počtu kroků. Informatika operuje pouze s konečnými objekty a konečnými procesy, takže otázka uvažování o nekonečných algoritmech zůstává mimo rámec teorie algoritmů. 5. Masivnost - aplikace algoritmu k řešení celé třídy podobných problémů.
Systém příkazů interpreta je přesně popsaná situace, včetně formulace řešeného problému, seznamu objektů, které se podílejí na stavu úkolu a na jeho řešení, a schopnosti interpreta: vlastnosti objektů které dokáže rozpoznat a akce, které může provést. Formální provedení algoritmu je prováděno kompilátorem nebo interpretem, který kontroluje sémantiku.

8.2. Způsoby, jak napsat algoritmus

V praxi jsou nejběžnější formy zápisu algoritmů:
1) grafický záznam (bloková schémata);
2) verbální záznam (pseudokódy);
3) programovací jazyk.
Verbální forma zápisu algoritmu je popis v přirozeném jazyce postupných fází zpracování dat. Verbální metoda není rozšířená, protože takové popisy nejsou přísně formalizovány a umožňují nejednoznačnost při výkladu jednotlivých pokynů. Algoritmus napsaný pomocí pseudokódu je semiformalizovaný popis v podmíněném algoritmickém jazyce, který zahrnuje jak základní prvky programovacího jazyka, tak fráze přirozeného jazyka, obecně přijímané matematické zápisy a další.
Grafická forma záznamu, nazývaná také diagram algoritmu, je obrazem algoritmu ve formě sekvence vzájemně propojených funkčních bloků, z nichž každý odpovídá provedení jedné nebo více akcí. Grafický záznam je ve srovnání s verbálním záznamem kompaktnější a vizuálnější. V diagramu algoritmu každý typ akce odpovídá geometrickému obrazci. Figury jsou spojeny přechodovými čarami, které určují pořadí akcí.
Grafická forma záznamu, nazývaná také blokové schéma nebo vývojový diagram algoritmu, je obrazem algoritmu ve formě sekvence vzájemně propojených funkčních bloků, z nichž každý odpovídá provedení jedné nebo více akcí.
V následujícím použijeme algoritmické vývojové diagramy PROTI. Umožňují vám prezentovat algoritmy ve více vizuální podobě, což umožňuje analyzovat jejich práci, hledat chyby v jejich implementaci atd. Ve vývojových diagramech je vždy Start A konec, označeno elipsami, mezi nimi je posloupnost kroky algoritmus připojen šipky.

Existují kroky bezpodmínečné(reprezentované obdélníky, rovnoběžníky) a podmiňovací způsob(zobrazováno jako diamanty). Z kosočtverce vždy vycházejí dvě šipky - jedna znamená další cestu, pokud je podmínka splněna (obvykle označena slovem „ano“ nebo „+“), druhá znamená nesplnění (slovem „ne“ nebo „- “). Zadávání z klávesnice nebo zobrazení hodnoty výrazu je znázorněno rovnoběžníkem. Příkaz, který provádí zpracování akce (příkaz přiřazení), je znázorněn v obdélníku.

Pokud je řešení problému složité a dostatečně dlouhé, pak se algoritmus může ukázat jako velmi rozsáhlý. Tomu se lze vyhnout nahrazením určité úplné sekvence kroků algoritmu bloky, které budou pomocnými algoritmy. Blok obvykle není elementární, jeho rozměry se volí podle potřeby, ale pokud je správně složen, má všechny potřebné vlastnosti algoritmického kroku: má vstupní bod (jasně definovaný začátek) a může být podmíněný nebo podmíněný; bezpodmínečné. Různé bloky algoritmu jsou vzájemně propojeny pouze vstupními a výstupními body, takže pokud blok správně vyřeší svůj problém, pak je jeho vnitřní struktura pro zbytek algoritmu nedůležitá. Tato reprezentace bloků je vhodná zejména v prvních fázích řešení složitých problémů, kdy jsou bloky podrobně rozepsány později a případně jinými vývojáři.
Programovací jazyk je jazyk používaný k formálnímu psaní algoritmů. Většina programovacích jazyků jsou algoritmické jazyky. Záznam algoritmu v algoritmickém jazyce se nazývá program.
Jazyk používaný k formálnímu psaní algoritmů se nazývá algoritmický jazyk. Při popisu jakéhokoli jazyka (včetně přirozeného jazyka, například ruštiny, angličtiny atd.) se používají následující pojmy: abeceda, syntax A sémantika.
Abeceda jazyk je soubor jednoduchých znaků, které lze použít v textech tohoto jazyka. Nazývá se posloupnost znaků abecedy ve slově. Pravidla, podle kterých se tvoří slova z abecedy, se nazývají gramatika. Sám Jazyk je množina všech slov napsaných v dané abecedě podle dané gramatiky.
Syntax je soubor pravidel, která určují možné kombinace (konstrukce) písmen abecedy. K popisu syntaxe jazyka se zpravidla používá jiný jazyk (metalanguage) nebo syntaktické diagramy.
Sémantika- jedná se o soubor pravidel, která určují význam (význam) jednotlivých jazykových konstruktů.
Jedním z nejběžnějších algoritmických jazyků je Pascal, který je užitečný pro začátečníky i zkušené programátory. Školení programování je nejčastěji založeno na tomto jazyce.

8.3. Základní algoritmické konstrukce

Strukturu algoritmu lze nejjasněji znázornit pomocí blokového diagramu, který využívá geometrické tvary (bloky) vzájemně propojené šipkami označujícími sled akcí. Byly přijaty určité standardy pro grafické znázornění bloků. Například příkaz pro zpracování informací je umístěn do bloku ve tvaru obdélníku, kontrola stavu je umístěna v kosočtverci, vstupní nebo výstupní příkazy jsou umístěny v rovnoběžníku a ovál označuje začátek a konec algoritmu.
Strukturální elementární jednotkou algoritmu je jednoduchý příkaz, označující jeden elementární krok zpracování nebo zobrazení informace. Jednoduchý příkaz v jazyce obvodu je reprezentován jako funkční blok.

Tento blok má jeden vchod A jeden východ. Z jednoduchých příkazů a kontrolních podmínek se tvoří složené příkazy, které mají složitější strukturu a také jeden vchod a jeden východ.
Strukturální přístup k vývoji algoritmů určuje použití pouze základních algoritmických struktur (konstrukcí): následování, větvení, opakování, které musí být navrženy standardním způsobem.

Podívejme se na základní struktury algoritmu.
tým Následující sestává pouze z jednoduchých příkazů. Na obrázku jsou symbolizovány jednoduché příkazy S1 A S2. Lineární algoritmy jsou tvořeny z následujících příkazů. Příkladem lineárního algoritmu by bylo nalezení součtu dvou čísel zadaných z klávesnice.

tým větvení- jedná se o složený příkaz algoritmu, ve kterém se v závislosti na podmínce P provede kterýkoli z nich S1, nebo jiný S2 akce. Algoritmy větvení (algoritmy větvení) se skládají z příkazů následovat a větví. Příkladem větveného algoritmu by bylo nalezení většího ze dvou čísel zadaných z klávesnice.

Příkaz větve může být v úplné nebo neúplné podobě. Neúplná forma příkazu větve se používá, když je třeba provést akci S pouze pokud je splněna podmínka P. Pokud je podmínka P není následován, příkaz větev se ukončí bez provedení akce. Příkladem příkazu pro větev neúplného formuláře by bylo rozpůlení pouze sudého čísla.

tým opakování je složený příkaz algoritmu, ve kterém v závislosti na podmínce R akci je možné provést vícekrát S. Cyklické algoritmy (algoritmy opakování) se skládají z příkazů následovat a opakovat. Obrázek ukazuje opakovací příkaz s podmínkou. Říká se tomu tak, protože se nejprve zkontroluje podmínka a teprve potom se provede akce. Navíc se akce provádí, dokud je splněna podmínka. Příklad cyklického algoritmu může být následující. Zatímco kladná čísla se zadávají z klávesnice, algoritmus zjistí jejich součet.
Příkaz opakování s předběžnou podmínkou není jediný možný. Variantou příkazu repeat s podmínkou je příkaz repeat s parametrem. Používá se, když je znám počet opakování akce. V blokovém schématu příkazu repeat s parametrem je podmínka zapsána nikoli kosočtvercem, ale šestiúhelníkem. Příkladem cyklického algoritmu s parametrem by bylo nalezení součtu prvních 20 přirozených čísel.

V příkazu opakování s následnou podmínkou se akce provede jako první S a teprve poté se kontroluje stav P. Navíc se akce opakuje, dokud není podmínka splněna. Příkladem opakovacího příkazu s postpodmínkou by bylo snížení kladného čísla, dokud není záporné. Jakmile se číslo stane záporným, příkaz repeat ukončí svou práci.
Spojením pouze těchto elementárních struktur (sekvenčně nebo vnořením) můžete „sestavit“ algoritmus libovolného stupně složitosti.


Každá specifikovaná konstrukce může být implementována bez změn ve struktuře v jakémkoli programovacím jazyce, například v Pascalu a BASICu. Proto je nutné správně sestavit algoritmus pomocí vývojového diagramu a teprve poté, s vědomím, jak jsou příkazy psány v konkrétním programovacím jazyce, napsat program na počítači a získat výsledek jeho spuštěním k provedení.

8.4. Lineární algoritmus

Uveďme příklad zápisu algoritmu ve formě blokového diagramu, pseudokódů a v Pascalu. Ruční testování a výběr testovacího systému se provádí obdobně jako v předchozí úloze.


8.5. Algoritmus větvení

Uveďme příklad psaní větveného algoritmu pro nalezení největšího ze dvou čísel.


8.6. Round robin algoritmus

Uvažujme algoritmus pro nalezení součtu prvních přirozených lichých čísel až n. Představme si algoritmus třemi způsoby: ve formě vývojového diagramu, školního algoritmického jazyka a v programovacím jazyce Pascal.


Blokové schéma se skládá z následujících základních struktur: dva složené příkazy (následovat příkaz a příkaz opakovat s předběžnou podmínkou), potom jednoduchý příkaz. Všechny příkazy jsou zapojeny do série. Konstrukce jsou formátovány standardním způsobem, takže je lze snadno rozpoznat a přeložit do programovacího jazyka. Každá stavba má jeden vchod a jeden východ.
Tečkované šipky v tabulce odrážejí pořadí provádění technologického řetězce. Po zaznamenání algoritmu ve formě vývojového diagramu je každý příkaz přeložen do školního algoritmického jazyka a teprve poté do programovacího jazyka.
Pojďme si napsat algoritmus pro výpočet součtu prvních n přirozených čísel. K tomu použijeme smyčku s parametrem, protože předem víme, kolikrát se příkaz k nalezení součtu vykoná. Ve všech článcích řetězce změníme smyčku „while“ na smyčku „for“ a uvedeme příklad překladu algoritmu z jazyka vývojových diagramů do školního algoritmického jazyka a do programovacího jazyka Pascal.


Uvažujme zjištění počtu přirozených čísel, jejichž součet není větší než daný. K tomu použijeme příkaz repeat s postcondition.


Otázky pro sebeovládání

  1. Koncept algoritmu. Vlastnosti algoritmu. Příklad algoritmu. Pojem "proměnná".
  2. Operátor přiřazení. Příklady.
  3. Styly programování (logický, funkcionální).
  4. Pojem podprogram, modul a objekt
  5. Co je to proměnná? Pravidla pro pojmenování proměnných v Pascalu. Příklady.
  6. Operátor přiřazení. Psaní výrazů v Pascalu. Příklady. Vysvětlete, jak operátor x:=x+1;
  7. Vstupní a výstupní operátory v Pascalu. Příklady. Formátovaný výstup.
  8. Podmíněný operátor ( -li). Příklad. Porovnejte s operátorem pouzdro.
  9. Operátor výběru. Příklad. Porovnejte s operátorem -li.
  10. Logické výrazy. Operace nebo, a A ne. Příklady. Tabulka pravdy.
  11. Číselné typy proměnných v jazyce Pascal. Zadejte pravidla převodu. Příklady.
  12. Booleovský datový typ. Příklad použití v programu. Typ dat znaku. Příklad. Funkce chr A obj, succ A před.
  13. Pole. Definice. Indexy pole. Deklarace pole. Přístup k prvkům pole. Jednorozměrná a dvourozměrná pole. Příklady. Podobnosti a rozdíly mezi poli a řetězci.
  14. Postupy. Definice. Proč jsou potřebné postupy? Příklady. Pravidla pro popis procedur. Porovnejte postupy a funkce.

Slovo „algoritmus“ pochází ze jména arabského matematika al-Khwarizmiho z 9. století, který formuloval pravidla pro provádění aritmetických operací.

Algoritmus– přesný a srozumitelný pokyn pro výkonného umělce, aby provedl konečnou sekvenci příkazů vedoucí od počátečních dat k počátečnímu výsledku.

Příklady: denní režim, pořadí vaření, pokyny atd.)

Vykonavatel algoritmu– to je ten, kdo provádí algoritmus (člověk, zvíře, stroj, počítač).

Exekutorský příkazový systém- toto je celá sada příkazů, které umělec ví, jak provést (rozumí). Algoritmus lze sestavit pouze z příkazů obsažených v systému příkazů pro provádění.

Například, performer Robot může provádět příkazy vpřed, vzad, vlevo, vpravo, malovat. Pohybuje se přes buněčné pole ohraničené stěnou a obsahující stěny. Robot nemůže projít zdí.

Vlastnosti algoritmu:

1.Výkon (končetina)– schopnost získat výsledek z počátečních dat v konečném počtu kroků. (Například při provádění algoritmu pro sčítání 2 čísel by měl být získán součet).

2.Masový charakter– schopnost aplikovat algoritmus na velké množství různých zdrojových dat. (Například můžete přidat libovolná 2 čísla se znalostí algoritmu sčítání.)

3.Determinismus(jistota, přesnost) – každý příkaz musí jednoznačně určovat akci interpreta.

4.Srozumitelnost– příkaz musí být napsán v jazyce srozumitelném pro počítač.

5.Diskrétnost– rozdělení algoritmu do samostatných příkazů.

Způsoby, jak napsat algoritmus:

1) V přirozeném jazyce – záznam ve formě samostatných příkazů v jazyce srozumitelném člověku.

2) Grafické – v řeči vývojových diagramů s využitím geometrických tvarů (ovál, obdélník, rovnoběžník, kosočtverec).

3) V algoritmickém jazyce - jazyk pro psaní algoritmů pro výuku programování. Příkazy jsou psány v ruštině.

4) V programovacím jazyce - program. Programovací jazyky: Basic, Pascal, C, Visual Basic.

B7.Základní algoritmické struktury: následování, větvení, smyčka; obrázek na blokových diagramech. Rozdělení úkolů na dílčí úkoly. Pomocné algoritmy.

Algoritmické návrhy. V rámci algoritmů lze rozlišit skupiny kroků, které se liší vnitřní strukturou - algoritmické konstrukce.

Základní algoritmické konstrukce jsou lineární sekvence kroků (nebo následujících), větvení a smyčkování.

Je volán algoritmus, ve kterém jsou příkazy prováděny postupně jeden po druhém lineární algoritmus.

Takto vypadá lineární algoritmus v jazyce blokových diagramů:

Příklad: algoritmus pro zapnutí počítače:

  1. Zapněte napájení počítače (stiskněte tlačítko na přepěťové ochraně).
  2. Zapněte monitor a tiskárnu.
  3. Stiskněte tlačítko Napájení na systémové jednotce.
  4. Počkejte, až se načte operační systém a objeví se plocha.
  5. Jít do práce.

V tomto algoritmu musí být všechny akce prováděny postupně jedna po druhé: nemůžete začít pracovat, pokud není zapnuto napájení nebo monitor.

Do algoritmické struktury" větvení" zahrnuta stav, v závislosti na pravdivosti podmínky se provede jedna nebo druhá sekvence příkazů (série).

Podmínka je tvrzení, které může být pravdivé nebo nepravdivé. V podmínce se pomocí porovnávacích operátorů (>,<, =, >=, <=).

Záznam v algoritmickém jazyce: IfCondition Then Series 1 (If Stav pravda, pak pravda Epizoda 1, Pokud Stav false, pak se nic neprovede). Příklad: Pokud je dnes neděle, není třeba chodit do školy. Plná forma větvení

V algoritmických strukturách cyklus obsahuje řadu příkazů, které se provádějí opakovaně. Tato sekvence příkazů se nazývá tělo smyčky.

Existují dva typy cyklických algoritmických struktur:

  • protilehlé smyčky, ve kterém je tělo smyčky vykonáno určitý počet opakování;
  • podmíněné smyčky, ve kterém se tělo cyklu provádí tak dlouho, dokud je splněna podmínka.

Smyčka s počítadlem– používá se, když je předem známo, kolik opakování těla smyčky je třeba provést.

klíčová slova:

  • algoritmus
  • vlastnosti algoritmu
    • diskrétnost
    • jasnost
    • jistota
    • účinnost
    • masový charakter
  • vykonavatel
  • vlastnosti interpreta
    • rozsah úkolů k řešení
    • středa
    • pracovní režim
    • příkazový systém
  • formální provedení algoritmu

3.1.1. Koncepce algoritmu

Každý člověk v běžném životě, při studiu nebo v práci řeší obrovské množství problémů různé složitosti. Složité problémy vyžadují hodně přemýšlení, aby se našlo řešení; Člověk řeší jednoduché a známé úkoly bez přemýšlení, automaticky. Ve většině případů lze řešení každého problému rozdělit do jednoduchých etap (kroků). Pro mnoho z těchto úkolů (instalace softwaru, sestavení skříně, vytvoření webové stránky, obsluha technického zařízení, nákup letenky přes internet atd.) již byly vyvinuty a jsou nabízeny podrobné pokyny, sekvenční jehož realizace může vést k požadovanému výsledku.

Příklad 1. Problém „Najděte aritmetický průměr dvou čísel“ se řeší ve třech krocích:

  • myslet na dvě čísla;
  • přidejte dvě čísla na mysli;
  • výslednou částku vydělte 2.

Příklad 2. Úloha „Vložit peníze na váš telefonní účet“ je rozdělena do následujících kroků:

  • přejděte k platebnímu terminálu;
  • vybrat telekomunikačního operátora;
  • vložte telefonní číslo;
  • zkontrolujte, zda je zadané číslo správné;
  • vložte bankovku do akceptoru bankovek;
  • počkejte na zprávu o připsání peněz na váš účet;
  • dostat šek.

Příklad 3. Fáze řešení problému „Nakreslete vtipného ježka“ jsou znázorněny graficky:

Hledání aritmetického průměru, vkládání peněz na telefonní účet a losování ježka jsou na první pohled úplně jiné procesy. Mají však společný rys: každý z těchto procesů je popsán sledem stručných pokynů, jejichž přísné dodržování umožňuje získat požadovaný výsledek. Sekvence instrukcí uvedené v příkladech 1-3 jsou algoritmy pro řešení odpovídajících problémů. Vykonavatelem těchto algoritmů je člověk.

Algoritmus může být popisem určité sekvence výpočtů (příklad 1) nebo kroků nematematického charakteru (příklady 2-3). Ale v každém případě před jeho vývojem musí být jasně definovány výchozí podmínky (počáteční data) a to, co má být získáno (výsledek). Dá se říci, že algoritmus je popis posloupnosti kroků při řešení problému, vedoucí od počátečních dat k požadovanému výsledku.

Obecně lze operační diagram algoritmu znázornit následovně (obr. 3.1):

Rýže. 3.1.
Obecné schéma algoritmu

Algoritmy jsou ve škole studovaná pravidla sčítání, odčítání, násobení a dělení čísel, gramatická pravidla, pravidla geometrických konstrukcí atd.

Animace „Práce s algoritmem“, „Největší společný dělitel“, „Nejmenší společný násobek“ (http://school-collection.edu.ru/) vám pomohou zapamatovat si některé algoritmy probrané v hodinách ruského jazyka a matematiky.

Příklad 4. Nějaký algoritmus vede k tomu, že z jednoho řetězce znaků se získá nový řetězec takto:

  1. Vypočítá se délka (ve znacích) zdrojového řetězce znaků.
  2. Pokud je délka původního řetízku lichá, pak se k původnímu řetízku vpravo přidá číslo 1, jinak se řetízek nemění.
  3. Symboly se vyměňují ve dvojicích (první s druhým, třetí se čtvrtým, pátý se šestým atd.).
  4. Číslo 2 se přidá napravo od výsledného řetězce.

Výsledný řetězec je výsledkem algoritmu.

Pokud byl tedy počáteční řetězec A#B, pak výsledkem algoritmu bude řetězec #A1B2, a pokud byl počáteční řetězec ABC@, pak výsledkem algoritmu bude řetězec BA@B2.

3.1.2. Vykonavatel algoritmu

Každý algoritmus je navržen pro konkrétního interpreta.

Existují formální a neformální umělci. Formální umělec vždy provádí stejný příkaz stejným způsobem. Neformální vykonavatel může provést příkaz různými způsoby.

Podívejme se podrobněji na soubor formálních umělců. Formální interpreti jsou extrémně různorodí, ale pro každého z nich lze specifikovat následující charakteristiky: rozsah úkolů k řešení (účel), prostředí, systém velení a způsob provozu.

Rozsah úkolů k řešení. Každý účinkující je stvořen, aby řešil určitý okruh problémů – konstruování řetězců symbolů, provádění výpočtů, konstruování výkresů v rovině atd.

Prostředí umělce. Oblast, prostředí, podmínky, ve kterých účinkující působí, se obvykle nazývá prostředím daného interpreta. Zdrojová data a výsledky libovolného algoritmu vždy patří do prostředí interpreta, pro kterého je algoritmus určen.

Exekutorský příkazový systém. Pokyn pro umělce k provedení samostatné dokončené akce se nazývá příkaz. Množina všech příkazů, které může některý exekutor provést, tvoří systém příkazů pro tento exekutor (SKI). Algoritmus je sestaven s ohledem na schopnosti konkrétního interpreta, jinými slovy v systému příkazů interpreta, který jej bude provádět.

Provozní režimy interpreta. Pro většinu účinkujících jsou k dispozici režimy přímého ovládání a ovládání programu. V prvním případě účinkující čeká na povely od osoby a každý přijatý povel okamžitě provede. Ve druhém případě je interpretovi nejprve zadán kompletní sled příkazů (program) a poté všechny tyto příkazy automaticky provede. Řada interpretů pracuje pouze v jednom ze jmenovaných režimů.

Podívejme se na příklady účinkujících.

Příklad 5. Performer Želva se pohybuje na obrazovce počítače a zanechává stopu ve formě čáry. Řídící systém želvy se skládá ze dvou příkazů:

    Dopředu n (kde n je celé číslo) – způsobí, že se želva pohne o n kroků ve směru pohybu – ve směru, kterým je otočena její hlava a tělo;

    Pravé m (kde m je celé číslo) – způsobí, že se směr pohybu želvy změní o m stupňů ve směru hodinových ručiček.

Opakování záznamu k [<Команда1> <Команда2> ... <Командаn>] znamená, že sekvence příkazů v závorkách se bude opakovat k-krát.

Přemýšlejte o tom, jaký obrázek se objeví na obrazovce poté, co želva dokončí následující algoritmus.

    Opakujte 12 [doprava 4 5 vpřed 20 doprava 45]

Příklad 6. Systém exekutorských příkazů Počítač se skládá ze dvou příkazů, kterým jsou přiřazena čísla:

    1 - odečíst 1
    2 - vynásobte 3

První z nich snižuje číslo o 1, druhý zvyšuje číslo 3krát. Při psaní algoritmů jsou pro stručnost uváděna pouze čísla příkazů. Například algoritmus 21212 znamená následující sekvenci příkazů:

    vynásobte 3
    odečíst 1
    vynásobte 3
    odečíst 1
    vynásobte 3

Pomocí tohoto algoritmu bude číslo 1 převedeno na 15: ((1-3-1)-3-1)-3 = 15.

Příklad 7. Performer Robot působí na kostkovaném poli, mezi sousedními buňkami mohou být stěny. Robot se pohybuje po buňkách pole a může provádět následující příkazy, kterým jsou přiřazena čísla:

    1 - nahoru
    2 - Dolů
    3 - Správně
    4 zbývají

Při provádění každého takového příkazu se robot přesune do sousední buňky v naznačeném směru. Pokud je v tomto směru mezi buňkami zeď, pak je Robot zničen. Co se stane s robotem, když provede sekvenci příkazů 32323 (zde čísla označují čísla příkazů) a začne se pohybovat z buňky A? Jakou sekvenci příkazů by měl robot provést, aby se přesunul z buňky A do buňky B, aniž by se zhroutil, když narazí na stěny?

Při vývoji algoritmu:

  1. jsou identifikovány objekty vyskytující se v problému, jsou stanoveny vlastnosti objektů, vztahy mezi objekty a možné akce s objekty;
  2. jsou stanoveny počáteční údaje a požadovaný výsledek;
  3. je určena posloupnost akcí výkonného umělce, která zajišťuje přechod od počátečních údajů k výsledku;
  4. sled akcí se zaznamenává pomocí příkazů obsažených v příkazovém systému vykonavatele.

Můžeme říci, že algoritmus je modelem činnosti vykonavatele algoritmu.

3.1.3. Vlastnosti algoritmu

Ne každý pokyn, sled pokynů nebo akční plán lze považovat za algoritmus. Každý algoritmus má nutně tyto vlastnosti: diskrétnost, srozumitelnost, jistota, účinnost a masový charakter.

Vlastnost diskrétnosti znamená, že cesta k řešení problému je rozdělena do samostatných kroků (akcí). Každá akce má odpovídající instrukci (příkaz). Teprve po provedení jednoho příkazu může exekutor začít provádět další příkaz.

Vlastnost srozumitelnosti znamená, že algoritmus se skládá pouze z příkazů zařazených do systému příkazů interpreta, tedy z takových příkazů, které interpret dokáže vnímat a podle kterých může provádět požadované akce.

Vlastnost jistoty znamená, že algoritmus neobsahuje příkazy, jejichž význam může interpret interpretovat nejednoznačně; Nepřijatelné jsou situace, kdy po provedení dalšího příkazu není výkonnému uživateli jasné, který příkaz má v dalším kroku provést.

Vlastnost účinnosti znamená, že algoritmus musí být schopen získat výsledek po konečném, případně velmi velkém počtu kroků. V tomto případě se za výsledek považuje nejen odpověď určená konstatováním problému, ale i závěr o nemožnosti pokračovat v řešení tohoto problému z jakéhokoli důvodu.

Vlastnost hromadné výroby znamená, že algoritmus musí poskytovat možnost své aplikace k řešení jakéhokoli problému z určité třídy problémů. Například algoritmus pro hledání kořenů kvadratické rovnice by měl být použitelný pro jakoukoli kvadratickou rovnici, algoritmus pro přecházení ulice by měl být použitelný kdekoli na ulici, algoritmus pro přípravu léku by měl být použitelný pro přípravu jakéhokoli jeho množství, atd.

Příklad 8. Uvažujme jednu z metod, jak najít všechna prvočísla nepřesahující n. Tato metoda se nazývá „Eratosthenovo síto“, pojmenované po starověkém řeckém vědci Eratosthenovi, který ji navrhl.

Chcete-li najít všechna prvočísla, která nejsou větší než dané číslo n, podle Eratosthenovy metody, musíte provést následující kroky:

  1. zapište všechna celá čísla od 2 do n za sebou (2, 3, 4, ..., n);
  2. snímek 2 - první prvočíslo;
  3. vyškrtnout ze seznamu všechna čísla dělitelná posledním nalezeným prvočíslem;
  4. najděte první neoznačené číslo (označená čísla jsou přeškrtnutá čísla nebo čísla uzavřená v rámečku) a uzavřete je do rámečku - to bude další prvočíslo;
  5. opakujte kroky 3 a 4, dokud nezůstanou žádná neoznačená čísla.

Vizuálnější představu o metodě hledání prvočísel můžete získat pomocí animace „Sieve of Eratosthenes“ (http://school-collection.edu.ru/).

Uvažovaná sekvence akcí je algoritmus, protože splňuje následující vlastnosti:

  • diskrétnost - proces hledání prvočísel je rozdělen do kroků;
  • srozumitelnost - každý příkaz je srozumitelný pro žáka 9. ročníku provádějícího tento algoritmus;
  • jistota - každý příkaz je interpretem interpretován a vykonán jednoznačně; existují instrukce o pořadí provádění příkazů;
  • účinnost - po určitém počtu kroků je dosaženo výsledku;
  • hromadný charakter - sled akcí je použitelný pro jakékoli přírodní n.

Uvažované vlastnosti algoritmu nám umožňují podat přesnější definici algoritmu.

3.1.4. Možnost automatizace lidských činností

Vývoj algoritmu je obvykle pracný úkol, který vyžaduje od člověka hluboké znalosti, vynalézavost a spoustu času.

Řešení problému pomocí hotového algoritmu vyžaduje pouze to, aby umělec striktně dodržoval dané pokyny.

Příklad 9. Z hromádky obsahující libovolný počet předmětů větší než tři se dva hráči střídají a vezmou si každý jeden nebo dva předměty. Vyhrává ten, kdo může při svém dalším tahu sebrat všechny zbývající předměty.

Podívejme se na algoritmus, podle kterého první hráč jistě zajistí výhru.

  1. Pokud je počet předmětů v hromádce násobkem 3, uvolněte cestu soupeři, jinak začněte hru.
  2. Při dalším tahu pokaždé přičtěte počet objektů, které váš soupeř vzal, ke 3 (počet zbývajících objektů musí být násobkem 3).

Umělec se nesmí ponořit do smyslu toho, co dělá, a nezdůvodnit, proč jedná tak a ne jinak, to znamená, že může jednat formálně. Schopnost interpreta jednat formálně poskytuje možnost automatizace lidské činnosti. Pro tohle:

  1. proces řešení problému je prezentován jako sled jednoduchých operací;
  2. je vytvořen stroj (automatické zařízení) schopný provádět tyto operace v pořadí specifikovaném v algoritmu;
  3. člověk je osvobozen od rutinních činností, provedení algoritmu je svěřeno automatickému zařízení.

Nejdůležitější

Exekutor je objekt (osoba, zvíře, technické zařízení) schopný vykonávat určitý soubor příkazů. Formální umělec vždy provádí stejný příkaz stejným způsobem. Pro každého formálního interpreta můžete specifikovat: rozsah úloh k řešení, prostředí, příkazový systém a provozní režim.

Algoritmus je popis sledu akcí určených pro konkrétního interpreta, který vede od počátečních dat k požadovanému výsledku, který má vlastnosti diskrétnosti, srozumitelnosti, jistoty, efektivity a masového charakteru.

Schopnost interpreta jednat formálně poskytuje možnost automatizace lidské činnosti.

Otázky a úkoly

  1. Jak se nazývá algoritmus?
  2. Najděte synonyma pro slovo „předpis“.
  3. Uveďte příklady algoritmů, které jste studovali ve škole.
  4. Kdo může být vykonavatelem algoritmu?
  5. Uveďte příklad formálního umělce. Uveďte příklad, kdy osoba vystupuje jako formální umělec.
  6. Jaké příkazy by měl robot vykonávat funkce: a) pokladní v obchodě; b) školník; c) ostraha?
  7. Co určuje rozsah úkolů, které „počítačový“ umělec vykonává?
  8. Zvažte textový procesor na vašem počítači jako vykonavatele. Popište rozsah úloh řešených tímto interpretem a jeho prostředí.
  9. Co je tým, systém výkonných příkazů?
  10. Uveďte hlavní vlastnosti algoritmu.
  11. K čemu může vést absence jakékoli vlastnosti v algoritmu? Dát příklad.
  12. Proč je důležité umět formálně provést algoritmus?
  13. Posloupnost čísel je konstruována podle následujícího algoritmu: první dvě čísla posloupnosti jsou rovna 1; Každé další číslo v posloupnosti se považuje za rovné součtu dvou předchozích čísel. Zapište prvních 10 členů této sekvence.
  14. Některý algoritmus získá nový řetězec z jednoho řetězce znaků následovně. Nejprve se napíše původní řetězec znaků, za ním se v obráceném pořadí zapíše původní řetězec znaků, poté se napíše písmeno, které následuje v ruské abecedě za písmenem, které bylo v původním řetězci na posledním místě. Pokud je poslední místo v původním řetězci písmeno Z, pak je písmeno A zapsáno jako další písmeno Výsledný řetězec je výsledkem algoritmu. Pokud byl například původní řetězec znaků DOM, pak výsledkem algoritmu bude řetězec DOMMODN. Daný řetězec znaků KOM. Kolik písmen O bude v řetězci symbolů, který bude získán, pokud použijete algoritmus na tento řetězec a poté znovu použijete algoritmus na výsledek jeho práce?
  15. Najděte na internetu animaci kroků Eratosthenova algoritmu. Použijte Eratosthenesův algoritmus k nalezení všech prvočísel nepřesahujících 50.
  16. Jaký bude výsledek želvího provedení (viz příklad 5) algoritmu?
      Opakujte 8 [Doprava 45 Vpřed 45]
  17. Zapište si algoritmus pro spouštěcí program Kalkulačky (příklad 6), který nebude obsahovat více než 5 příkazů:
      a) přijímání od čísla 3 číslo 16;
      b) obdrží od čísla 1 číslo 25.
  18. Systém příkazů exekutoru Konstruktor se skládá ze dvou příkazů, kterým jsou přiřazena čísla:
      1 - přiřadit 2
      2 - dělit 2

    Podle prvního z nich se k číslu vpravo přičte 2, podle druhého se číslo vydělí 2. Jak se převede číslo 8, když interpret provede algoritmus 22212? Vytvořte v příkazovém systému tohoto exekutora algoritmus, podle kterého se číslo 1 převede na číslo 16 (algoritmus by neměl obsahovat více než 5 příkazů).

  19. Ve které buňce by měl být umístěn robotický interpret (příklad 7), aby se do ní mohl vrátit po provedení algoritmu 3241?

Koncept algoritmu. Vykonavatelé algoritmů. Vlastnosti algoritmů

Pojem algoritmus je pro informatiku stejně zásadní jako pojem informace. Existuje mnoho různých definic algoritmu, protože tento pojem je poměrně široký a používá se v různých oblastech vědy, techniky a každodenního života.

Algoritmus je jasná a přesná sekvence akcí, která popisuje proces transformace objektu z počátečního stavu do konečného stavu.

Algoritmus je přesný popis sekvence akcí určených pro konkrétního interpreta s cílem vyřešit daný problém.

Umělec Algoritmus může být buď osoba (recepty na vaření, různé návody, algoritmy pro matematické výpočty) nebo technické zařízení. Různé stroje (počítače, průmyslové roboty, moderní domácí spotřebiče) jsou formální exekutoři algoritmy. Formální umělec nemusí chápat podstatu řešeného problému, ale vyžaduje přesné provedení sekvence příkazů.

Algoritmus lze zapsat různými způsoby (slovní popis, grafický popis - blokové schéma, program v některém z programovacích jazyků atd.). Program je zapsaný algoritmusprogramovací jazyk .

K vytvoření algoritmu (programu) potřebujete znát:

    kompletní sada dat počáteční úlohy (počáteční stav objektu);

    účel vytvoření algoritmu (konečný stav objektu);

    systém příkazů interpreta (tedy soubor příkazů, kterým interpret rozumí a může je provést).

Výsledný algoritmus (program) musí mít následující sadu vlastností:

    diskrétnost (algoritmus je rozdělen do samostatných kroků - příkazů);

    jednoznačnost (každý příkaz určuje jedinou možnou akci účinkujícího);

    jasnost (všechny příkazy algoritmu jsou zahrnuty v systému příkazů pro provádění);

    účinnost (herec musí problém vyřešit v konečném počtu kroků).

Většina algoritmů má také vlastnost masový charakter (pomocí stejného algoritmu můžete vyřešit mnoho podobných problémů).

Způsoby popisu algoritmů

Výše bylo uvedeno, že stejný algoritmus lze zapsat různými způsoby. Algoritmus si můžete zapsat přirozený jazyk. Takto používáme recepty, návody atd. Nahrávat algoritmy určené pro formální umělce, speciální programovací jazyky. Lze popsat jakýkoli algoritmus graficky ve formě blokového diagramu. Pro tento účel byl vyvinut speciální notační systém:

Označení

Popis

Poznámky

Začátek a konec algoritmu

Vstup a výstup dat.

Výstup dat je někdy označován jinak:

Akce

Ve výpočetních algoritmech se toto používá k označení přiřazení

Vidlička

Vidlice - součást nezbytná pro realizaci větví a smyček

Spuštění smyčky s parametrem

Typický proces

V programování - procedury nebo podprogramy

Přechody mezi bloky

Uveďme příklad popisu algoritmu pro sčítání dvou veličin ve formě blokového diagramu:

Tento způsob popisu algoritmu je pro člověka nejnázornější a nejsrozumitelnější. Algoritmy formálních exekutorů se proto obvykle vyvíjejí nejprve ve formě vývojového diagramu a teprve poté vytvoří program na jednom zprogramovací jazyky .

Typické algoritmické struktury

Programátor má možnost navrhovat a používat atypické algoritmické struktury, to však není nutné. Jakýkoli algoritmus, bez ohledu na jeho složitost, může být vyvinut na základě tří typických struktur: sledování, větvení a opakování. V tomto případě mohou být struktury umístěny sekvenčně jedna po druhé nebo vnořené do sebe.

Lineární struktura (následující)

Nejjednodušší algoritmická struktura je lineární. V něm se všechny operace provádějí jednou v pořadí, v jakém jsou zaznamenány.

Větvení

V plné větvení Existují dvě možnosti akcí interpreta v závislosti na hodnotě logického výrazu (podmínky). Pokud je podmínka pravdivá, provede se pouze první větev, jinak pouze druhá větev.

Druhá větev může být prázdná. Tato struktura se nazývá neúplné větvení nebo bypass.

Z několika větví můžete vytvořit strukturu " výběr“(vícenásobné větvení), který si nebude vybírat ze dvou, ale z většího počtu možností pro akce interpreta v závislosti na několika podmínkách. Je důležité, aby byla provedena pouze jedna větev - v takové struktuře je důležité pořadí podmínek: pokud je splněno několik podmínek, bude fungovat pouze jedna z nich - první shora.

Cyklus (opakování)

Cyklusumožňuje organizovat více opakování stejné sekvence příkazů- nazývá se těleso cyklu. V různých typech cyklických algoritmů může počet opakování záviset na hodnotě logického výrazu (podmínce) nebo může být pevně zakódován v samotné struktuře. Existují cykly: „ před», « sbohem», smyčky s počítadlem. V cyklech „před“ a „zatímco“ může před tělo cyklu předcházet logický výraz (podmínka) ( smyčka s předpokladem) nebo ukončit smyčku ( smyčka s dodatečnou podmínkou).

Cykly« před» - opakování těla cyklu dokud nebude splněna podmínka:

Cykly « sbohem» - opakování těla cyklu pokud je splněna podmínka(skutečný):

Smyčky s počítadlem(s parametrem)– opakování těla smyčky zadaný početkrát:

Pomocný algoritmus (podprogram, procedura)

Pomocný algoritmus je modul, ke kterému lze opakovaně přistupovat z hlavního algoritmu. Použití pomocných algoritmů může výrazně snížit velikost algoritmu a zjednodušit jeho vývoj.

Metody pro vývoj složitých algoritmů

Existují dvě metody pro vývoj složitých algoritmů:

Metoda sekvenčního detailování úkolů(„shora dolů“) znamená, že původní komplexní úkol je rozdělen na dílčí úkoly. Každý z dílčích úkolů je zvažován a řešen samostatně. Pokud je některý z dílčích úkolů složitý, jsou také rozděleny na dílčí úkoly. Proces pokračuje, dokud nejsou dílčí úkoly zredukovány na základní. Řešení jednotlivých dílčích problémů jsou pak spojena do jediného algoritmu pro řešení původního problému. Tato metoda je široce používána, protože umožňuje několika programátorům současně vyvíjet obecný algoritmus a řešit lokální dílčí problémy. To je nezbytná podmínka pro rychlý vývoj softwaru.

Způsob montáže(„zdola nahoru“) spočívá ve vytváření různých softwarových modulů, které implementují řešení typických problémů. Při řešení složitého problému může programátor použít vyvinuté moduly jako pomocné algoritmy (procedury). V mnoha programovací systémy Podobné sady modulů již existují, což výrazně zjednodušuje a urychluje tvorbu složitého algoritmu.

Algoritmy a řídicí procesy

Řízení - účelná interakce objektů, z nichž některé jsou manažery, jiné - řízené.

V nejjednodušším případě existují dva takové objekty:

Z pohledu informatiky kontrolní akce lze považovat za kontrolní informace. Informace lze předávat ve formě příkazů. Je volána sekvence příkazů k ovládání objektu vedoucí k předem stanovenému cíli řídicí algoritmus. V důsledku toho může být řídicí objekt nazýván vykonavatelem řídicího algoritmu. V uvažovaném příkladu ovládací objekt funguje „aniž by se díval“ na to, co se děje s ovládacím objektem ( ovládání s otevřenou smyčkou OTEVŘENO. Jiné kontrolní schéma může brát v úvahu informace o procesech probíhajících v kontrolním objektu:

V tomto případě musí být řídicí algoritmus dostatečně flexibilní, aby tyto informace analyzoval a rozhodoval o svých dalších akcích v závislosti na stavu řídicího objektu ( zpětnovazební ovládání). Toto kontrolní schéma se nazývá ZAVŘENO.

Procesy řízení jsou podrobněji studovány a diskutovány kybernetika. Tato věda tvrdí, že nejrozmanitější procesy řízení ve společnosti, přírodě a technologii probíhají podobným způsobem a podléhají stejným principům.

Na začátek tématu