Algoritmické myšlení – 2. střední škola

MTL
Zkopírovat krátkou adresu (umime.to/MTL)
Ukázat QR kód

umime.to/MTL


Stáhnout QR kód
Ukázat/skrýt shrnutí

Algoritmické myšlení je součást obecnějšího informatického myšlení, která se zaměřuje na navrhování algoritmů.

Co zahrnuje algoritmické myšlení?

Algoritmus je přesně daný postup, kterým řešíme určitý problém. Algoritmické myšlení se typicky využívá při programování, tj. při zápisu algoritmů, které provádí počítač. Má však svoje využití i v běžném životě: typickými příklady jednoduchých algoritmů jsou recepty na vaření nebo instrukce k sledování cesty z jednoho místa na druhé.

Algoritmické myšlení zahrnuje nejen tvorbu algoritmu, ale i další související kroky:

  • Porozumění problému, jasná formulace problému.
  • Abstrakce, rozklad problému na podčásti, odlišení podstatných prvků od těch, které jsou méně důležité.
  • Zvážení různých přístupů k řešení problému, porovnání efektivity algoritmů, optimalizace postupů.
  • Porozumění algoritmu, který vymyslel někdo jiný, a jeho provedení.
  • Hledání a opravování chyb.

Algoritmické myšlení na Umíme informatiku

V rámci Umíme informatiku dělíme toto téma na několik podtémat:

Příklady v této části staví především na „mikrosvětech“, což jsou jednoduchá, intuitivní prostředí s omezeným množstvím příkazů a současně zajímavou dynamikou. Jsou začleněny jak variace na často používané principy (želví grafika, robot na mřížce), tak originální variace jako kouzla nebo deaktivace bomby.

Pro zápis programů zde využíváme blokové programování, k jehož použití nabízíme samostatný metodický text pro učitele.

Souhrn mi pomohl
Souhrn mi nepomohl
Souhrn je skryt.

Rozhodovačka

Rychlé procvičování výběrem ze dvou možností.


Algoritmické myšlení
Rozpoznávání vzorů
Zpětné inženýrství
Slovní vztahy
Posloupnosti příkazů
Pořadí příkazů  
Zobrazit souhrn tématu
Posloupnosti kouzel
Deaktivace bomby: posloupnosti
Vnořené bloky  
Zobrazit souhrn tématu
Cykly a podmínky
Opakuj N×  
Zobrazit souhrn tématu
Opakovací kouzla
Deaktivace bomby: opakování
Podmínky a větvení  
Zobrazit souhrn tématu
Podmíněná kouzla: oblékání příšerek
Deaktivace bomby: podmínky
Deaktivace bomby: rozhodovací stromy
Opakuj dokud  
Zobrazit souhrn tématu
Vláček: opakuj dokud
Deaktivace bomby: opakuj dokud
Opakované rozhodování  
Zobrazit souhrn tématu
Vláček: opakované rozhodování
Vnořené cykly  
Zobrazit souhrn tématu
Vnořeně opakovací kouzla
Deaktivace bomby: vnořené cykly
Cykly a podmínky: mix
Kouzla: mix
Deaktivace bomby: mix
Proměnné
Proměnné: základní princip  
Zobrazit souhrn tématu
Proměnná kouzla
Deaktivace bomby: proměnné
Přiřazovací příkaz  
Zobrazit souhrn tématu
Výrazy s proměnnými  
Zobrazit souhrn tématu
Cykly s proměnnými  
Zobrazit souhrn tématu
Podmínky s proměnnými  
Zobrazit souhrn tématu
Typy proměnných  
Zobrazit souhrn tématu
Pojmenování proměnných  
Zobrazit souhrn tématu
Použití proměnných  
Zobrazit souhrn tématu
Funkce a zobecňování
Funkce  
Zobrazit souhrn tématu
Zobecňování programů  
Zobrazit souhrn tématu
Rozklad programů  
Zobrazit souhrn tématu


Pexeso

Hledání dvojic, které k sobě patří.


Algoritmické myšlení
Rozpoznávání vzorů
Stejné vzory  
Zobrazit souhrn tématu
Knoflíky a nitě
Rozklad obrázků na části  
Zobrazit souhrn tématu
Rozklad obrázků (s opakováním)
Cykly a podmínky
Opakuj N×  
Zobrazit souhrn tématu
Opakovací kouzla
Želví obrázky (s opakováním)
Proměnné
Proměnné: základní princip  
Zobrazit souhrn tématu
Typy proměnných  
Zobrazit souhrn tématu
Funkce a zobecňování
Abstrakce  
Zobrazit souhrn tématu
Abstrakce příšerek


Přesouvání

Přesouvání kartiček na správné místo. Jednoduché ovládání, zajímavé a neotřelé úlohy.


Algoritmické myšlení
Rozpoznávání vzorů
Společná vlastnost  
Zobrazit souhrn tématu
Trojice
Vzory v posloupnostech  
Zobrazit souhrn tématu
Doplňování řad: čísla
Doplňování řad: geometrické útvary
Popis vzorů  
Zobrazit souhrn tématu
Popis vzorů: Vyšívání
Zpětné inženýrství
Vztahy slov
Kódy květin
Rozklad obrázků na části  
Zobrazit souhrn tématu
Rozklad obrázků
Rozklad obrázků (s opakováním)
Posloupnosti příkazů
Pořadí příkazů  
Zobrazit souhrn tématu
Stavby z kostek
Cykly a podmínky
Opakuj N×  
Zobrazit souhrn tématu
Sběr vlajek
Včelí smyčky
Podmínky a větvení  
Zobrazit souhrn tématu
Sběr vlajek: podmínky
Rozhodovací stromy
Funkce a zobecňování
Abstrakce  
Zobrazit souhrn tématu
Žebřík abstrakce
Klasifikace
Funkce  
Zobrazit souhrn tématu
Obrázkové funkce
Vývoj programů
Vývojové diagramy
Vývojové diagramy: úpravy textu
Vývojové diagramy: proměnné a čísla


Krok po kroku

Doplňování jednotlivých kroků v rozsáhlejším postupu.


Algoritmické myšlení
Cykly a podmínky
Opakuj N×  
Zobrazit souhrn tématu
Podmínky a větvení  
Zobrazit souhrn tématu
Opakuj dokud  
Zobrazit souhrn tématu
Proměnné
Proměnné: základní princip  
Zobrazit souhrn tématu
Funkce a zobecňování
Funkce  
Zobrazit souhrn tématu
Vývoj programů
Úprava programů  
Zobrazit souhrn tématu
Úprava programů
Úprava programů s proměnnými
Ladění, hledání chyb  
Zobrazit souhrn tématu
Ladění programů
Ladění programů s proměnnými


Želví grafika

Vykreslování obrázků želví grafikou za využití blokového programování.


Základy

Pro začátek naučíme želvu základní příkazy pro posun a zatáčení a nakreslíme s ní pár jednoduchých obrazců. Pokud si sami potřebujete ujasnit, jak fungují úhly, zkuste nejdřív pexeso na úhly.

Obrázky s opakováním

Přidáme želvě možnost opakovat příkazy, díky čemuž zvládne vykreslit už trochu zajímavější obrázky.

Kreslení

Aby to kreslení nebylo tak fádní, naučíme želvu malovat barevně a zvedat štětec.

Kreslení II

A teď si zkusíme nakreslit pár obrázků z (želvího) života. Kreslení těchto obrázků není sice úplně jednoduché, ale nevyžaduje žádný složitý nápad.

Vzory s opakováním

Když správně použijete vnořené opakování, želva dokáže vykreslit zajímavé obrazce.

Želva s limitem

V této sadě máte za úkol psát pro želvu krátké programy –⁠ každá úloha má limit na počet příkazů. Dokážete najít ten správný, stručný zápis programu?

Vzory s opakováním II

Pár dalších vzorů s pravidelným opakováním. Některé vypadají komplikovaně, ale jdou všechny vykreslit snadno. Jen je potřeba se na ně správně podívat.

Proměnné

Naučíme želvu používat proměnné a ta nám díky tomu nakreslí pěkné spirály.

Proměnné II

Složitější příklady s proměnnými.

Úprava programů

V této sadě máte k dispozici hotové řešení, které je ale nepěkné. Úkolem je program vylepšit, aby byl stručnější a vešel se do limitu na počet příkazů.

Ladění obrázků

V této sadě máte připravené programy, které jsou skoro správně. Ale jenom skoro. Zkuste v nich najít chybu a opravit ji.

Správné úhly

Želva zvládne nakreslit pěkné hvězdy a další obrazce. Musíte jí ale říct, o jaký úhel má přesně zatočit. Zkuste ten správný úhel nehádat, ale vypočítat.

Želva s limitem II

Druhá, náročnější sada s limity na počet příkazů.

Záludné

Směsice těžších úloh. Jdou často řešit krátkým programem, ale může k tomu být potřeba ten správný nápad.

Želví experimentárium

Na závěr tu máme úlohy „na hraní“. U těchto úloh není žádné jasné zadání k vyřešení. Máte připravený program, se kterým můžete experimentovat.



ProgMalování

Tvorba obrázků skládáním základním tvarů (např. kruh, čtverec), využití blokového programování.


Skládání tvarů

Skládáním základních tvarů se dají vykreslit zajímavé geometrické obrazce. Zvlášť když zapojíme speciální inverzní štětec.

Skládání tvarů II

Dokážete se na útvary správně podívat a poskládat je ze základních?

Malovací rozcvička

Sada příkladů na rozcvičení a vyzkoušení ovládání.

Obrázky

Kreslení obrázků pomocí základních operací. Bude potřeba se trochu zamyslet nad správným pořadím...

Obrázky II

Trochu rozsáhlejší obrázky. Nevyžadují žádný velký nápad, jen trochu důslednosti.

Vzory s opakováním I

Zde máme navíc příkaz pro opakování, který využijeme pro vykreslování řad a vzorů.

Vzory s opakováním II

Pokročilejší sada využívající opakování.

Proměnné

A teď si přidáme proměnné, což dohromady s opakováním umožňuje dělat nové zajímavé vzory.

Funkce

Pomocí funkcí můžeme vytvořit nové vzory a umisťovat je na různá místa na plátně.

Ladění obrázků

Důležitou součástí programování je ladění, tedy hledání chyb a jejich opravování. V této sadě si to můžete natrénovat: dostanete připravený program a jen ho musíte mírně doladit.

Záludné

Sbírka náročnějších úloh na závěr.



Plošinovka

Ovládejte skákající postavu pomocí blokového programování.


Podmínky: základy

Pan Blob je inteligentní a nemusí u každého kaktusu dělat to stejné. Může se rozhodnout podle toho, zda kaktus roste na trávě, nebo písku.

Interakce

Vytvořte si vlastní pravidla hry a pak si hru zahrajte! V této sadě pan Blob dokáže reagovat nejen na prvky na plánu, ale i na kliknutí.

Pavouci a střely

Pozor, některé plošinky hlídají obří pavouci. Pan Blob je však umí sestřelit.

Rozšířené podmínky

Aby se pan Blob mohl lépe rozhodovat, naučíme ho nové podmínky na směr chůze a počet mincí.

Interakce a podmínky

Nyní se pan Blob pustí do průzkumu záludnějších plošinových světů, na což se bude hodit využít podmínky i událost klikání.

Čarování s podmínkami

Nyní pan Blob bude potřebovat jak čarování, tak podmínky.

Kombinace podmínek

V této sadě využijeme kombinace podmínek (logické spojky, vnořené podmínky).

Čarování

Pan Blob umí kouzlit! Dokáže třeba odčarovat všechny plošinky s trávou.

Duch

Pan Blob se dokáže proměnit na ducha. Jako duch dokáže přejít přes nebezpečné ostny, ale neumí sbírat mince a vejít do dveří.

Čítače

Pan Blob umí i počítat. Sice jen po jedné, ale i to stačí.

Záludné

Výběr těžších úloh. Některé jdou vyřešit i jednoduchým programem, nemusí být ale snadné to správné řešení najít.



Stavitel

Pomocí blokového programování vytvořte program pro stavitele Standu.


Základy stavitelství

Stavitel Standa se představuje a natrénuje si základní akce (chůze, přesun materiálu, stavění, kácení).

Stavby s opakováním

Standa je pracovitý a dokáže toho postavit hodně. Pro zadávání úkolu se nám bude hodit příkaz opakuj.

Stavby s opakováním: těžší

Úkoly využívající jen základní cyklus opakuj. Je ale potřeba to dobře vymyslet.

Opakuj dokud

Tentokrát vyzkoušíme formu příkazu opakuj s využitím podmínek.

Opakuj dokud: těžší

Mírně náročnější úkoly využívající cyklus opakuj dokud.

Opakování a podmínky

Standu čekají náročnější stavební úkoly, bude se muset opakovaně rozhodovat podle aktuální situace v terénu.

Opakování a podmínky: těžší

Vnořené cykly

Funkce

Rekurze

Bonusová sada, ve které nejsou dostupné bloky pro opakování. Místo toho je potřeba vhodně využít rekurzivní funkce (funkce, které volají sami sebe).

Záludné

Kód kostky

Navigujte kostku po plánu podle zadaného programu. Procvičení schopnosti číst programy.


Opakuj dokud

Doposud jsme měli cykly se zadaným počtem opakování. Nyní využijeme opakování podle podmínky.

Výpravy kostek

Kostky vyráží na výpravy, při kterých si vyzkouší příkazy různého typu a trochu záludnější programy.

Funkce s parametry

Nyní kostky naučíme funkce, jejichž význam záleží na vstupním parametru.

Robotanik

Jednoduché grafické ovládání, zapeklité programátorské úlohy.


Trénink

Vyzkoušejte si základní ovládání Robotanika.

Lehké

Sada úloh, které zvládne s trochou přemýšlení vyřešit i programátorský nováček.

Středně těžké

U těchto úloh už se budete muset trochu víc zamyslet, ale nejsou v nich ještě žádné záludné finty.

Těžké

Tady už to začíná být komplikovanější. U těchto příkladů už je často potřeba využít naplno princip rekurze (zanořování a vynořování z funkcí).

Opravdová výzva

Tyto úlohy už mohou dát zabrat i zkušenému programátorovi.



NAPIŠTE NÁM

Děkujeme za vaši zprávu, byla úspěšně odeslána.

Napište nám

Nevíte si rady?

Nejprve se prosím podívejte na časté dotazy:

Čeho se zpráva týká?

Vzkaz Obsah Ovládání Přihlášení Licence