Než začneme
Tuhle skládanku určitě znáš.
Jednotlivé obrázky popisují postup při skládání origami - parníku. Zkus postup zapsat slovně bez obrázků.
Popsat nějaký pracovní postup opravdu přesně a jednoznačně je překvapivě obtížné. Co popsat jen slovy, jak uvážeš kličku na tkaničce na botách, poskládáš tričko či košili nebo postup při přípravě nějakého pokrmu.
U těchto úkolů není tak těžké vymyslet postup, obtížné je ho jednoznačně popsat. Obrovské množství námětů poskytuje matematika. Při
snaze správně zformulovat postupy můžeš použité matematice lépe
porozumět.
To je úplně první krok k ovládnutí algoritmizace. I jiných školních předmětech lze řešit úlohy algoritmicky, tedy
pomocí jednoznačného postupu. Například vyčíslení chemické rovnice, určování
oxidačních čísel, převody chemických názvů na vzorce a zpět, převody
jednotek, větný rozbor, pravopis...
Algoritmus
- je postup řešící určitý druh problému.
Postup je složen z konečného množství přesně určených
jednoduchých kroků – například v matematice je algoritmem postup
násobení pod sebou nebo třeba dělení "s ocáskem".
Ale algoritmem může být třeba recept na vaření guláše.
Algoritmy lze zapisovat například slovně, v programovacím jazyce, v podobě vývojového diagramu.
Program a programování
Program je algoritmus zapsaný v jednom z programovacích jazyků, který zpracovává data. Program vytváří programátor. Program vykonává procesor počítače.
Program je sada příkazů, kterou se počítač řídí a tyto příkazy vykonává.
Program je jakýkoliv software v počítači, ale i jakákoliv
aplikace v mobilu nebo tabletu, například operační systém (Windows,
Android, iOS), hry, kancelářský software (Word, Excel,...), grafický
editor, WhatsApp, atd.
Na každém řádku programu musí být jasné, co přesně se po počítači chce, co se vykonává... jak se bude chovat. To často vede k zvláštní "kostrbatosti" zápisu.
Programování je zápis algoritmu v programovacím jazyku. Programování je jednoduše způsob, kterým je možné sadou instrukcí - pokynů jimž počítač rozumí, říci, co má počítač dělat.
Jak se program vytváří? Jak se programuje?
1. Hledání problému, který bude program řešit a jak ho bude řešit.
2. Sestaví se algoritmus.
3. Algoritmus se přepíše ve zvoleném programovacím jazyce.
4. Testování funkčnosti programu – ladění neboli debugging
(hledání a odstraňování chyb).
Téměř nikdy se nestane, že by byl program perfektně funkční hned na první pokus. Proto je testování a odstraňování chyb (debugging) důležitou součástí programování.
Existuje mnoho (> 100) různých programovacích jazyků,
které se od sebe různě odlišují. Některé si jsou velmi podobné, některé
úplně odlišné. My se budeme zabývat tzv. "block-based" jazyky, které jsou určené dětem (především Scratchem).
Pro grafický zápis algoritmů programátoři velmi často využívají vývojový diagram.
Vývojový diagram (angl. Flowchart) je jedna z možností, jakou
lze budovat a prezentovat algoritmus. Jedná se o grafickou reprezentaci
jednotlivých kroků, která se řídí určitými pravidly. Tento nástroj dává programátorovi jasnější představu o tom,
jak by mohl program sestavit. Navíc, správně sestavený vývojový diagram
zaručuje plnění podmínek pro tvorbu algoritmu.
Diagramy se skládají ze spojovacích šipek (spojnic) a několika druhů obrazců.
Šipky (spojnice) představují směr toku dat; jak jsou data zpracovávány. Spojují vzájemně jednotlivé obrazce. Každý druh obrazce (tvar) představuje specifickou činnost.
Šipka – spojnice (čára)
udává směr toku dat od začátku do konce;
spojuje jednotlivé obrazce (symboly);
snaha o kolmost;
přednost má směr dolů a doprava;
Začátek, konec
krajní symboly diagramu;
vždy jen jeden začátek, jeden konec;
Vstup, výstup
kosodélník;
představuje načtení dat do programu;
zobrazení výstupních dat programu;
Zpracování (příkaz)
obdélník;
vykonání činnosti programu;
přiřazení, změna dat;
Podmínka
rozvětvuje na 2 větve podle splnění podmínky;
podmínka splněna... pokračuje větví ANO (+, yes);
podmínka nesplněna... pokračuje větví NE (–, no);
Cyklus (s počtem opakování)
nastavíme počet opakování (takové počítadlo);
počet opakování = kolikrát se zopakuje vše uvnitř těla cyklu;
Podprogram
činnost je definovaná jinde – např.: funkce, kterou voláme;
v diagramu funguje jako "black box" – nevíme, co je uvnitř, a ani nás to nezajímá;
Dokážeš vytvořit vlastní vývojový diagram?
Želvička má zanechat stopu ve tvaru pěticípé hvězdy (na obrázku).
Vytvoř vývojový diagram, který dovede želvičku k cíli (nakreslení obrázku).
Úkol
Do pracovního sešitu zapiš nadpis Progamování a pod nadpis této lekce zkopíruj text mezi čarami.
Do své prezentace na nový snímek přidej nadpis Programování a do obsahu název této kapitoly a vlož obrázek se želvičkou.