Tato stránka je pouze pro čtení. Můžete si pouze prohlédnout zdrojový kód, ale ne ho měnit. Zeptejte se správce, pokud si myslíte, že něco není v pořádku. ~~NOCACHE~~ ~~REVEAL theme=dokuwiki&transition=convex&controls=1&show_progress_bar=1&build_all_lists=1&show_image_borders=0&horizontal_slide_level=2&enlarge_vertical_slide_headers=0&show_slide_details=1&open_in_new_window=1&size=1024x768~~ ====== Algoritmizace a programování ====== ===== Algoritmus ===== <WRAP center round tip> * Algoritmus je přesný návod, resp. postup, kterým lze vyřešit daný typ úlohy. </WRAP> * V souvislosti s programováním, se jím myslí teoretický princip řešení problému. * Obecně se ale algoritmus může objevit i v jiné oblasti. Jako jistý druh algoritmu chápeme např. i návod na sestavení nábytku atp. ===== Vlastnosti algoritmu ===== //Aby bylo možné v informatice pokládat nějaký návod za algoritmus, musí být:// * elementární * determinovaný * konečný * rezultativní * hromadný ==== Elementární ==== Algoritmus se skládá z jednoduchých, snadno realizovatelných kroků ==== Determinovaný ==== Po každém kroku lze jasně určit, který krok následuje nebo zda algoritmus skončil ==== Konečný ==== Algoritmus musí skončit po konečném počtu kroků ==== Rezultativní ==== Algoritmus má alespoň jeden výstup, který je v požadovaném vztahu k zadaným vstupům ==== Hromadný ==== Lze jej použít k řešení celé skupiny podobných úloh ===== Vývojový diagram ===== ----> {{:spse:pm1:pasted:20201005-195421.png?500}} <---- ----> {{:spse:pm1:pasted:20201005-195431.png?500}} <---- ----> {{:spse:pm1:pasted:20201005-195456.png?500}} <---- <WRAP center round important 60%> V čem vývojový diagram nedodržuje pravidla vývojových diagramů? ((Pro rozhodování nepoužívá kosočtverec a pro cykly nepoužívá šestiúhelníky.))\\ V čem algoritmus nedodržuje pravidla algoritmů? ((Nedodržuje "konečnost", za určitých okolnostní nemusí algoritmus skončit nikdy. )) </WRAP> ===== Základní algoritmické konstrukce ===== * začátek/konec algoritmu (označení/vymezení začátku, konce) * vstup, výstup * zpracování (příkaz) * podmínka (větvení) * opakování/cyklus (tři typy – s podmínkou na začátku, na konci, s počtem opakování) * jinde definovaná činnost (podprogram, funkce) ==== Začátek a konec ==== Začátek a Konec – značka se vyskytuje pouze na začátku nebo na jeho konci algoritmu (obvykle s popiskou Start, resp. End uvnitř značky) {{:spse:pm1:pasted:20201005-195826.png?200}} ==== Vstup a výstup ==== Vstup nebo Výstup – znázorňuje načtení dat, která jsou potřebná pro činnost programu, nebo zobrazení výstupů programu {{:spse:pm1:pasted:20201005-200658.png?200}} ==== Zpracování ==== Zpracování – znázorňuje nějakou činnost programu, během které dochází k transformaci dat (například sečtení dvou čísel) {{:spse:pm1:pasted:20201005-200704.png?200}} ==== Podmínka ==== slouží k rozvětvení programu na základě podmínky, která je uvedena uvnitř. Je-li podmínka splněna, pak program pokračuje větví označenou **+**, není-li splněna, pokračuje větví označenou **-** {{:spse:pm1:pasted:20201005-200710.png?200}} ==== Podprogram ==== Podprogram – znázorňuje samostatnou část programu, která může obsahovat větší množství kroků (např. načti text ze souboru) {{:spse:pm1:pasted:20201005-200715.png?200}} ==== Cyklus - s počtem opakování ==== Značka příprava – označuje přípravnou fázi programu, užívá se například pro zahájení cyklu o známém počtu opakování. (Stejná značka může být i na konci tohoto typu cyklu) {{:spse:pm1:pasted:20201005-200722.png?200}} ----> {{:spse:pm1:pasted:20201005-200924.png?400}} <---- ----> === Cyklus - s podmínkou na začátku === {{:spse:pm1:pasted:20201005-200746.png?400}} <---- ----> === Cyklus - s podmínkou na konci === {{:spse:pm1:pasted:20201005-200750.png?400}} <---- spse/pm1/algoritmy.txt Poslední úprava: 2024/07/07 16:48autor: 127.0.0.1