Zdroje:
Potřebné vstupní znalosti a dovednosti
Oborové
Digitální dovednosti
Vzdělávací cíle:
Přínos využití digitálních technologií
Cykly jsou základním stavebním kamenem každého programu. Ulehčují nám práci a díky nim nemusíme opakovat určité kusy kódu, které se neustále opakují. Můžeme tak vytvořit např. hudební pomůcku pro cvičení – metronom.
Tato aktivita navazuje na sérii Python v hudbě 06 – Podmínky podruhé. Před touto aktivitou je nutné již Python nainstalovat přímo na pracovní stanice. Tento program bude fungovat pouze na počítačích s Windows. Uživatelé s počítači Mac musejí použít pro přehrávání zvuků odlišný postup, kterým se tento návod nezabývá. Pro návod na podrobnou instalaci vývojového prostředí pro práci s Pythonem následujte tento odkaz.
Výklad
Doteď jsme celý kód psali pouze v internetovém prohlížeči a zkoumali, jak se jazyk Python chová. Na úvod jsme si s takovým řešením vystačili, ale nyní si pojďme ukázat, co je to ten Python vlastně zač a jak ho můžeme použít při reálné aplikaci.
Vytvoříme totiž jednoduchý metronom, který budeme moci spustit jako každý jiný program v našem počítači. Budeme k tomu potřebovat trochu teorie, abychom lépe pochopili, co náš napsaný kód způsobuje a může způsobit.
Python je programovací jazyk, který umožňuje psát různé druhy programů, jako jsou webové stránky, počítačové hry, aplikace pro mobilní telefony a mnoho dalšího. Jazyk Python je speciální tím, že nepotřebuje překlad do strojového jazyka, aby byl spuštěn. Místo toho se při spuštění programu čte a interpretuje zdrojový kód přímo v počítači.
To znamená, že když napíšeme kód v Pythonu, nemusíme ho překládat, aby ho mohl počítač spustit. Můžeme tak kód psát přímo do textového editoru a poté ho pouze spustit pomocí Pythonu.
Jednou z výhod interpretovaných jazyků, jako je Python, je to, že jsou obecně jednodušší a snadněji čitelné než jiné programovací jazyky. Další výhodou interpretovaného jazyka typu Python je to, že kód může být spuštěn na různých operačních systémech. To znamená, že když napíšeme kód v Pythonu, můžeme ho spustit na Windows, MacOS nebo Linuxu, aniž bychom museli měnit samotný kód.
Celkově lze říci, že Python je jednoduchý a snadno čitelný programovací jazyk, který nemusí být před spuštěním přeložen a může být spuštěn na různých platformách. To z něj dělá skvělou volbu pro začátečníky, kteří se chtějí naučit programovat, stejně jako pro pokročilé programátory, kteří chtějí psát výkonné a rozšířitelné kódy.
Ačkoli je Python jednoduchý, budeme jej muset nainstalovat, abychom mohli přejít od teoretické roviny k praktickému využití. Instalace prostředí Pythonu je stejná jako instalace každého jiného programu. Nejnovější verzi najdeme zde: https://www.python.org/downloads/
V případě, že byste si s instalací nevěděli rady, pokračujte na článek Jak připravit počítač na programování v Pythonu. Tento článek Vám pomůže nejen s instalací Pythonu, ale pomůže vám celkově s přípravou vývojového prostředí, které nám velmi zjednoduší práci.
V momentě, kdy máme nainstalovaný Python přímo v počítači, můžeme pokračovat následujícím způsobem:
Buď celý program píšeme již v nainstalovaném vývojovém prostředí (IDE), nebo jej můžeme psát klidně v poznámkovém bloku. Není v tom žádný rozdíl až na to, že nainstalované IDE nám velmi zpříjemní celkový pocit z práce a také celý proces značně ulehčuje. Nehledě na to, že nás neustále upozorňuje na možné chyby v kódu. Je to obdoba toho, co jsme doposud používali v internetovém prohlížeči online, jen ji máme nainstalovanou přímo v PC a díky tomu umožníme kódu s naším strojem komunikovat.
Tato aktivita vybízí k procesu, kterým student prochází při hledání správného řešení. Již máme dostatek znalostí, abychom tuto aktivitu zkusili naprogramovat samostatně. Ještě předtím, než načrtneme zadání, pojďme si přiblížit pár nových funkcí, se kterými budeme pracovat.
Funkce:
Víme již, že máme proměnné, do kterých ukládáme hodnoty. Jaké hodnoty si do nich uložíme, závisí na logických operátorech a podmínkách, kterými vytváříme možné průchody programem. Také již víme, že tyto různé větve programu můžeme uzavřít do smyček, a tím nějakou hodnotu navyšovat či neustále opakovat.
Už známe spoustu věcí, ale zatím jsme vždy používali jedinou funkci v Pythonu a tou byla doposud funkce print(). Print() je obyčejná základní funkce, která vypíše hodnoty proměnných – buď text, nebo číselné operace. Funkcí má ale Python spoustu. Funkce ve skutečnosti provádí určité operace, a to podle parametrů, které specifikujeme v závorce: print(parametr).
Python je velmi oblíbený díky svým knihovnám. Knihovny jsou předpřipravené řešení, které můžeme libovolně používat. Python má obrovské množství knihoven např. pro práci s časem a audiem. My si do našeho programu importujeme time a winsound:
Doteď jsme pracovali pouze s funkcí print(). Knihovna time a winsound obsahuje několik dalších užitečných funkcí. Nás budou zajímat hlavně tyto:
Programu řekneme, že chceme z knihovny winsound použít předdefinovanou funkci .Beep. V závorkách pak máme parametry, které můžeme libovolně nastavit. V tomto případě máme parametry 440, což jsou hertze, ve kterých zazní tón, a druhé číslo 100, které určuje, kolik milisekund bude tón znít. Pro spuštění programu buď tento kód uložíme v poznámkovém bloku s příponou .py (metronom.py) a poté spustíme jako běžný klasický program, anebo pomocí IDE spustíme pomocí Run Python file. Pokud nevíte, jak program přesně spustit, tak prostudujte návod, který je popsaný v tomto článku. Alternativně můžeme tyto pokusy zkoušet rovnou v příkazové řádce.
Druhá funkce time pozastaví program na jednu sekundu. Zkusme zjistit, co program udělá, když dáme těchto pár funkcí za sebou. Každá funkce vykoná určitý kus kódu v posloupnosti, v jaké jsme ho zadali.
Máme zde již tři funkce. Stačí nám pouze tři funkce k tomu, abychom mohli takto zábavně interagovat s počítačem. Funkce winsound generuje tón na frekvenci 440 Hz o délce 100 milisekund. Funkce time nám vždy zmrazí program na jednu sekundu a poté pokračuje dále a vykoná funkci print, která vypíše text: „První doba“. Všimněme si, že funkce beep a sleep samostatně nefungují:
Musíme jim vždy říct, z jaké knihovny je voláme. Proto správná syntaxe začíná modulem, který voláme (winsound), poté následuje tečka a za ní funkce, kterou chceme vykonat.
Tyto funkce totiž pracují s našimi daty různým způsobem. Najednou můžeme čísla převádět na zvuk a čas. Ale také na obrazy a barvy, nebo jiné druhy textualit. Jakým způsobem se rozhodneme data interpretovat, je na nás. A to vše díky funkcím. Myslím, že již tušíme, jak by takový metronom mohl vypadat.
Zadání:
Napište kód, který bude produkovat zvukové signály s různými frekvencemi v závislosti na hodnotě proměnné „bpm“.
Postup:
Řešení:
Hodnocení:
Hodnotíme na základě funkčnosti kódu, úpravy a přehlednosti a použitých komentářů pro lepší orientaci. Hodnotíme iniciativu a návrhy na zlepšení.
Zkušenosti s použitím materiálu
Tento materiál je praktickým cvičením, které díky funkcím generuje různé tóny v rytmických intervalech. Máme-li šikovnou třídu, můžeme výpočet pro převod BPM na vteřiny nechat vyřešit žáky. Způsobů, jak tuto úlohu vyřešit, je hodně, tudíž se nemusíme striktně vázat na zadání, pokud si studenti vědí rady a mají své kreativní řešení.
Článek je publikován pod licencí Creative Commons - Uveďte původ-Neužívejte komerčně-Nezpracovávejte 4.0 .
Článek nebyl prozatím komentován.
Pro vložení komentáře je nutné se nejprve přihlásit.
Tento článek je zařazen do seriálu Python v hudbě.
Ostatní články seriálu:
Materiály s klíčovým slovem NPO 3.1 DIGI vytvořil tým metodiků v projektu Podpora škol v kontextu digitalizace (Národní plán obnovy 3.1 DIGI) pro podporu pedagogů při ICT revizích.
Další informace, metodické materiály i inspiraci do výuky jednotlivých předmětů i napříč předměty najdete na webu https://digitalizace.rvp.cz/

Národní pedagogický institut České republiky © 2025