MASARYKOVA UNIVERZITA PŘÍRODOVĚDECKÁ FAKULTA ÚSTAV MATEMATIKY A STATISTIKY Diplomová práce BRNO 2015 JANA BŘÍZOVÁ MASARYKOVA UNIVERZITA PŘÍRODOVĚDECKÁ FAKULTA ÚSTAV MATEMATIKY A STATISTIKY Interaktivní výukové materiály v PDF formátu – Diferenciální počet funkcí více proměnných Diplomová práce Jana Břízová Vedoucí práce: RNDr. Roman Plch, Ph.D. Brno 2015 Bibliografický záznam Autor: Bc. Jana Břízová Přírodovědecká fakulta, Masarykova univerzita Ústav matematiky a statistiky Název práce: Interaktivní výukové materiály v PDF formátu – Diferenciální počet funkcí více proměnných Studijní program: Matematika Studijní obor: Aplikovaná matematika pro víceoborové studium – Ekonomie Vedoucí práce: RNDr. Roman Plch, Ph.D. Akademický rok: 2014/2015 Počet stran: vii + 65 Klíčová slova: interaktivní výukové materiály; PDF dokument; LATEX; AcroTEX; dps; jeopardy; GeoGebra; Maple; diferenciální počet funkcí více proměnných Bibliographic Entry Author: Bc. Jana Břízová Faculty of Science, Masaryk University Department of Mathematics and Statistics Title of Thesis: Interactive teaching materials in PDF format – Differential calculus of functions of several variables Degree Programme: Mathematics Field of Study: Applied Mathematics for Multi-Branches Study – Economics Supervisor: RNDr. Roman Plch, Ph.D. Academic Year: 2014/2015 Number of Pages: vii + 65 Keywords: interactive teaching materials; PDF document; LATEX; AcroTEX; dps; jeopardy; GeoGebra; Maple; differential calculus of functions of several variables Abstrakt Diplomová práce se věnuje problematice tvorby interaktivních výukových materiálů v PDF formátu pomocí systému LATEX. Shrnuje současné možnosti tvorby testů (balíček maker AcroTEX) a pedagogických her (balíčky dps a jeopardy), dále pak způsoby generování matematické grafiky (programy GeoGebra a Maple) a možnosti jejího vkládání do PDF dokumentů. Uvedené teoretické principy jsou aplikovány v praxi – v rámci diplomové práce byla vygenerována sada 36 pedagogických her a 6 interaktivních testů pro podporu výuky tématu Diferenciálního počtu funkcí více proměnných, jež jsou na přiloženém CD. Ve druhé a třetí kapitole jsou uvedeny vzorové postupy řešení vybraných typových příkladů a klíč k řešení všech úloh. Tato diplomová práce může být pedagogům návodem k tvorbě vlastních výukových materiálů, studenti samotní mohou využít především vytvořené výukové materiály ke studiu matematické analýzy. Abstract The diploma thesis studies the creating of interactive teaching materials in PDF format, using typing system LATEX. It summarizes the current potential of creating tests (AcroTEX package) and teaching games (dps and jeopardy package) and, in addition, ways of preparation of mathematical graphics (GeoGebra and Maple software) and ways of inserting it into PDF files. The theorethical principles are applied in practice – the diploma thesis includes 36 teaching games and 6 interactive tests supporting teaching the Differential calculus of functions of several variables, that are included on the CD. The second and the third chapter comprise the procedure of solving selected model tasks and solutions of all included exercises. In this diploma thesis teachers can find instructions how to prepare their own teaching materials, students can find a lot of exercises to practise the calculus. Poděkování Na tomto místě bych chtěla poděkovat především vedoucímu práce RNDr. Romanu Plchovi, Ph.D. za odborné vedení, rady a čas, který mi věnoval při řešení dané problematiky. Dále bych chtěla poděkovat také celé své rodině a nejbližším za cenné připomínky a psychickou podporu. Prohlášení Prohlašuji, že jsem svoji diplomovou práci vypracovala samostatně s využitím informačních zdrojů, které jsou v práci citovány. Brno 10. května 2015 . . . . . . . . . . . . . . . . . . . . . . . . . . Jana Břízová Obsah Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Kapitola 1. Použité technologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1 Systém LATEX – balíčky maker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.1 AcroTEX eDucation Bundle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1.2 Párovací hry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.1.3 Jeopardy (Riskuj a Poznej) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 1.2 Tvorba matematické grafiky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 1.2.1 GeoGebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 1.2.2 Maple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Kapitola 2. Interaktivní výukové materiály – Diferenciální počet funkcí více proměnných . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 2.1 Pojem funkce více proměnných . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 2.2 Limita a spojitost funkce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 2.3 Parciální a směrové derivace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 2.4 Diferenciál funkce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 2.5 Taylorův polynom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 2.6 Lokální a absolutní extrémy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Kapitola 3. Interaktivní výukové materiály – Klíč k řešení . . . . . . . . . . . . . . . . . . . . 56 3.1 Pojem funkce více proměnných . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.2 Limita a spojitost funkce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3.3 Parciální a směrové derivace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 3.4 Diferenciál funkce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 3.5 Taylorův polynom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 3.6 Lokální a absolutní extrémy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Závěr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Příloha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Seznam použité literatury . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 – vii – Úvod Matematické vzdělání je podstatným předpokladem studia ostatních přírodovědných oborů a ekonomie. Pro jeho získání však nestačí pouhé čtení knih či odborných článků – matematika, královna věd, klade na své studenty mnohem vyšší nároky. Chtějí-li jí opravdu porozumět, musí čtení literatury doplnit i praktickým nácvikem – řešením úloh, aplikováním teoretických znalostí v konkrétních situacích, počítáním příkladů apod. Procvičování výpočetních dovedností však nemusí být pouze nutným zlem, dokážeme-li studentům matematické úlohy podat přitažlivou a zajímavou formou. Dobrému pochopení matematiky napomáhá také její názorná ilustrace – Archimédés kreslil své kruhy do písku, kabinety matematiky zdobí drátěné modely těles apod. Současný rozvoj výpočetní techniky otevírá v tomto směru dveře novým možnostem. Tato práce se zabývá tvorbou moderních interaktivních výukových materiálů v PDF formátu, materiálů, které naplňují výše uvedené pedagogické cíle – názornou a zároveň atraktivní formou nabízejí velké množství úloh k procvičování matematické látky. V úvodu práce jsou popsány principy tvorby těchto materiálů s využitím volně šiřitelného autorského systému pro sazbu dokumentů LATEX a jeho nadstaveb – balíčků maker AcroTEX (pro tvorbu interaktivních testů), dps (párovací hry) a jeopardy (hry typu Riskuj a Poznej). V další části práce se zabýváme přípravou matematické grafiky a jejím začleněním do vytvořených interaktivních výukových materiálů. Vizualizace probírané látky pomocí matematické grafiky je vhodná především ve výuce matematické analýzy – zejména v oblastech diferenciálního a integrálního počtu. A právě diferenciální počet funkcí více proměnných je tématem výukových materiálů, jež byly vygenerovány v rámci této diplomové práce. Diferenciální počet funkcí více proměnných je zde rozdělen do tematických okruhů, odpovídajících svým rozsahem vybraným kapitolám učebního textu [2]. Vzorové řešení základních typů úloh z těchto okruhů je obsahem kapitoly 2. Třetí kapitola práci doplňuje o klíč k řešení všech vygenerovaných interaktivních výukových materiálů, jež jsou k dispozici na přiloženém CD. – 1 – Kapitola 1 Použité technologie V současné době existuje mnoho možností sazby dokumentů – prakticky každý počítač má dnes k dispozici některý z textových editorů. V minulosti se jednalo o jednoduchý software pracující v textovém režimu. Nyní je již k dispozici nepřeberné množství grafických, uživatelsky komfortních systémů vybavených početnými funkcemi a různými možnostmi vstupu a výstupu. Systém TEX, resp. jeho nadstavba LATEX, jemuž se budeme věnovat na stránkách této práce, je volně šiřitelný autorský systém pro sazbu dokumentů ve vysoké typografické kvalitě. Využíván je s oblibou na akademické půdě, kde je oceňována zejména jeho propracovanost, která nemá obdoby v žádném jiném, ani komerčním systému [10]. Základním formátem výstupu systému LATEX jsou soubory v jazyce PostScript, dříve hojně využívaném pro ovládání např. osvitových jednotek či tiskařských strojů. V současnosti je velmi oblíben také formát PDF (Portable Document Format – Přenosný formát dokumentů). Jedná se o formát vyvinutý firmou Adobe, který slouží k ukládání dokumentů nezávisle na volbě softwaru či hardwaru. Lze v něm uchovávat text i grafické objekty, přičemž PDF formát garantuje, že se daný dokument zobrazí na všech zařízeních stejně. K prohlížení PDF souborů lze využít mnoha dostupných sofwarů (např. Foxit Reader, Nitro PDF Reader, PDF-XChange Viewer); využíváme-li však PDF dokumenty s aktivním obsahem (interaktivní formuláře, 3D grafika, videa, zvuk, . . . ), je doporučován oficiální prohlížeč firmy Adobe – Adobe Reader, neboť tyto prvky nejsou ostatními prohlížeči plně podporovány. V systému LATEX lze výstup ve formátu PDF získat třemi cestami: první z nich je vytvoření souboru ve formátu PostScript a jeho následné převedení do PDF např. pomocí programu ps2pdf; druhou cestou je převedení formátu PostScript pomocí komerčního programu Acrobat Distiller; třetí možností je pak přímý překlad zdrojového souboru pdfLATEXem. 1.1 Systém LATEX – balíčky maker Hlavní výhodou systému LATEX je jeho otevřenost. Jeho základní instalaci tak lze doplňovat o další balíčky maker, ať už z vlastní dílny, či sdílené mezi uživateli LATEXu navzájem. Na stránkách této práce se budeme věnovat především systému AcroTEX a dále balíčkům dps a jeopardy, které umožňují sazbu interaktivních výukových materiálů. – 2 – Kapitola 1. Použité technologie 3 1.1.1 AcroTEX eDucation Bundle Autorem systému maker AcroTEX1 je uznávaný odborník D. P. Story2, docent univerzity v Akronu (Akron, Ohio). Název AcroTEX vznikl spojením dvou slov – Acrobat a LATEX. Jedná se tedy o systém LATEXových maker, která v kombinaci s programem Adobe Acrobat (produkt firmy Adobe) umožňují vytvářet interaktivní PDF soubory. AcroTEX se skládá ze dvou nezávislých systémů balíčků. Prvním z nich je AcroTEX Presentation Bundle, jenž slouží ke snadné tvorbě prezentací pomocí LATEXu. Druhým systémem balíčků, kterým se budeme na stránkách této práce zabývat podrobněji, je AcroTEX eDucation Bundle. Ten usnadňuje vkládat do prezentací interaktivní výukové prvky (testy, kvízy či jednotlivé otázky, schopné samostatného vyhodnocování správnosti odpovědí). Na následujících stránkách se zaměříme na možnosti využití tohoto systému balíčků při tvorbě interaktivních materiálů pro výuku matematiky. Vzhledem ke značnému rozsahu možností AcroTEXu se budeme v tomto odstavci věnovat pouze vybraným příkazům a prostředím – zaměříme se na základní typy otázek a testů. Podrobné informace o systému AcroTEX lze čerpat z návodu [13], jenž je součástí instalačního balíčku AcroTEXu3. Technické parametry dokumentu s interaktivními testy Chceme-li do dokumentu vkládat interaktivní testy vytvořené systémem AcroTEX, je třeba do jeho preambule načíst balíček hyperref (umožňuje hypertextové propojení dokumentu) a exerquiz (s volitelnými parametry pdftex – udává způsob překladu dokumentu – a czech – pro češtinu). Minimální hlavička dokumentu obsahujícího interaktivní testy tak má tvar: \documentclass[pdftex]{article} \usepackage[czech]{babel} \usepackage[utf8]{inputenc} \usepackage{graphicx} %sazba grafických prvků \usepackage{amsmath,amssymb,amsthm} %sazba matematiky \usepackage{hyperref} %hypertextové propojení dokumentu \usepackage[pdftex,czech]{exerquiz} %interaktivní testy Typy otázek Stejně jako běžné, „papírové“ testy nabízí i interaktivní PDF-testy vytvářené systémem AcroTEX dva základní typy testových otázek – otázky uzavřené, v nichž se správná odpověď vybírá z předem nabídnutých možností, a otázky otevřené, v nichž musí respondent odpověď napsat vlastními slovy. Otevřené otázky jsou pak v prostředí AcroTEXu dále rozlišovány podle přístupu k vyhodnocování jejich správnosti na otázky textové a matematické. Uzavřené otázky tvoříme v prostředích answers (otázky s právě jednou správnou odpovědí), případně manswers (otázky s větším počtem správných odpovědí). Tato prostředí se mezi sebou vzhledově neliší, liší se však jejich syntaxe. 1http://www.acrotex.net 2webové stránky autora: http://www.math.uakron.edu/~dpstory/webeq.html 3dostupný z http://www.acrotex.net Kapitola 1. Použité technologie 4 Prostředí answers má jeden povinný parametr, jímž je počet sloupců tabulky, do níž se budou odpovědi sázet – je-li počet sloupců roven jedné, sází se odpovědi jako seznam, je-li počet sloupců vyšší, sází se odpovědi jako tabulka, tj. sloupce se oddělují znakem & a k ukončení řádku je třeba použít \\. Jednotlivé odpovědi jsou pak uvozeny příkazem \Ans s parametrem 1 pro správnou odpověď a parametrem 0 pro odpověď chybnou. Základní podoba prostředí answers může být tedy následující: Otázka \begin{answers}{2} \Ans{0} chybná odpověď & \Ans{0} chybná odpověď\\ \Ans{1} správná odpověď & \Ans{0} chybná odpověď \end{answers} Vložíme-li tento kód do kvízu (prostředí shortquiz), vysází se otázka v následující podobě: Kvíz. Otázka (a) chybná odpověď (b) chybná odpověď (c) správná odpověď (d) chybná odpověď V prostředí manswers, které má opět jeden povinný parametr, jímž je počet sloupců tabulky, je třeba odpovědi uzavřít mezi příkazy \bChoices a \eChoices. Příkaz \bChoices má jeden volitelný parametr, udávající počet sloupců, které budou reálně využity pro sazbu odpovědí; vhodnou kombinací parametrů prostředí manswers a příkazu \bChoices lze docílit žádaného rozložení odpovědí – např. manswers{3} a \bChoices[2] vyčlení v rámci šířky testu prostor pro tři sloupce, přičemž odpovědi budou vysázeny pouze v prvních dvou. Samotné odpovědi pak píšeme mezi příkazy \Ans a \eAns, přičemž příkaz \Ans je následován parametrem rozhodujícím o správnosti odpovědi, stejně jako v prostředí answers. Sazba otázek s větším počtem správných odpovědí tedy může vypadat následovně: Otázka \begin{manswers}{4} \bChoices[2] \Ans{0} chybná odpověď \eAns \Ans{1} správná odpověď \eAns \Ans{0} chybná odpověď \eAns \Ans{1} správná odpověď \eAns \eChoices \end{manswers} Vložíme-li opět tento kód do kvízu (prostředí shortquiz), vysází se otázka následovně: Kvíz. Otázka chybná odpověď správná odpověď chybná odpověď správná odpověď Příkazy \bChoices a \eChoices lze využít i v prostředí answers. Tento přístup povede ke snazší čitelnosti kódu, neboť v případě delších odpovědí je způsob sazby do tabulky značně nepřehledný. Získáme tak navíc syntaxi, kterou můžeme využívat bez Kapitola 1. Použité technologie 5 rozlišování jednotlivých prostředí, což usnadňuje např. automatickou sazbu interaktivních testů. Výhodou je také možnost využití volitelného parametru příkazu \bChoices pro sazbu odpovědí jen do některých sloupců. Otevřené otázky se sází za použití příkazů \RespBoxTxt a \RespBoxTxtPC pro textovou, resp. \RespBoxMath pro matematickou odpověď. Příkaz \RespBoxTxt má tři povinné parametry: filtr pro úpravu odpovědi respondenta, porovnávací metodu pro kontrolu správnosti odpovědi a počet alternativ, které budou uznány jako správná odpověď: • filtr – −1 – odpověď respondenta je ponechána bez úprav – jsou zachovány veškeré mezery, interpunkce i velikost písmen – 0 – odpověď respondenta je převedena na malá písmena, dojde k vypuštění všech mezer a nepísmenných znaků – 1 – odpověď respondenta je převedena na malá písmena, dojde k vypuštění všech mezer – 2 – v odpovědi respondenta dojde k vypuštění všech mezer • metoda – 0 – odpověď respondenta se musí přesně shodovat se správnou odpovědí – 1 – správná odpověď se musí v odpovědi respondenta vyskytnout jako podře- tězec Bezprostředně za parametrem udávajícím počet alternativ pak následuje výčet všech správných odpovědí. Volitelné parametry příkazu \RespBoxTxt slouží zejména k úpravě vzhledu políčka pro textovou odpověď, podrobný popis je součástí návodu k systému AcroTEX [13]. Příkladem pak může být následující textová otázka: Jak se jmenuje hlavní město ČR? \RespBoxTxt[\rectW{4cm}]{0}{1}{1}{Praha} Vložíme-li tuto otázku do kvízu (prostředí oQuestion), vysází se následovně: Jak se jmenuje hlavní město ČR? Vzhledem k použitému filtru a metodě bude v tomto příkladu uznána jako správná odpověď jakákoliv odpověď obsahující v sobě podřetězec Praha, případně praha, tedy například Praha, Praha veliká či město praha. Nebude však uznána odpověď Brno. Vytváříme-li test, v němž mají jednotlivé otázky vlastní bodové hodnocení (test komponovaný v prostředí quiz – více v dalších částech této kapitoly), lze pomocí příkazu \RespBoxTxtPC vytvářet otázky s bodováním odpovědí po částech. Tento příkaz má dva povinné parametry, kterými jsou filtr a počet správných odpovědí. Filtr může nabývat stejných hodnot jako v příkazu \RespBoxTxt, navíc je k dispozici (doporučovaná) hod- Kapitola 1. Použité technologie 6 nota 3 – odpověď respondenta je ponechána bez úprav – jsou zachovány veškeré mezery a interpunkce, nezáleží na velikosti písmen v odpovědi. Bezprostředně za parametrem udávajícím počet alternativ, které budou uznány jako správná odpověď, následuje výčet těchto alternativ, doprovozených příslušným bodovým ziskem. Volitelnými parametry lze opět upravovat vzhled políčka pro textovou odpověď. Příkladem využití otevřené textové otázky s bodováním po částech může být následující kvíz pro děti: Jak se jmenují rodiče Cipíska? \RespBoxTxtPC[\rectW{4cm}]{3}{2}[1]{Rumcajs}[1]{Manka} \CorrAnsButton{Rumcajs a Manka} Vložíme-li tuto otázku do kvízu (prostředí quiz), vysází se následovně: 1. [2b.] Jak se jmenují rodiče Cipíska? Správně zodpovězené otázky Získané body Správný výsledek Vyplníme-li nyní do textového pole pouze slovo Manka, případně pouze Rumcajs, získáme 1 bod. Objeví-li se v odpovědi obě slova, např. Rumcajs a Manka, Manka Rumcajs apod., získáme 2 body. Otázka je však považována za správně zodpovězenou i v případě, že uvedeme jen jedno správné slovo. Pro sazbu matematické otázky využijeme příkaz \RespBoxMath. Tento příkaz má čtyři nezbytné povinné parametry: správnou odpověď, počet referenčních bodů, v nichž bude odpověď vyhodnocována, přesnost a interval, z nějž jsou vybírány referenční body (zadáváme jej ve tvaru [A,B], v případě funkcí více proměnných pak intervaly oddělujeme znakem x: [A,B]x[C,D]x...). Volitelným parametrem, který se udává v kulatých závorkách, je seznam proměnných. V příkazu \RespBoxMath lze práci s matematickým výrazem upravovat ještě dalšími pěti parametry, jimž se však na stránkách této práce podrobně nevěnujeme (více viz [13]). Příkladem je následující otázka: $z=x^2y+y^2$, spočítejte $z_x$: \RespBoxMath[\rectW{4cm}]{2*x*y}(xy){4}{0.0001}{[-1,1]x[-1,1]} Vložíme-li tuto otázku do kvízu (prostředí oQuestion), vysází se následovně: z = x2y+y2, spočítejte zx: Pro vyhodnocení správnosti odpovědi respondenta je pak z uvedeného intervalu náhodně zvolen daný počet referenčních bodů, v nichž se vyhodnotí jak odpověď respondenta, Kapitola 1. Použité technologie 7 tak správná odpověď. Liší-li se mezi sebou tyto odpovědi s vyšší odchylkou, než udává parametr přesnost, je odpověď respondenta označena za chybnou. V uvedeném příkladu tak budou za správné považovány např. odpovědi 2*x*y, 2*y*x, (4*x*y)/2 apod. Pro správné vyhodnocování odpovědí v otevřené matematické otázce je nutné používat následující notaci matematických výrazů: • desetinná čísla – používat desetinnou tečku, ne čárku • Ludolfovo číslo – zadávat pi; Eulerovo číslo – zadávat e • násobení – používat znak * • dělení – používat znak / • mocniny – používat znak ^ • odmocniny – používat sqrt(), případně ^(1/2) • funkce – trigonometrické funkce – sin(), cos(), tan(), cot(), sec(), csc() – inverzní trigonometrické funkce – asin(), acos(), atan() – logaritmus – log() či ln() (přirozený logaritmus) – exponenciální funkce – e^(), případně exp() – absolutní hodnota – abs(), případně | | • závorky – používat ( ), [ ] či { }; závorky je nutné uvádět – vymezují argumenty funkcí (sin(x)) a pořadí operací (x^1/2 není totéž jako x^(1/2)) Typy testů V předchozím odstavci jsme se setkali s ukázkami jednoduchých kvízů, v následujícím textu se na jednotlivá prostředí pro sazbu otázek, kvízů i komplexních testů zaměříme podrobně. Chceme-li vkládat do textu pouze jednotlivé otázky nebo tvořit krátké kvízy, je vhodné využít testů s okamžitou zpětnou vazbou, které respondenta nezatěžují zdlouhavým vyhodnocováním jeho odpovědí. Mezi testy s okamžitou zpětnou vazbou patří prostředí oQuestion a shortquiz, případně shortquiz*. Nejjednodušším typem testu je uvedení samostatné otázky. Takovou možnost přináší prostředí oQuestion, které má jeden povinný parametr, jímž je jméno testu, které musí být jednoznačné napříč celým dokumentem. Pro přehledné vyhodnocení odpovědi lze otázku doplnit tlačítky Ans (příkaz \CorrAnsButton{} – po stisknutí tlačítka se zobrazí správná odpověď; zde nahrazen tlačítkem ? – více viz příkaz \everyCorrAnsButton v dalších částech této kapitoly, na straně 10) a Clear (příkaz \sqClearButton – stiskem tlačítka dojde k vymazání obsahu odpovědního pole). Chceme-li zobrazit počet chybných odpovědí, kterých se respondent dopustil, vytvoříme příslušné okénko příkazem \sqTallyBox. Vymazání obsahu tohoto okénka se opět provádí tlačítkem Clear. Příkladem otázky v prostředí oQuestion pak může být následující zdrojový kód: Kapitola 1. Použité technologie 8 \begin{oQuestion}{oQuestion1} Vypočtěte $f(x,y)=xy$ v bodě $[x,y]=[1,1]$: \RespBoxTxt[\rectW{4cm}]{1}{0}{1}{1} \CorrAnsButton{1}\sqTallyBox\sqClearButton \end{oQuestion} Uvedeným způsobem vysázíme následující samostatnou otázku: Vypočtěte f(x,y) = xy v bodě [x,y] = [1,1]: V prostředí oQuestion lze však uvádět pouze otevřené otázky. Pro tvorbu krátkých kvízů, v nichž se kromě otevřených otázek budou vyskytovat i otázky uzavřené (s výběrem z nabízených možností), jsou vhodná prostředí shortquiz, případně shortquiz*, která mají volitelný parametr, jímž je jednoznačné jméno testu. Uvedeme-li však v testu textové odpovědi, stává se parametr s jednoznačným jménem testu povinným a je nutné jej uvádět. Chceme-li v rámci jednoho kvízu zadat více otázek, použijeme výčtové prostředí questions, v němž jednotlivé otázky uvozujeme příkazem \item. Každá z otázek se vyhodnocuje okamžitě – nezávisle na ostatních. Ke zpřehlednění vyhodnocování správnosti odpovědí respondenta lze, stejně jako v prostředí oQuestion, použít tlačítka Ans, Clear a okénko s výpisem počtu chybných odpovědí. Jako příklad si uvedeme kombinaci uzavřené a otevřené otázky v prostředí shortquiz: \begin{shortquiz}[shortquiz1] Otázky ze zeměpisu \begin{questions} \item Kde leží hlavní město ČR? \begin{answers}{3} \bChoices[3] \Ans1 v Čechách \eAns \Ans0 na Moravě \eAns \Ans0 ve Slezsku \eAns \eChoices \end{answers} \item Jak se toto město jmenuje? \RespBoxTxt[\rectW{4cm}]{0}{1}{1}{Praha} \CorrAnsButton{Praha}\sqTallyBox\sqClearButton \end{questions} \end{shortquiz} Uvedeným způsobem vysázíme následující kvíz: Kvíz. Otázky ze zeměpisu 1. Kde leží hlavní město ČR? (a) v Čechách (b) na Moravě (c) ve Slezsku 2. Jak se toto město jmenuje? Kapitola 1. Použité technologie 9 Chceme-li použít prostředí shortquiz, případně shortquiz* pro sazbu jediné otázky (nahradíme jím tak prostředí oQuestion), je vhodné vynechat prostředí question, v opačném případě bude tato samostatná otázka očíslována pořadovým číslem 1, což v případě jediné otázky není smysluplné. Samostatná otázka v prostředí shortquiz* tak může mít syntaxi: \begin{shortquiz*}[shortquiz2] Jak se jmenuje hlavní město ČR? \RespBoxTxt[\rectW{4cm}]{0}{1}{1}{Praha} \CorrAnsButton{Praha}\sqTallyBox\sqClearButton \end{shortquiz*} Vysází se pak následujícím způsobem: Kvíz. Jak se jmenuje hlavní město ČR? Nejsme-li spokojeni s implicitním názvem kvízu „Kvíz“, je možné jej upravit příkazem \sqlabel{}. Prostředí shortquiz a shortquiz* se navzájem zásadně neliší. Rozdíly jsou převážně grafického rázu – prostředí shortquiz využívá pro sazbu uzavřených otázek styl abecedního seznamu (tzv. Link Style), tj. možnosti (a), (b), (c), . . . , zatímco prostředí shortquiz* využívá zaškrtávacích políček (tzv. Form Style). Změnu mezi těmito variantami provádíme uvedením příkazu \useLinks, případně \useForms před dané prostředí answers či manswers. Dalším rozdílem je pak využívání vyskakovacích oken, v nichž je respondent informován o správnosti svých odpovědí. V prostředí shortquiz se vyskakovací okna objevují vždy, zatímco v prostředí shortquiz* lze vyskakování oken vypnout příkazem \sqTurnOffAlerts, případně jej můžeme následně opět zapnout uvedením příkazu \sqTurnOnAlerts. Rozdíly mezi prostředími shortquiz a shortquiz* lze dobře pozorovat na následující dvojici kvízů, které jsou totožné svým obsahem, avšak první z nich je uzavřen v prostředí shortquiz, zatímco druhý v prostředí shortquiz* s využitím příkazu \sqTurnOffAlerts: Kvíz. Otázky ze zeměpisu 1. Kde leží hlavní město ČR? (a) v Čechách (b) na Moravě (c) ve Slezsku 2. Jak se toto město jmenuje? Kvíz. Otázky ze zeměpisu 1. Kde leží hlavní město ČR? v Čechách na Moravě ve Slezsku 2. Jak se toto město jmenuje? Kapitola 1. Použité technologie 10 Zatímco prostředí oQuestion, shortquiz a shortquiz* jsou určena samostatným otázkám či krátkým kvízům, pro tvorbu komplexních testů s celkovým vyhodnocením je určeno prostředí quiz. Toto prostředí má opět jeden povinný parametr, jímž je jednoznačné jméno testu. Chceme-li v rámci testu zadat více otázek, ať už otevřených, či uzavřených, použijeme analogicky jako v prostředí shortquiz výčtové prostředí questions, v němž jednotlivé otázky uvozujeme příkazem \item. Test je ohraničen texty Start testu a Konec testu, jejichž stisknutím si respondent zahajuje, případně ukončuje test. Chcemeli tyto texty zaměnit za tlačítka, případně změnit jejich vzhled či text, lze využít např. následující syntaxe, která mění barvu rámečku tlačítek (\BC), text tlačítek (\CA) a jejich šířku (\rectW): \useBeginQuizButton[\BC{1 0 0}\CA{Zacatek testu}\rectW{3cm}] \useEndQuizButton[\BC{1 0 0}\CA{Konec testu}\rectW{3cm}] Celkové vyhodnocení správnosti odpovědí probíhá až po ukončení celého testu, je tedy možné nastavit otázkám různé bodové hodnocení. Rozličné alternativy, jak respondentovi test vyhodnotit, přinášejí tato výsledková pole: • \ScoreField – počet správně zodpovězených otázek ze všech možných • \PointsField – počet získaných bodů ze všech možných • \PercentField – procentuální úspěšnost respondenta • \eqButton – tlačítko Opravit, po jehož stisknutí jsou v testu vyznačeny správné odpovědi uzavřených otázek a k otevřeným otázkám je přidáno tlačítko Ans; chcemeli změnit vzhled všech tlačítek Ans v celém dokumentu, použijeme např. následující syntaxi: \everyCorrAnsButton{\CA{???}\TU{Klikni pro správnou odpoved.}}, která změní název tlačítka (\CA) a vytvoří text, který se objeví po najetí kurzoru na tlačítko (\TU) • \AnswerField – pole pro zobrazení správných odpovědí po stisknutí tlačítka Ans Všechny tyto příkazy mají jeden povinný parametr, jímž je jednoznačné jméno testu, případně jej lze nahradit makrem \currQuiz, které odkazuje na aktuální test. Volitelnými parametry pak ovlivňujeme hlavně vzhled polí pro výpis výsledků. Pro vyšší estetickou kvalitu vyhodnocení testu lze výsledková pole vysázet do tabulky: Správně zodpovězené otázky Získané body Procento úspěšnosti Správný výsledek Chceme-li jednotlivým otázkám přiřadit bodové hodnocení, vložíme za jednotlivé příkazy \item v prostředí questions příkaz \PTs{}. V opačném případě bude každá otázka hodnocena jedním bodem. V uzavřených otázkách přidělujeme body jednotlivým možnostem pomocí volitelného parametru příkazu \Ans. Kapitola 1. Použité technologie 11 Má-li být bodové hodnocení jednotlivých otázek zobrazeno, je třeba v preambuli dokumentu uvést makro \PTsHook{[\eqPTs\text{b.}]}, kde příkaz \eqPTs čerpá informaci o počtu bodů pro danou otázku z příslušného příkazu \PTs a příkazem \text lze zvolit text, jenž se bude zobrazovat za bodovou hodnotou. Pro testy v českém jazyce obvykle volíme {b.}. Chceme-li respondenta po vyhodnocení testu informovat o bodovém zisku u každé otázky zvlášť, uvedeme v dokumentu příkaz \showCreditMarkup. Implicitně se body zobrazí s anglickou zkratkou pt, případně pts, změnu do češtiny provedeme příkazy \ptLabel{b} a \ptsLabel{b}. Použití příkazu \showCreditMarkup je ukázáno v následujících dvou krátkých testech. Zobrazování získaných bodů u každé otázky zvlášť lze opět vypnout příkazem \hideCreditMarkup. Umístíme-li do preambule příkaz \negPointsAllowed, je možné v testu dosáhnout záporného bodového zisku. V případě sestavování delších, komplexnějších testů je možné test rozčlenit a zpřehlednit sdružením některých otázek pod společnou hlavičku. Namísto dvojice otázek: 1. [1b.] Spočítejte funkční hodnotu funkce f(x,y) = x−y v bodě [x,y] = [1,1]. 2. [1b.] Spočítejte funkční hodnotu funkce f(x,y) = x+y v bodě [x,y] = [1,1]. Správně zodpovězené otázky Získané body Procento úspěšnosti Správný výsledek lze vytvořit jednu otázku s podotázkami: 1. [2b.] Spočítejte funkční hodnotu funkce f(x,y) v bodě [x,y]. (a) [1b.] f(x,y) = x−y, [x,y] = [1,1]: (b) [1b.] f(x,y) = x+y, [x,y] = [1,1]: Správně zodpovězené otázky Získané body Procento úspěšnosti Správný výsledek V takovém případě uvedeme před společnou hlavičkou příkaz \multipartquestion, čímž dáme najevo, že samotná hlavička neobsahuje otázku k vyhodnocení. Kapitola 1. Použité technologie 12 Tento příklad je ukázkou sdružování otázek, které mají společný text zadání, avšak jejich obsahem jsou různé matematické příklady, které se vyhodnocují samostatně. Opačným případem je zadání, v němž je třeba odpovědět na vícero otázek správně, aby bylo celé toto zadání považováno za správně vyřešené. Příkladem může být otázka: 1. [3b.] Najděte bod minima funkce f(x,y) = x2 +y2. A = [ , , ]. Správně zodpovězené otázky Získané body Procento úspěšnosti Správný výsledek Sdružení více odpovědních polí do jednoho zadání provedeme jejich uzavřením do prostředí mathGrp. Příkazem \PTs*{} lze zvolit dílčí počet bodů, které budou udělovány za správné zodpovězení jednotlivých částí otázky. Tlačítko Ans vysázíme za odpovědní pole příkazem \CorrAnsButtonGrp, jehož parametrem je výčet správných odpovědí na jednotlivé otázky. Syntaxe uvedeného příkladu je tedy následující: \begin{quiz}{bod} \begin{questions} \item \PTs{3} Najděte bod minima funkce $f(x,y)=x^2+y^2$. \begin{mathGrp}\PTs*{1} $A=[$ \RespBoxTxt[ \rectW{1cm}]{1}{0}{1}{0} , \RespBoxTxt[\rectW{1cm}]{1}{0}{1}{0} , \RespBoxTxt[\rectW{1cm}]{1}{0}{1}{0} $]$. \end{mathGrp} \CorrAnsButtonGrp{0,0,0} \end{questions} \end{quiz} Ukázky interaktivních testů vytvořených v prostředí quiz systému AcroTEX jsou v interaktivní podobě uloženy na přiloženém CD, včetně vzorového zdrojového kódu. Pokročilejší metody tvorby kvízů a testů pomocí systému AcroTEX lze dále studovat v návodu [13], na stránkách této práce se však budeme dále zabývat praktickou aplikací základních prvků AcroTEXu ve výukových hrách. 1.1.2 Párovací hry Samotný systém AcroTEX slouží převážně k tvorbě testů a kvízů. Jeho nadstavbou, která tyto testy a kvízy převádí do podoby párovací hry, je balíček dps, opět z dílny docenta D. P. Storyho. Zkratka dps odkazuje primárně na německý název hry Das Puzzle Spiel, lze v ní však spatřit i iniciály autora. Párovací hru si můžeme představit jako kombinaci systému otázek a odpovědí, přičemž ke každé otázce patří právě jedna správná odpověď. Pro větší obtížnost lze mezi správné odpovědi přidat i odpovědi chybné, které nepřísluší žádné otázce. Úkolem hráče je pak Kapitola 1. Použité technologie 13 správně přiřadit odpovědi otázkám, přičemž za každé správné přiřazení je odměněn písmenem do tajenky. Ukázku jedné z možných realizací párovací hry představuje obrázek 1.1. Obrázek 1.1: Párovací hra V následujícím textu se podrobněji zaměříme na proces tvorby párovacích her a možnosti, které balíček dps autorům her nabízí. Technické parametry párovací hry Instalační soubor balíčku dps pro párovací hry je zároveň s návodem [12] k dispozici online na portálu systému AcroTEX4. Pro správnou funkčnost je třeba načíst balíček eforms5 (aktivace formulářových políček), random.tex (generování náhodných čísel) a JavaScriptové funkce (viz vzorový soubor dps_vzor.tex na přiloženém CD). Minimální hlavička párovací hry má pak tvar: \documentclass[pdftex]{article} \usepackage[czech]{babel} \usepackage[utf8]{inputenc} \usepackage[pdftex]{web} %AcroTeX \usepackage[pdftex]{eforms} %AcroTeX \usepackage[lang=custom]{dps} %dps 4http://www.acrotex.net/data/games/dps/dps_man.pdf 5součást systému balíčků AcroTEX Kapitola 1. Použité technologie 14 Při načítání balíčku dps lze využít následující volby: • nonrandomized – otázky a odpovědi jsou vysázeny v pořadí, v jakém byly komponovány (pro vyšší přehlednost během tvorby hry); implicitní nastavení je volba randomize, která vede k vysázení otázek a odpovědí v náhodném pořadí • viewmode – po vysázení hry jsou vyplněna písmena tajenky (pro písmena s diakritikou se zobrazí hodnota odpovídajícího oktal-kódu – viz [12]), zároveň se zobrazí i zaškrtávací políčka u každé otázky a odpovědi (opět pro vyšší přehlednost při tvorbě) • showletters – po vysázení hry jsou k písmenům tajenky přiřazena pořadová čísla příslušných otázek, u odpovědí jsou zobrazena příslušná písmena tajenky; vhodná je kombinace s parametrem viewmode; v případě tajenky s diakritikou nelze parametr showletters použít • showanswerkey – hra je vysázena s řešením (vhodné pro hru v papírové, nikoli elektronické podobě) • savedata – do souboru nazev_parovaci_hry_data.sav je uložena inicializační hodnota pro generování náhodného pořadí otázek a odpovědí balíčkem random a klíč k řešení párovací hry; pro generování hry se stále stejným pořadím otázek a odpovědí lze z uvedeného souboru zkopírovat příkaz \randomi=hodnota a vložit jej do preambule dokumentu pod řádek \usepackage{dps} • lang=english/german/custom – volba jazyka vyskakovacích okének; samostatné definice existují pouze pro angličtinu (soubor dps_str_us.def – součástí instalace dps) a němčinu (dps_str_de.def), pro češtinu je potřeba použít volbu custom, vytvořit soubor dps_str_cus.def (zkopírovat jeden z uvedených souborů a vložit do něj vlastní text, znaky s diakritikou je nutné definovat pomocí octal-kódování) a následně jej vložit do aktuálního adresáře Volby balíčku web: • forpaper/forcolorpaper – sazba hry v papírové, nikoli elektronické podobě; implicitně je použita volba showletters při načtení balíčku dps; jestliže byla hra původně formátována pro obrazovku počítače, je třeba upravit její vzhled pro papírovou podobu Úpravu vzhledu párovací hry provedeme pomocí následujících příkazů a parametrů: • \rowsep – změna vertikální mezery mezi řádky tajenky, např. příkaz \rowsep{1pt} změní výšku mezery na velikost 1 bodu • \PuzzleAppearance – změna vzhledu polí tajenky (tajenka je sázena ve formě tabulky), např. příkaz \PuzzleAppearance{\textsize=14} změní velikost písma tajenky na hodnotu 14 • \QuesAppearance, \AnsAppearance – změna vzhledu zaškrtávacích políček u otá- Kapitola 1. Použité technologie 15 zek a odpovědí, např. příkaz \QuesAppearance{\BC{0.5 0.5 0.5}} změní barvu ohraničení zaškrtávacích políček u otázek na šedou6 • \margins{}{}{}{} – nastavení velikosti okrajů stránky • \screensize{}{<šířka>} – nastavení velikosti stránky • \parindent – nastavení velikosti odstavcové zarážky, např. příkaz \parindent0pt nastaví její velikost na 0 bodů • \parskip – nastavení vertikální mezery mezi odstavci, např. příkaz \parskip6pt nastaví její velikost na 6 bodů Tajenka Ústředním bodem celé párovací hry je tajenka a její jednoznačné propojení s otázkami a odpověďmi. Každý znak tajenky je tedy doprovozen jednoznačným identifikátorem, pomocí něhož se dále odkazujeme na příslušné otázky a odpovědi. Předpokládejme, že tajenkou párovací hry bude slogan „Množinový průnik!“. Pak ji v preambuli deklarujeme následujícím způsobem: \DeclarePuzzle{ {M}{M} {n}{n} {o}{o} {z}{z} %znaky s háčkem nelze v tajence využít {i}{i} {n}{n} {o}{o} {v}{v} {\string\375}{y} %znaky s čárkou sázíme pomocí oktal-kódování {}{space} %mezera - vyžaduje speciální jméno space {p}{p} {r}{r} {u}{u} %ů nelze v tajence využít {n}{n} {i}{i} {k}{k} {!}{punc} %interpunkce - vyžaduje speciální jméno punc } V prvním sloupci deklarujeme znaky, které se budou sázet do tajenky. Protože je balíček dps ve svém původu programován pro anglickou (případně německou) jazykovou verzi a pro sazbu diakritiky využívá oktal-kódování, nepodporuje sazbu 6více o parametrech příkazů \PuzzleAppearance, \QuesAppearance a \AnsAppearance naleznete v dokumentaci balíčku eForms (součást instalace AcroTEXu) Kapitola 1. Použité technologie 16 některých znaků specifických pro češtinu a jiné slovanské jazyky, např. znaky s háčkem či kroužkem. Při vymýšlení tajenky je tak vhodné se těmto znakům zcela vyhnout a není-li to případně vzhledem k záměrům autora hry možné, vysázet je bez diakritiky. Znaky s čárkou v tajence využívat lze, neboť ty jsou součástí mj. francouzštiny, která má v oktal-kódování své zastoupení. V naší tajence je tak pro sazbu písmena „ý“ nutné zadat \string\375, neboť oktal-kód odpovídající znaku „ý“ má hodnotu 375. Oktal-kódování některých dalších znaků je uvedeno v [12]. Ve druhém sloupci je uveden identifikátor každého znaku. Tyto identifikátory mohou nabývat tří základních podob: • běžné znaky – pro vyšší přehlednost se jako identifikátory doporučuje použít stejné znaky jako v tajence, s výjimkou tajenkových znaků s diakritikou, pro něž je třeba určit identifikátor bez diakritiky; je-li v tajence stejný znak uveden vícekrát (zde např. znaky „i“, „n“ a „o“), lze s ním pracovat dvěma způsoby: buď můžeme takovému znaku přiřadit stejný identifikátor – pak je tomuto znaku přiřazena pouze jedna otázka a odpověď, a je-li tato otázka správně zodpovězena, zobrazí se v tajence všechny výskyty daného znaku, případně můžeme každému výskytu daného znaku přiřadit vlastní identifikátor (např. i1 a i2 pro znak „i“) – pak jsou znaku „i“ přiřazeny dvě otázky a odpovědi a při správné odpovědi se v tajence zobrazí jen jeden (příslušný) výskyt daného znaku • space – jsou-li součástí tajenky mezery, je jejich identifikátorem speciální jméno space; mezery jsou tak vysázeny do tajenky, ale není jim přiřazena žádná otázka s odpovědí • punc – interpunkci je třeba označit speciálním jménem punc; pak je interpunkce v tajence zobrazena před zahájením hry a taktéž jí nepřísluší žádné otázky a odpovědi Výše uvedeným způsobem jsme vytvořili tajenku ve znění: „Mnozinový prunik!“, ke které je třeba připravit celkem 11 otázek – jednu otázku pro každý identifikátor z množiny (M, n, o, z, i, v, y, p, r, u, k). Alternativním způsobem tvorby tajenky je uvedení delšího textu, v němž jsou jako tajenka vynechány jen některé části. Chceme-li do hry vložit pouze jeden řetězec tajenky, obklopený textem před tajenkou a za ní, využijeme syntaxe: \makeatletter \def\aeb@@Puzzle{\begin{center}{\leavevmode\smash{\Large \textcolor{picturecolorc}{Před tajenkou}}\quad}\@aebPuzzlei}% \def\@aebPuzzleDone{{\leavevmode\smash{\Large \textcolor{picturecolorc}{za taj.}}}\end{center}\ds@buildAnswerKey}% \def\eq@tabSep{\ \ } \makeatother případně jejích alternativ pro text pouze před tajenkou: \makeatletter \def\aeb@@Puzzle{\begin{center}{\leavevmode\smash{\Large \textcolor{picturecolorc}{Před tajenkou}}\quad}\@aebPuzzlei}% Kapitola 1. Použité technologie 17 \def\@aebPuzzleDone{\end{center}\ds@buildAnswerKey}% \def\eq@tabSep{\ \ } \makeatother či pro text pouze za tajenkou: \makeatletter \def\aeb@@Puzzle{\begin{center}\@aebPuzzlei}% \def\@aebPuzzleDone{{\leavevmode\smash{\Large \textcolor{picturecolorc}{za taj.}}}\end{center}\ds@buildAnswerKey}% \def\eq@tabSep{\ \ } \makeatother Chceme-li kromě textu před tajenkou a za ní vložit text ještě mezi samotné tajenkové znaky, lze k tomuto účelu využít vlastností speciálního jména punc. Slogan „Jedna dva tri“, kde slova „Jedna“ a „tri“ jsou tajenkové výrazy a slovo „dva“ je doprovodný text, lze vysázet následujícím způsobem: \DeclarePuzzle{ {J}{J} {e}{e} {d}{d} {n}{n} {a}{a} {\quad\Large\textcolor{picturecolorc}{dva}}{punc} {t}{t} {r}{r} {i}{i} } Samotná tajenka je pomocí balíčku dps sázena po znacích ve formě tabulky. Do párovací hry ji tak vložíme uvedením příkazu \insertPuzzle{n}, kde n je počet sloupců této tabulky (je-li tajenka krátká, je vhodné jako parametr n zvolit celou délku tajenky, je-li tajenka delší, je nutné tajenku pomocí vhodné volby n rozdělit do více řádků). Otázky a odpovědi Neméně důležitou součástí párovací hry je systém otázek a odpovědí. Jeho deklaraci provedeme v prostředí Composing, které umístíme do preambule dokumentu, nejlépe hned za deklaraci tajenky. V rámci prostředí Composing deklarujeme jednotlivé otázky a odpovědi pomocí prostředí cQ, resp. cA. Tato prostředí spolu tvoří páry, každá otázka tak musí být následována svou odpovědí. Nadbytečné (chybné) odpovědi, které nepřísluší žádné otázce, je třeba deklarovat v závěru prostředí Composing. Prostředí cQ a cA mají jeden povinný parametr – jednoznačný identifikátor znaku tajenky, kterému daná dvojice otázky a odpovědi přísluší. Nadbytečným odpovědím, které neodpovídají žádné otázce (a tedy ani žádnému znaku tajenky), zvolíme identifikátor libovolně, tak, aby byl různý od všech ostatních použitých identifikátorů. Kapitola 1. Použité technologie 18 Z předchozích odstavců plynou důležité důsledky: • každému identifikátoru deklarovanému v tajence musí být přiřazena právě jedna odpovídající otázka a odpověď; vrátíme-li se tedy k příkladu tajenky „Mnozinový prunik!“, je nutné deklarovat celkem 11 dvojic otázek a odpovědí, které budou odpovídat identifikátorům z množiny (M, n, o, z, i, v, y, p, r, u, k) • nadbytečné odpovědi jsou sázeny samostatně, s vlastním unikátním identifikátorem; pro vyšší přehlednost můžeme volit např. identifikátory Chyba1, Chyba2, . . . • každá odpověď musí být v dané párovací hře unikátní; porušení tohoto pravidla nepovede k chybě při překladu párovací hry do PDF, avšak způsobí neřešitelnost hry, neboť stejné odpovědi budou pro hráče nerozlišitelné, přestože ve hře budou přiřazeny různým otázkám Deklaraci otázek a odpovědí odpovídající tajence „Mnozinový prunik!“ lze tedy provést následujícím způsobem: \begin{Composing} \begin{cQ}{M} otázka M \end{cQ} \begin{cA}{M} odpověď M \end{cA} \begin{cQ}{n} otázka n \end{cQ} \begin{cA}{n} odpověď n \end{cA} \begin{cQ}{o} otázka o \end{cQ} \begin{cA}{o} odpověď o \end{cA} \begin{cQ}{z} otázka z \end{cQ} \begin{cA}{z} odpověď z \end{cA} \begin{cQ}{i} otázka i \end{cQ} \begin{cA}{i} odpověď i \end{cA} \begin{cQ}{v} otázka v \end{cQ} \begin{cA}{v} odpověď v \end{cA} ... \begin{cQ}{k} otázka k \end{cQ} \begin{cA}{k} odpověď k \end{cA} \begin{cA}{Chyba1} 1. chybná odpověď \end{cA} \begin{cA}{Chyba2} 2. chybná odpověď \end{cA} ... \end{Composing} Předchozím způsobem deklarované otázky a odpovědi vložíme do hry uvedením příkazu \displayRandomizedQuestions, resp. \displayRandomizedAnswers, přičemž tyto příkazy musí být vloženy do výčtového prostředí, nejlépe do prostředí itemize. V závislosti na charakteru uvedených otázek a odpovědí lze zpravidla doporučit jejich rozložení do většího počtu sloupců. K tomuto účelu je nutné v preambuli dokumentu načíst balíček multicol a následně vložit otázky či odpovědi do prostředí multicols, jehož povinným parametrem je žádaný počet sloupců. Kapitola 1. Použité technologie 19 Vysázení otázek (odpovědí) do tří sloupců tedy definujeme následovně: \begin{multicols}{3} \begin{itemize} \displayRandomizedQuestions %resp. \displayRandomizedAnswers \end{itemize} \end{multicols} Tímto způsobem vytvoříme párovací hru, jejíž rozložení otázek a odpovědí je znázorněno na obrázku 1.1. Balíček dps však umožňuje i alternativní rozložení odpovědí – po stranách bloku otázek (viz obrázek 1.2). Obrázek 1.2: Párovací hra – odpovědi po stranách bloku otázek K rozdělení všech odpovědí do dvou samostatných skupin, zvlášť do pravého a levého bloku, slouží příkazy \displayRandomizedAnswersLeftPanel, resp. analogicky \displayRandomizedAnswersRightPanel, přičemž každý z nich opět vložíme do výčtového prostředí. Balíček dps zde však nedokáže rozlišovat mezi pravou a levou stranou, vzájemná záměna uvedených příkazů tedy nepovede k chybě, čehož lze v závislosti na konkrétních otázkách a odpovědích s výhodou využít pro dosažení lepšího grafického vzhledu párovací hry. Vhodnou kombinací uvedených příkazů s prostředím multicols docílíme žádaného rozložení párovací hry, konkrétně pro příklad na obrázku 1.2 definujeme: Kapitola 1. Použité technologie 20 \begin{multicols}{3} \begin{itemize} \displayRandomizedAnswersLeftPanel \end{itemize} \begin{itemize} \displayRandomizedQuestions \end{itemize} \vspace{2cm} %rozšíření mezer mezi otázkami \begin{itemize} \displayRandomizedAnswersRightPanel \end{itemize} \end{multicols} Na závěr odstavce se ještě zaměřme na samotnou tvorbu otázek a odpovědí. Hlavní výhodou systému LATEX je bezesporu možnost kvalitní sazby matematického textu, kterou lze s úspěchem využít i v párovacích hrách a jejich tvorbou tak oživit výuku matematiky napříč celým vzdělávacím systémem. Pro rozšíření možností sazby matematiky je vhodné v preambuli dokumentu načíst balíčky amsmath a mathrsfs (sazba matematických fontů). Matematický zápis pak vložíme do otázky (odpovědi) obvyklým způsobem: \begin{cQ}{x} body nespojitosti funkce $f(x)=\frac{1}{x}$ \end{cQ} \begin{cA}{x} bod $x=0$ \end{cA} Matematiku můžeme v párovací hře reprezentovat taktéž vložením grafů. Balíček dps však nepodporuje běžný způsob vkládání obrázků pomocí příkazu \includegraphics7, lze jej ale nahradit některým z následujících z následujících přístupů: • příkaz \includegraphics deklarujeme v preambuli dokumentu jako součást makra \def\obr#1{\leavevmode$\vcenter{\includegraphics[...]{#1.pdf}}$}, definovaný příkaz \obr pak v samotné otázce či odpovědi uvedeme s jedním parametrem, jímž je název vkládaného obrázku (\obr{}); pro vkládání grafů v jiném formátu (např. PNG namísto PDF) změníme definici makra na tento formát záměnou parametru {#1.pdf} za parametr {#1.png}, případně můžeme makro definovat bez předepsaného formátu (s parametrem {#1}), v tom případě bychom obrázek do otázky (odpovědi) vkládali příkazem \obr{} • 2D graf vytvořený pomocí programu GeoGebra (viz podkapitola 1.2.1) lze do otázky (odpovědi) vložit v prostředí tikzpicture (v preambuli dokumentu je třeba načíst balíčky pgf, tikz a knihovnu TikZu arrows); pro praktické účely je vhodné vložit prostředí tikzpicture postupně do prostředí colorbox, neboť bez využití prostředí colorbox se prostředí tikzpicture v párovacích hrách ukazuje být nestabilní a nespolehlivé (v preambuli dokumentu je pak nutné načíst balíček xcolor), a minipage (pro snadnější ovladatelnost velikosti a umístění vkládaného grafu; více o parametrech prostředí minipage je k dispozici např. v [6]): 7více informací o parametrech příkazu \includegraphics v [6] Kapitola 1. Použité technologie 21 \begin{cQ}{a} \begin{minipage}[]{<šířka>} \definecolor{}{rgb}{x,y,z} %deklarace barvy v modelu RGB, \centering %hodnoty x, y, z jsou \colorbox{white}{ %z intervalu <0,1> \begin{tikzpicture} ... %příkazy pro vykreslení grafu \end{tikzpicture}} \end{minipage} \end{cQ} • interaktivní 3D graf ve formátu PRC vytvořený pomocí programu Maple (viz podkapitola 1.2.2) lze do párovací hry vkládat pomocí příkazu \includemedia (pak je v preambuli dokumentu třeba načíst balíček media9); analogicky předchozímu příkladu je vhodné tento příkaz uzavřít do prostředí colorbox a minipage: \begin{cA}{a} \begin{minipage}[]{<šířka>} \centering \colorbox{white}{ \includemedia[] {}{}} \end{minipage} \end{cA} Vyhodnocení výsledků hry Aby párovací hra nebyla pouze hrou, ale mohla být i soutěží, implementuje do ní balíček dps penalizační bodový systém. Pokaždé, když hráč vybere špatnou odpověď, je mu započtena chyba. Jestliže na některou otázku odpoví chybně vícekrát (odpověď hádá), je penalizován trestnými body. Po dokončení hry dojde k celkovému vyhodnocení, při němž vložený JavaScript určí, zda byl hráč ve hře úspěšný či nikoliv. Penalizační systém lze dle záměrů autora nastavit parametry následujících příkazů; je třeba je deklarovat v preambuli dokumentu: • \threshold{n} – definuje parametr \dsthreshold, v němž je uložena hodnota n a lze jej tak využít např. v pokynech ke hře; parametr n udává maximální možný počet chybných odpovědí na jednu otázku, než jsou za tuto otázku uděleny trestné body; implicitně je nastaveno n = 3 • \penaltypoints{n} – analogicky definuje parametr \dspenaltypoints; parametr n udává počet trestných bodů udělovaných za překročení povoleného počtu chyb na jednu otázku; implicitně platí n = 3 • \passing{n} – definuje parametr \dspassing; parametr n udává maximální počet chybných odpovědí v párovací hře, aby byla tato hra považována za úspěšně vyřešenou; na úspěšnost hráče nemá vliv počet trestných bodů; implicitně je nastaveno n = 4 Kapitola 1. Použité technologie 22 O nastavení penalizačního systému konkrétní hry lze informovat např. následujícím upozorněním: Maximální počet pokusů, než vám bude udělena penalizace ve výši $\dspenaltypoints$ trestných bodů, je stanoven na $\dsthreshold$. Pro úspěšné vyřešení hry jsou povoleny celkem $\dspassing$ chybné odpovědi. Po zodpovězení poslední otázky je ve vyhodnocení zpracován počet chybných odpovědí a počet trestných bodů v dané hře a v závislosti na jejich kombinaci je hráči zobrazena informace o úrovni jeho znalostí. Možnosti využití funkcí balíčku dps jsou demonstrovány na párovacích hrách vytvořených k tématu diferenciálního počtu funkcí více proměnných, jež jsou přiloženy na CD. 1.1.3 Jeopardy (Riskuj a Poznej) Dalším rozšířením systému AcroTEX, které převádí testové otázky do podoby výukových her, je balíček jj_game, jehož autorem je taktéž docent D. P. Story. S využitím tohoto balíčku lze vytvářet hry typu Jeopardy, v českém prostředí známé z televizních pořadů Riskuj! (zde v textu nazývané Riskuj) a Kufr (hra Poznej). Na stránkách této práce se budeme věnovat české verzi hry Jeopardy, definované v balíčku jeopardy, jenž pochází z dílny Roberta Maříka8, docenta Mendelovy univerzity v Brně. Hru Riskuj si lze představit jako herní plochu s políčky, pod nimiž jsou ukryté otázky k zodpovězení. Tyto otázky jsou pro lepší orientaci rozděleny do tematických kategorií a označeny možným bodovým ziskem. Hráči si střídavě na herní obrazovce vybírají políčka a následně se snaží zodpovědět příslušné otázky. Jsou-li úspěšní, získávají na své konto uvedený počet bodů, v případě neúspěchu jsou jim tyto body odečteny. Cílem hráče je taktickým výběrem otázek a následně jejich správným zodpovězením dosáhnout vyššího skóre než soupeř. V případě varianty hry pro jednoho hráče je pak jeho úkolem získat co nejvyšší skóre. Ukázku jedné z možných realizací hry Riskuj pro dva hráče představuje obrázek 1.3. Modifikací hry Riskuj je hra Poznej, kde jednotlivé otázky nejsou ohodnoceny body, avšak za jejich správné zodpovězení je hráčům odtajněna část obrázku, který se skrývá pod herní plochou s políčky. V případě neúspěchu zůstává tato část obrázku skryta až do konce hry. Úkolem hráčů je uhodnout, co se nachází na skrytém obrázku. Ukázku hry Poznej představuje obrázek 1.4. V následujícím textu se podrobněji zaměříme na proces tvorby her Riskuj a Poznej pomocí balíčku jeopardy. Technické parametry her Riskuj a Poznej Instalační soubor balíčku jeopardy pro tvorbu her Riskuj a Poznej je spolu s návodem [7] k dispozici online na portálu CTAN9. Pro správnou funkci balíčku jeopardy je 8webové stránky autora: http://user.mendelu.cz/marik/wiki/doku.php 9Comprehensive TEX Archive Network – http://www.ctan.org/tex-archive/macros/latex/ contrib/jeopardy Kapitola 1. Použité technologie 23 Obrázek 1.3: Riskuj třeba načíst balíček exerquiz (s volitelnými parametry pdftex – udává způsob překladu dokumentu – a czech – pro češtinu) a dljslib (přehled jeho volitelných parametrů – JavaScriptových funkcí – lze studovat v [13]), případně lze navíc využít balíčky pdfscreen a eforms pro další manipulaci s nastavením her (více viz [7], [13]). Minimální hlavička hry Riskuj tedy může mít tvar: \documentclass[pdftex]{article} \usepackage[czech]{babel} \usepackage[utf8]{inputenc} \usepackage[screen]{pdfscreen} \usepackage[pdftex]{eforms} %AcroTeX \usepackage[pdftex]{exerquiz} %AcroTeX \usepackage[]{dljslib} %JavaScriptové funkce \usepackage[czech,twoplayers]{jeopardy} %jeopardy Při načítání balíčku jeopardy lze využít následující volby: • proofing – ke každé otázce je vyznačena správná odpověď (vhodné pro vyšší přehlednost během tvorby hry); vyznačení správné odpovědi u textových otázek je možné pouze v případě, kdy je odpovědní pole podbarveno průhledně, nebo je-li k zobrazení vytvořeného PDF dokumentu využíván prohlížeč, jenž odpovědní pole nezobrazuje (např. xpdf – viz [7]). • twoplayers – hra je vytvořena ve verzi pro dva hráče Kapitola 1. Použité technologie 24 Obrázek 1.4: Poznej • bgpicture – pod políčky na herní ploše je umístěn obrázek; jméno obrázku je uloženo v příkazu \JeopardyPictureFile, implicitně se jedná o jméno souboru picture.jpg, změnit jméno souboru obsahujícího obrázek lze použitím příkazu \def\JeopardyPictureFile{} • finetune – za použití volby bgpicture upravuje vzájemnou velikost podkladového obrázku a políček na herní ploše (prohlížeč Acrobat Reader zobrazuje políčka na herní ploše větší, než jak je vnímá LATEX – bez použití volby finetune tak políčka zakrývají větší plochu, než představuje skutečný obrázek); je-li třeba navíc korekce polohy obrázku ve vertikálním směru, lze následně použít příkaz \AditionalShift • picture – implicitně je použita volba bgpicture, vhodná je kombinace s parametrem finetune; namísto hry Riskuj vytváří hru Poznej – jednotlivé otázky nejsou ohodnoceny body, avšak za správnou odpověď je hráči odkryta část obrázku pod příslušným políčkem, v případě chybné odpovědi zůstává tato část obrázku skryta do konce hry; do hry je přidáno tlačítko Solution – po jeho stisknutí jsou odtajněny všechny zakryté části obrázku, ať už se jedná o nezodpovězené otázky, či otázky zodpovězené chybně, po druhém kliknutí na tlačítko Solution je hráčům zobrazena zpráva definovaná příkazem \ChampionMsg • allowpeeking – ve hře není hráčům umožněno libovolně listovat jednotlivými stránkami s otázkami, pohyb v dokumentu je dán výběrem otázek na herní ploše s políčky – klikne-li hráč na políčko, zobrazí se mu příslušná otázka, zodpoví-li ji, vrací se zpět k herní ploše s políčky; parametr allowpeeking tato omezení pohybu po stránkách s otázkami uvolňuje Kapitola 1. Použité technologie 25 • evalonblur – při vyplňování textových odpovědí bývá v některých případech žádoucí změnit jazykovou verzi klávesnice (např. pro psaní mocnin za použití české klávesnice), učiní-li tak hráč uprostřed vyplňování textového pole, je jeho nehotová odpověď vyhodnocena (jako chybná); zabránit předčasnému vyhodnocení odpovědi lze tak, že hráč kompletně vymaže rozepsanou odpověď, změní jazykovou verzi klávesnice a odpověď napíše znovu; chceme-li se tomuto uživatelsky nepříznivému řešení vyhnout, lze použít parametr evalonblur, jenž zamezí předčasnému vyhodnocování odpovědí, neboť k vyhodnocení dojde až po kombinaci stisku klávesy shift a kliknutí mimo textové pole Úpravu vzhledu her Riskuj a Poznej provedeme pomocí následujících příkazů a para- metrů: • \margins{}{}{}{} – nastavení velikosti okrajů stránky • \screensize{}{<šířka>} – nastavení velikosti stránky • \SetGameWidth, \SetGameHeight – změna šířky, resp. výšky herní plochy (jedná se o nastavení systémových parametrů \GameWidth a \GameHeight), např. příkaz \SetGameWidth{10cm} změní šířku herní plochy na velikost 10 cm; kombinace počtu kategorií, počtu otázek v každé kategorii a těchto příkazů nastavuje systémové hodnoty udávající velikost políček na herní ploše (\CellWidth a \CellHeight); za použití parametru picture je šířka podkladového obrázku nastavena na hodnotu \GameWidth, hodnota \GameHeight je následně odvozena z poměru původní výšky a šířky obrázku; je-li poměr výšky obrázku vůči jeho šířce příliš vysoký, dojde k chybnému vytvoření herní plochy s políčky, přičemž je herní plocha rozdělena na více stránek – podkladový obrázek je tedy nutné nejprve v některém z grafických programů (např. IrfanView či CorelDRAW Graphics Suite) upravit do vyhovujících rozměrů • \Celltoks, \Scoretoks – změna nastavení vzhledu políček na herní ploše, resp. polí se skóre hráčů, např. příkaz \Celltoks{\BG{1 0 0}} změní barvu políček na herní ploše na červenou; za použití parametru picture je implicitně nastaveno \Celltoks{\BG{0 0 0}} • \JeopardyTitle – obsahuje název hry; definice názvu hry se provede příkazem \def\JeopardyTitle{} • \everyCategoryHead – nastavuje vzhled názvu každé kategorie otázek, např. příkaz \everyCategoryHead{\footnotesize} změní velikost písma názvů kategorií • \Goal – změna procentuální hranice mezi úspěšným a neúspěšným ukončením hry; implicitně je nastavena požadovaná procentuální úspěšnost hráče na 90 %, změnu lze provést definicí \def\Goal{}; v případě volby picture není příkaz \Goal použit Kapitola 1. Použité technologie 26 • \ChampionMsg – zpráva pro vítěze – je-li hra ukončena úspěšně (definováno příkazem \Goal), je hráči zobrazena zpráva pro vítěze; za použití volby picture je zpráva pro vítěze zobrazena po dvojím kliknutí na tlačítko Solution, je vhodné v ní uvést popis a zdroj podkladového obrázku • \correctColor, \wrongColor – změna nastavení barev (definice barev je podmíněna načtením balíčku color) vyznačujících správnou, resp. chybnou odpověď, a kladného, resp. záporného bodového zisku hráče, např. pomocí příkazu \def\correctColor{["RGB", 0, 0, 0.5]} změníme barvu správně zodpovězených otázek a kladného bodového zisku na modrou Vzhledem ke způsobu výstavby hry, kdy jsou při prvním překladu zdrojového kódu nastaveny systémové registry (např. příkazem \SetGameWidth je nastaven systémový registr \GameWidth apod.), avšak jejich nastavení se projeví až při překladu následujícím, je vždy nutné zdrojový kód hry Riskuj či Poznej překládat pdfLATEXem dvakrát. Herní plocha s políčky Základním prvkem celé hry, ať už tvoříme hru Riskuj, či Poznej, je herní plocha s políčky, která slouží jako herní rozcestník. Na této herní ploše si hráči vybírají, které otázky budou zodpovídat, zobrazuje se zde bodový zisk hráčů, případně se pod políčky odtajňuje skrytý obrázek. Herní plochu vytvoříme dle nastavených parametrů uvedených v předchozích odstavcích automaticky, vložením příkazu \MakeGameBoard na začátek těla dokumentu. Chceme-li hru navíc doplnit o titulní stranu (např. s instrukcemi, či informacemi o autorovi hry), je možné ji vložit před příkaz \MakeGameBoard. Herní plochu s políčky pak umístíme na novou stranu příkazem \newpage. Otázky a odpovědi Neméně důležitou součástí her Riskuj a Poznej jsou otázky, přiřazené jednotlivým políčkům herní plochy. Každá otázka je vysázena na samostatnou stránku, na niž je hráč z herní plochy přesměrován kliknutím na odpovídající políčko. Jakmile hráč otázku zodpoví, vrací se zpět na obrazovku herní plochy. Jednotlivé otázky jsou rozděleny do kategorií, zpravidla tematických, což je ve zdrojovém kódu reprezentováno prostředím category. Toto prostředí má jeden povinný parametr, jímž je název dané kategorie otázek, který musí být jednoznačný v rámci celé hry. Samotné otázky následně vkládáme do prostředí question. Uzavřené otázky (otázky s výběrem z možností) vycházejí svou syntaxí z prostředí answers (právě jedna správná odpověď) a manswers (více správných odpovědí). Více informací o prostředích answers a manswers je k dispozici v podkapitole 1.1.1, případně v [13]. Odpovědi uvozujeme příkazem \Ans s parametrem 1 pro správnou odpověď a parametrem 0 pro odpověď chybnou. V případě, že uvedeme více správných odpovědí, bude otázka považována za správně zodpovězenou, vybere-li hráč libovolnou z nich. Základní podoba otázky s výběrem z uvedených možností, s právě jednou správnou odpovědí, může být následující: Kapitola 1. Použité technologie 27 \begin{question} Jak se jmenuje nejvyšší hora ČR? \vspace{1cm} %vertikální mezera \Ans0 Čerchov \newline \Ans0 Praděd \newline \Ans1 Sněžka \end{question} Při tvorbě otevřených otázek lze využít příkazy \RespBoxTxt pro textovou, resp. \RespBoxMath pro matematickou odpověď (více informací o příkazech \RespBoxTxt a \RespBoxMath v podkapitole 1.1.1, případně v [13]). Otázky pak mohou mít následující syntaxi: \begin{question} Jak se jmenuje hlavní město ČR? \RespBoxTxt[\rectW{4cm}]{0}{1}{1}{Praha} \end{question} ... \begin{question} $z=x^2y+y^2$, spočítejte $z_x$: \RespBoxMath[\rectW{4cm}]{2*x*y}(xy){4}{0.0001}{[-1,1]x[-1,1]} \end{question} Stejně jako párovací hry, i hry Riskuj či Poznej můžeme s výhodou využít ve výuce matematiky. Na závěr odstavce se tedy zaměřme na sazbu matematické grafiky v otázkách a odpovědích těchto her. Chceme-li do otázek a odpovědí vkládat matematickou grafiku, lze využít některý z následujících přístupů: • pro vkládání externě vytvořených obrázků např. ve formátu PNG využijeme standardně příkaz \includegraphics{} • 2D graf vytvořený pomocí programu GeoGebra (viz podkapitola 1.2.1) lze do otázky (odpovědi) vložit v prostředí tikzpicture; stejně jako při tvorbě párovacích her, i během tvorby her Riskuj a Poznej je pro praktické účely vhodné vložit prostředí tikzpicture postupně do prostředí colorbox a minipage • interaktivní 3D graf ve formátu PRC vytvořený pomocí programu Maple (viz podkapitola 1.2.2) lze do hry Riskuj či Poznej vkládat analogicky jako v párovacích hrách pomocí příkazu \includemedia; opět je vhodné tento příkaz uzavřít do prostředí colorbox a minipage Vzhled a chování různých typů otázek lze studovat v jednoduché vzorové hře Riskuj jeopardy_vzor.pdf, její zdrojový kód pak v souboru jeopardy_vzor.tex – k dispozici na přiloženém CD. Další možnosti využití funkcí balíčku jeopardy jsou demonstrovány na hrách Riskuj a Poznej vytvořených k tématu diferenciálního počtu funkcí více proměnných, jež jsou také přiloženy na CD. Kapitola 1. Použité technologie 28 1.2 Tvorba matematické grafiky V předchozím textu jsme se zabývali možnostmi systému AcroTEX a jeho nadstaveb dps a jeopardy pro tvorbu interaktivních testů a pedagogických her. Tyto prvky mohou samy o sobě sloužit k odlehčení a oživení výuky libovolného předmětu, ve výuce matematiky je však vhodné je navíc doplnit o vizualizaci řešených témat. Studenti tak mohou nejen procvičovat své aritmetické dovednosti, ale také rozvíjet svou geometrickou představivost, která je pro pochopení matematiky neméně důležitá. V současné době je k dispozici široké spektrum programů určených k tvorbě matematické grafiky. Na stránkách této práce se zaměříme na tvorbu 2D grafů pomocí programu GeoGebra a generování 3D grafů v programu Maple. Další možnosti tvorby interaktivní grafiky lze studovat např. v [9]. 1.2.1 GeoGebra Volně dostupný multiplatformní software GeoGebra10 představuje jednu z možností tvorby matematické grafiky. Jeho hlavní výhodou je velmi intuitivní grafické rozhraní (viz obrázek 1.5), které zpřístupňuje tvorbu matematické grafiky v elektronické podobě i méně zkušeným uživatelům. Neméně důležitá je však také možnost nechat si vygenerovat zdrojový kód vytvořených grafických prvků bez detailní znalosti jazyka pro tvorbu grafiky. Jeho umístěním přímo do zdrojového kódu dokumentu (LATEX) lze grafické prvky do PDF vkládat bez nutnosti vytváření externích souborů. Obrázek 1.5: GeoGebra – uživatelské rozhraní 10https://www.geogebra.org Kapitola 1. Použité technologie 29 Grafické rozhraní Grafické rozhraní programu GeoGebra (ve verzi GeoGebra 5.0), viz obrázek 1.5, se v základní podobě skládá z následujících panelů: • panel nástrojů (nahoře) – zobrazuje podrobnou nabídku geometrických objektů, které lze vykreslit v okně nákresny intuitivním způsobem za použití myši • algebraické okno (vlevo) – zobrazuje matematickou reprezentaci objektů vykreslených v nákresně • nákresna – plocha, na níž se geometrické objekty vykreslují • vstup (dole) – řádek pro zápis matematické reprezentace geometrických objektů, které se následně vykreslují do panelu nákresny; syntaxi odpovídající matematické reprezentace grafických objektů lze studovat v algebraickém okně během vykreslování žádaných objektů za využití panelu nástrojů Tyto panely jsou mezi sebou navzájem propojeny – veškeré objekty, které jsou vykresleny v nákresně, jsou automaticky vyjmenovány v algebraickém okně, jestliže v algebraickém okně některý objekt změníme či vymažeme, projeví se tato změna okamžitě zpět v nákresně apod. Těchto vlastností lze s výhodou využít při tvorbě komplexních grafických výstupů – pro lepší představu si podrobně rozeberme vytvoření grafiky z obrázku 1.5: • body A a B – zadány ve vstupním řádku syntaxí A=(-2,0), B=(2,6) • úsečka AB – vytvořena výběrem objektu Úsečka v nabídce panelu nástrojů a následným kliknutím na body A a B • kružnice, kruh – vytvořeny ve vstupním řádku zadáním nerovnice (y-3)^2+x^2<=1 • parabola – vytvořena ve vstupním řádku zadáním rovnice y=x^2 • odstranění nežádoucího popisu objektů – každý vytvořený objekt je automaticky pojmenován (odpovídajícím písmenem v algebraickém okně i v nákresně), což může být v řadě případů matoucí – zde v grafickém výstupu nepotřebujeme popis úsečky (a), kružnice (b) ani paraboly (c), odstraníme jej tedy kliknutím pravým tlačítkem na reprezentaci daného objektu v algebraickém okně a následným vypnutím přepínače Zobrazit popis Analogickým způsobem lze dále vytvářet široké spektrum grafických objektů – jejich přehled a příslušnou nápovědu lze studovat na oficiálním portálu softwaru GeoGebra11. Vytvořené grafické objekty lze v podobě obrázků exportovat např. do formátu PNG, PDF či EPS (Soubor – Export – Grafický náhled jako obrázek (png),(eps)...). Tyto obrázky následně vložíme do dokumentu obvyklým způsobem pomocí příkazu \includegraphics{}. V následujících odstavcích se však zaměříme na pokročilejší způsob vkládání grafických objektů, generovaných v programu GeoGebra, do PDF dokumentů – export ob- 11http://wiki.geogebra.org/cs/Příručka, případně http://wiki.geogebra.org/en/Manual pro komplexnější anglickou jazykovou verzi Kapitola 1. Použité technologie 30 jektů do PGF/TikZ a jejich přímé vložení do zdrojového dokumentu LATEXu v prostředí tikzpicture. Grafické objekty vytvořené v programu GeoGebra lze exportovat také do PSTricks12 či Asymptote13, více viz [8]. TikZ Jednoduché grafické objekty, analogické geometrickým objektům generovaným v programu GeoGebra, lze do PDF dokumentů tvořených v systému LATEX vkládat přímo, bez nutnosti tvorby externích souborů. K tomuto účelu slouží v LATEXu balíčky maker tikz a pgf, které je třeba spolu s knihovnou arrows (souřadné osy ve formě šipek) načíst v preambuli dokumentu. Grafické objekty pak vytváříme v prostředí tikzpicture, v němž přímo příkazy a jejich parametry definujeme jednotlivé geometrické prvky, z nichž následně budujeme komplexní matematickou grafiku. Méně zkušení uživatelé mohou s výhodou využít možnosti programu GeoGebra, který nabízí automatické generování PGF/TikZ kódu pro grafické prvky vykreslené v nákresně (Soubor – Export – Grafický náhled jako PGF/TikZ ...). Pro export je vhodné upravit rozměry nákresny (pomocí x min., x max., y min. a y max., případně polí Šířka obrázku a Výška obrázku), měřítko souřadných os (jednotka na ose x (cm), jednotka na ose y (cm)), a velikost písma popisků (Velikost písma pro Latex). Následně je stiskem tlačítka Generovat PGF/TikZ kód vygenerován kód pro sazbu vytvořené grafiky do samostatného souboru. Úpravou parametrů x min. = −4, x max. = 4, y min. = −1 a y max. = 7 tak získáme následující zdrojový kód, odpovídající matematické grafice znázorněné na obrázku 1.5: \documentclass[10pt]{article} \usepackage{pgf,tikz} \usepackage{mathrsfs} \usetikzlibrary{arrows} \pagestyle{empty} \begin{document} \definecolor{qqqqff}{rgb}{0.,0.,1.} \begin{tikzpicture}[line cap=round,line join=round,>=triangle 45, x=1.0cm,y=1.0cm] \draw[->,color=black] (-4.,0.) -- (4.,0.); \foreach \x in {-4.,-3.,-2.,-1.,1.,2.,3.} \draw[shift={(\x,0)},color=black] (0pt,2pt) -- (0pt,-2pt) node[below] {\footnotesize $\x$}; \draw[->,color=black] (0.,-1.) -- (0.,7.); \foreach \y in {-1.,1.,2.,3.,4.,5.,6.} \draw[shift={(0,\y)},color=black] (2pt,0pt) -- (-2pt,0pt) node[left] {\footnotesize $\y$}; \draw[color=black] (0pt,-10pt) node[right] {\footnotesize $0$}; 12http://tug.org/PSTricks/main.cgi 13http://asymptote.sourceforge.net Kapitola 1. Použité technologie 31 \clip(-4.,-1.) rectangle (4.,7.); \draw (-2.,0.)-- (2.,6.); \draw [rotate around={0.:(0.,3.)},color=qqqqff,fill=qqqqff, fill opacity=0.25] (0.,3.) ellipse (1.cm and 1.cm); \draw [samples=50,rotate around={0.:(0.,0.)},xshift=0.cm,yshift=0.cm, domain=-4.0:4.0)] plot (\x,{(\x)^2/2/0.5}); \begin{scriptsize} \draw [fill=qqqqff] (-2.,0.) circle (1.5pt); \draw[color=qqqqff] (-1.86,0.28) node {$A$}; \draw [fill=qqqqff] (2.,6.) circle (1.5pt); \draw[color=qqqqff] (2.14,6.14) node {$B$}; \end{scriptsize} \end{tikzpicture} \end{document} Tímto zdrojovým kódem lze vygenerovat samostatný PDF dokument, jehož obsahem bude uvedená matematická grafika. Chceme-li však vložit tuto grafiku do existujícího dokumentu, je třeba ze zdrojového kódu vybrat jen některé části – do preambule je třeba přidat načtení balíčků \usepackage{pgf,tikz} \usepackage{mathrsfs} %matematické fonty \usetikzlibrary{arrows} %možnost sazby souřadných os ve tvaru šipek a samotné umístění grafického objektu provedeme vložením kódu \begin{tikzpicture} ... \end{tikzpicture} na místo určení. Pro správnou funkčnost je ještě třeba na začátku dokumentu deklarovat používané barvy – příkazem \definecolor{qqqqff}{rgb}{0.,0.,1.}. Tímto způsobem vygenerujeme matematickou grafiku znázorněnou na obrázku 1.6. Ačkoliv je tato automaticky generovaná grafika velmi zdařilá, neodpovídá dokonale předloze znázorněné na obrázku 1.5 – všimneme si číselného popisu os, kde je použita desetinná tečka, která však není následována žádným desetinným místem, stejně tak chybí popis os proměnnými x a y. Navíc, prohlédneme-li si podrobněji zdrojový kód této grafiky, můžeme si všimnout dalších nesrovnalostí – ačkoliv jsme kruh původně definovali jako řešení nerovnice (y − 3)2 + x2 ≤ 1, je reprezentován jako elipsa: \draw ... (0.,3.) ellipse (1.cm and 1.cm), parabola je definována jako funkce tvaru y = x2/2/0,5 ((\x,{(\x)^2/2/0.5})), což lze ekvivalentně zjednodušit na tvar y = x2 apod. V následujícím textu se tedy zaměříme na zdrojový kód obrázků definovaných v prostředí tikzpicture podrobněji. Nepovinným parametrem prostředí tikzpicture je obecné nastavení vzhledu celé grafiky, především typ čar (line cap, line round), šipek (>) a měřítko na osách (x, y). Uvnitř prostředí tikzpicture pak definujeme jednotlivé grafické objekty – ty jsou rozloženy do elementární podoby a následně vykreslovány po částech (např. souřadné osy Kapitola 1. Použité technologie 32 −4. −3. −2. −1. 1. 2. 3. −1. 1. 2. 3. 4. 5. 6. 0 A B Obrázek 1.6: TikZ – grafika ze zdrojového kódu generovaného programem GeoGebra se skládají z úsečky se šipkou na konci, značek na osách a popisu os). Přitom záleží na pořadí, neboť tyto elementy jsou vykreslovány ve vrstvách – první grafický prvek v pořadí je umístěn do spodní vrstvy a následně je překrýván vrstvami dalšími – rozdíl v pořadí vykreslování prvků je demonstrován na obrázku 1.7: v levém grafu jsou nejprve vykresleny souřadné osy a následně kruh, v pravém grafu je pořadí opačné. −2 −1 0 1 2 x −2 −1 1 2 y −2 −1 0 1 2 x −2 −1 1 2 y Obrázek 1.7: TikZ – rozdíl v pořadí vykreslování grafických objektů Jednotlivé grafické prvky vykreslujeme příkazem \draw, jenž je následován nepovinnými parametry, udávajícími vzhled kresleného prvku (např. parametr color definuje barvu prvku, parametr fill barvu jeho výplně, fill opacity hustotu barvy výplně apod.), a deklarací daného prvku (např. zápis (0,-2)--(0,2) deklaruje úsečku mezi uvedenými body, zápis (0,0) circle (1) kružnici se středem v bodě [0,0] a poloměrem 1 apod.). Přitom každý příkaz ukončujeme středníkem. Chceme-li vykreslovat stejný prvek opakovaně (např. značky na osách), lze využít příkazu \foreach, v němž definujeme proměnnou a množinu jejích možných realizací. Kapitola 1. Použité technologie 33 Vzápětí se na tuto proměnnou odkážeme v příkazu \draw. Následujícím zdrojovým kódem tak vykreslíme značky na ose y v bodech [0,−2], [0,−1], [0,1] a [0,2]: \foreach \y in {-2,-1,1,2} \draw[shift={(0,\y)},color=black] (2pt,0pt) -- (-2pt,0pt); Oříznutí obrázku na vhodný obdélník (zadaný dvojicí protilehlých bodů) provedeme příkazem \clip(-2,-2) rectangle (2,2). V prostředí tikzpicture lze vykreslit široké spektrum matematických objektů, většina z nich je složena z jednoduchých elementárních prvků, které jsou popsány v následujících odstavcích. Pro vykreslení souřadných os je třeba definovat několik elementárních prvků – nejprve nakreslíme úsečky požadované délky, které jsou na kladných poloosách zakončeny šipkou, následně ve vhodné vzdálenosti umístíme značky na osách, k nimž připíšeme odpovídající číselné hodnoty. Nakonec ještě doplníme popis os proměnnými x a y a obrázek ořízneme: \draw[->,color=black] (-4,0) -- (4,0); %úsečka se šipkou (osa x) \foreach \x in {-4,-3,-2,-1,0,1,2,3} \draw[shift={(\x,0)},color=black] (0pt,2pt) -- (0pt,-2pt); %značky na ose x \foreach \x in {-4,-3,-2,-1,0,1,2,3,4} \draw[shift={(\x,0)},color=black] node[below] {\scriptsize $\x$}; %číselné popisky osy x \draw[shift={(4,0)},color=black] node[above] {\scriptsize $x$}; %umístění popisu osy x nad bod [4,0] \draw[->,color=black] (0,-1) -- (0,7); %úsečka se šipkou (osa y) \foreach \y in {-1,1,2,3,4,5,6} \draw[shift={(0,\y)},color=black] (2pt,0pt) -- (-2pt,0pt); %značky na ose y \foreach \y in {-1,1,2,3,4,5,6,7} \draw[shift={(0,\y)},color=black] node[left] {\scriptsize $\y$}; %číselné popisky osy y \draw[shift={(0,7)},color=black] node[right] {\scriptsize $y$}; %umístění popisu osy y vpravo od bodu [0,7] \clip(-4,-1) rectangle (4,7); %oříznutí obrázku Jednotlivé body deklarujeme jako malé kruhy, které doplníme o písmenný popis bodu a upravíme jejich umístění: \draw[fill=qqqqff] (-2,0) circle (1.5pt); %bod \draw[color=qqqqff] (-2.14,0.28) node {$A$}; %písmenný popis a umístění bodu Úsečky, případně lomené čáry deklarujeme jako propojení bodů, stejným způsobem lze vytvářet i libovolné mnohoúhelníky. Jednotlivé úsečky lze vykreslovat plnou čarou i čárkovaně: Kapitola 1. Použité technologie 34 \draw(-2,0)--(2,6); %úsečka \draw[dash pattern=on 3pt off 3pt] (2,0)--(1,3)--(0,2); %čárkovaná lomená čára \draw[color=qqqqff,fill=qqqqff,fill opacity=0.25] (-2,0)--(-1,3)--(0,2)--(-2,0); %mnohoúhelník Kružnice je definovaná svým středem a poloměrem, elipsa pak středem a délkou poloos. Poloměr a délku poloos lze zadávat absolutně (např. v centimetrech) i relativně (bez jednotek – velikost je pak dána relativně k měřítku na souřadných osách). Ačkoliv kódy generované programem GeoGebra upřednostňují absolutní velikost, je vhodnější udávat velikost relativní, neboť při změně velikosti měřítka jsou pak automaticky přeškálovány všechny objekty: \draw[color=qqqqff,fill=qqqqff] (0,0) circle (1); %kruh se středem v bodě [0,0] a poloměrem 1 \draw[dash pattern=on 3pt off 3pt] (0,2) ellipse (1 and 2); %čárkovaná elipsa se středem v bodě [0,2] a poloosami délky 1 a 2 Každou křivku lze zjednodušeně definovat jako posloupnost bodů, navzájem spojených úsečkami. Prostředí tikzpicture však neumožňuje vytvořit lomenou čáru složenou z více než 20 úseků. Chceme-li tedy vykreslit hladkou křivku, je vhodnější ji definovat jako funkci. V takovém případě sice bude křivka opět reprezentována lomenou čarou, dostatečné hladkosti však lze docílit parametrem samples, jenž udává počet bodů, v nichž bude funkce na zadaném intervalu (domain) vyhodnocena: \draw[samples=50,domain=-4:4)] plot (\x,{(\x)^2}); %funkce = lomená čára spojující na intervalu <-4,4> 50 bodů %[x,f(x)], přičemž f(x)=x^2 Jako funkce lze kreslit i některé objekty, které funkcemi v pravém slova smyslu nejsou, avšak podobají se jim – např. „parabola“ y2 = x může být definovaná jako funkce y = x2, kterou následně otočíme o 90◦. Kromě rotace objektů lze využít i možnost jejich posouvání: \draw [samples=50,rotate around={90:(0,0)},xshift=2cm,yshift=2cm, domain=-4:4)] plot (\x,{(\x)^2}); %otočení paraboly y=x^2 o 90 stupňů kolem bodu [0,0] %a její posunutí ve směru os x a y Na závěr odstavce se ještě zaměříme na barevné výplně objektů. Je-li v příkazu \draw uveden parametr fill, dochází v prostředí tikzpicture k vybarvení vnitřní plochy objektů automaticky. Vybarvujeme-li však objekty, které nejsou zcela ohraničené, dochází často k chybám. Tyto chyby lze většinou odstranit doplněním objektů o další body mimo vnitřní plochu grafiky. Rozdíl ve vybarvování objektů je demonstrován na obrázku 1.8: v levém grafu je pravý úhel definován příkazem \draw[...](0,2)--(0,0)--(2,0), v prostředním grafu je doplněn o bod mimo plochu grafiky (grafika je definovaná ve čtverci danémúhlopříčkou[−2,−2]–[2,2])příkazem \draw[...](0,2)--(0,0)--(2,0)--(3,3), v pravém grafu vhodnou volbou trojice bodů mimo vnitřní plochu grafiky došlo příkazem Kapitola 1. Použité technologie 35 −2 −1 0 1 2 x −2 −1 1 2 y −2 −1 0 1 2 x −2 −1 1 2 y −2 −1 0 1 2 x −2 −1 1 2 y Obrázek 1.8: TikZ – rozdíl v barevné výplni objektů \draw[...](0,2)--(0,0)--(2,0)--(3,-3)--(-3,-3)--(-3,3) k vybarvení doplňkového úhlu. Aplikujeme-li uvedené principy na původní příklad matematické grafiky generované programem GeoGebra (viz obrázek 1.6), můžeme prvotní zdrojový kód upravit do následující podoby: \definecolor{qqqqff}{rgb}{0,0,1} \begin{tikzpicture}[line cap=round,line join=round,>=triangle 45, x=1.0cm,y=1.0cm] \draw[->,color=black] (-4,0) -- (4,0); \foreach \x in {-4,-3,-2,-1,0,1,2,3} \draw[shift={(\x,0)},color=black] (0pt,2pt) -- (0pt,-2pt); \foreach \x in {-4,-3,-2,-1,0,1,2,3,4} \draw[shift={(\x,0)},color=black] node[below] {\scriptsize $\x$}; \draw[shift={(4,0)},color=black] node[above] {\scriptsize $x$}; \draw[->,color=black] (0,-1) -- (0,7); \foreach \y in {-1,1,2,3,4,5,6} \draw[shift={(0,\y)},color=black] (2pt,0pt) -- (-2pt,0pt); \foreach \y in {-1,1,2,3,4,5,6,7} \draw[shift={(0,\y)},color=black] node[left] {\scriptsize $\y$}; \draw[shift={(0,7)},color=black] node[right] {\scriptsize $y$}; \clip(-4,-1) rectangle (4,7); \draw (-2,0)--(2,6); \draw [color=qqqqff,fill=qqqqff,fill opacity=0.25] (0,3) circle (1); \draw [samples=50,domain=-4:4)] plot (\x,{(\x)^2}); \begin{scriptsize} \draw [fill=qqqqff] (-2,0) circle (1.5pt); \draw[color=qqqqff] (-2.14,0.28) node {$A$}; \draw [fill=qqqqff] (2,6) circle (1.5pt); \draw[color=qqqqff] (2.14,6.14) node {$B$}; \end{scriptsize} \end{tikzpicture} Takto upraveným zdrojovým kódem pak vytvoříme matematickou grafiku znázorněnou na obrázku 1.9. Kapitola 1. Použité technologie 36 −4 −3 −2 −1 0 1 2 3 4 x −1 1 2 3 4 5 6 7 y A B Obrázek 1.9: TikZ – grafika ze zdrojového kódu upraveného uživatelem Další ukázky matematické grafiky vytvořené v prostředí tikzpicture jsou součástí přiložených pedagogických her (párovací hry, Riskuj a Poznej) a testů vytvořených k tématu diferenciálního počtu funkcí více proměnných, konkrétně v materiálech ke kapitolám Pojem funkce více proměnných a Limita a spojitost funkce. 1.2.2 Maple Druhou možností tvorby matematické grafiky, jíž se budeme na stránkách této práce zabývat, je generování interaktivních 3D grafů funkcí dvou proměnných s využitím komerčního systému počítačové algebry Maple14. Tento program umožňuje grafické objekty ve 3D exportovat do formátu X3D15. Následně je lze po konverzi do formátu PRC přímo vkládat do PDF dokumentů v interaktivní podobě. Grafické rozhraní Grafické rozhraní programu Maple (ve verzi Maple 17) se v základní podobě skládá z následujících panelů (viz obrázek 1.10): • panel nástrojů (nahoře) – slouží k ovládání programu, zejména k nastavení formátu vstupu a výstupu • panel nápovědy (vlevo) – přehled základních matematických symbolů a výrazů (vhodné pro začínající uživatele – požadovaná syntaxe je zobrazena po výběru objektu myší) 14http://www.maplesoft.com 15Extensible 3D – formát na ukládání 3D scén, více viz http://www.web3d.org/x3d Kapitola 1. Použité technologie 37 • výpočetní okno – panel, v němž se zadávají veškeré výpočty a příkazy, současně se v něm vypisují či vykreslují také výsledky těchto operací Obrázek 1.10: Maple – uživatelské rozhraní Program Maple nabízí autorům interaktivních materiálů pro výuku matematiky široké spektrum možností – při tvorbě matematických otázek si lze zadáním příkladů do výpočetního okna nechat vygenerovat správné odpovědi, je možné si příklady vizualizovat pomocí 2D a 3D grafů apod. Komplexní přehled těchto možností a příslušnou nápovědu lze studovat na oficiálním portálu programu Maple16, my se zaměříme na generování 3D grafů funkcí dvou proměnných a jejich vložení do PDF dokumentů v interaktivní podobě. Tvorba 3D grafů Základním příkazem, kterým lze v programu Maple generovat 3D grafy, je příkaz plot3d, jehož povinné parametry jsou předpis funkce dvou proměnných a intervalový rozsah těchto proměnných. Následné volitelné parametry pak slouží k ovlivňování vzhledu a polohy 3D grafu. Nejjednodušší verzi grafu funkce f(x,y) = x2 + y2 tedy můžeme generovat příkazem plot3d(x^2+y^2,x=-1..1,y=-1..1) (viz obrázek 1.10). Volitelné parametry pak mohou být následující: • style= – point – zobrazují se pouze vypočítané body – wireframeopaque, hidden – drátěný model, uvažuje viditelnost (zakryté hrany mřížky nejsou viditelné) – wireframe, line – drátěný model, neuvažuje viditelnost (model je průhledný – viditelné jsou všechny hrany mřížky) 16http://www.maplesoft.com/support/help Kapitola 1. Použité technologie 38 – surfacewireframe, patch – povrch je barevný, případně v odstínech šedi, zobrazuje se mřížka (implicitní nastavení) – surface, patchnogrid – povrch je barevný, případně v odstínech šedi, nezobrazuje se však mřížka – contour – zobrazují se pouze vrstevnice – surfacecontour, patchcontour – povrch je barevný, zobrazují se vrstevnice • shading= – z – barevný přechod je volen podle souřadnice z – xy – samostatné barevné přechody pro souřadnice x a y – xyz – samostatné barevné přechody pro souřadnice x, y a z – . . . • axes= – none – žádné souřadné osy – normal – souřadné osy tvoří osový kříž – boxed – souřadné osy definují kvádr kolem objektu (implicitní nastavení) – framed – souřadné osy jsou umístěny po stranách objektu • axis[t]=[] – t – souřadná osa, na niž se aplikují parametry (x: t = 1, y: t = 2, z: t = 3) – parametry – vzhled souřadné osy, např. parametr color=red obarví danou osu červeně • scaling= – unconstrained – souřadné osy mohou mít různá měřítka (implicitní nastavení) – constrained – souřadné osy mají stejné měřítko • coords= – spherical – sférické souřadnice (graf je zadán parametry r(theta,phi), theta a phi) – cylindrical – cylindrické souřadnice (graf je zadán parametry r(theta,z), theta a z) – . . . • grid=[a,b] – mřížka (ekvidistantních) bodů, v nichž jsou počítány funkční hodnoty; implicitně je nastaveno grid=[49,49] – a – počet bodů mřížky ve směru osy x – b – počet bodů mřížky ve směru osy y Kapitola 1. Použité technologie 39 • view= – rozsah zobrazení objektu – a..b – rozsah zobrazení ve směru osy z: a = min(z), b = max(z) – [a..b,c..d,e..f] – rozsah zobrazení ve směru os x, y a z: a = min(x), b = max(x), c = min(y), d = max(y), e = min(z), f = max(z) Kompletní systém volitelných parametrů příkazu plot3d lze studovat v nápovědě programu Maple (příkaz ?plot3d,options17). Vytvořené 3D grafy funkcí dvou proměnných lze v podobě statických obrázků exportovat např. do formátu PNG (kliknout pravým tlačítkem myši do oblasti grafu – Export – PNG). Tyto obrázky pak vkládáme do PDF dokumentu obvyklým způsobem. V následujících odstavcích se však zaměříme na pokročilejší způsob vkládání 3D grafiky do PDF dokumentů – export do formátu X3D, konverzi do formátu PRC a nakonec vložení 3D grafiky do dokumentu v interaktivní podobě. Vkládání interaktivních 3D grafů do PDF dokumentu 3D grafy, vygenerované v programu Maple, lze do PDF dokumentu vložit v interaktivní podobě (uživatel bude schopen s grafem pohybovat, otáčet ho, měnit jeho velikost . . . ). Toho lze dosáhnout vícero způsoby (jejich přehled lze studovat např. v [9]), my se zaměříme na konverzi grafiky postupně do formátů X3D a PRC. Program Maple umožňuje (od verze 13) přímý export vygenerovaných grafů do formátu X3D (kliknout pravým tlačítkem myši do oblasti grafu – Export – Extensible 3D). Grafické objekty tohoto formátu však nelze do PDF dokumentu vložit přímo – je tedy nutné je dále konvertovat. Vhodnou konverzi nabízí program maplex3d2prc autora Michaila Vidiassova. (Tento program není volně k dispozici, autor jej však na požádání zašle k testování [9].) Program maplex3d2prc se spouští s jediným argumentem, jímž je jméno souboru ve formátu X3D. Oproti ostatním přístupům je jeho výhodou schopnost konvertovat kompletní grafický objekt včetně os, navíc zachovává i původní měřítko na souřadných osách a barevné přechody. Nevýhodou je pak ignorování parametru view v nastavení parametrů vzhledu 3D grafu v programu Maple – omezení grafu ve směru osy z je tak nutné provést vhodnou volbou rozsahu os x a y. Výstupem programu maplex3d2prc je trojice souborů – 3D graf ve formátu PRC, interaktivní 3D graf ve formátu PDF a soubor JavaScriptu, jenž zajišťuje správnou orientaci popisu souřadných os. Tento kód v JavaScriptu je vhodné nahradit systémovým souborem maplex3d2prc.js. Pracujeme-li s prohlížečem PDF dokumentů Adobe Reader na linuxových systémech, je třeba nastavit systémovou proměnnou export LC_NUMERIC="C". V opačném případě se JavaScript nezpracuje správně. Samotné vkládání interaktivní 3D grafiky do PDF dokumentu provedeme příkazem \includemedia (v preambuli dokumentu je třeba načíst balíček media9). Tento příkaz má dva povinné parametry – text (vkládá uvedený text – chceme-li vložit 3D grafiku, ponecháváme tento parametr prázdný; je-li PDF soubor určen k tisku, vložíme zde náhled 17dostupné též online – http://www.maplesoft.com/support/help/Maple/view.aspx?path= plot3d%2foption Kapitola 1. Použité technologie 40 obrázku 3D grafiky ve formátu PNG) a soubor s 3D grafikou. Volitelné parametry určují především vzhled a chování vkládaného objektu: • label= – odkaz na danou grafiku • width=, height= – šířka, výška grafiky • activate= – okamžik aktivace grafiky – onclick – na kliknutí – pageopen – při otevření stránky – pagevisible – při objevení stránky • 3Dmenu – do menu ovládacího panelu vložené grafiky přidává dodatečné volby Generate Default View, Get Current View a Cross Section, které lze následně využít při nastavování implicitní polohy objektu na scéně • 3Daac, 3Droll, 3Dc2c, 3Dcoo, 3Droo – parametry definující implicitní polohu objektu na scéně (více viz [4]) – lze je optimalizovat za využití parametru 3Dmenu: do dokumentu vložíme objekt v libovolné poloze, následně jej pomocí myši upravíme do požadované pozice a výsledné hodnoty parametrů polohy odečteme pomocí volby Generate Default View; nakonecznovu načtemegrafiku dodokumentu, tentokrát však již s upravenými hodnotami parametrů polohy objektu na scéně • 3Dlights – schéma osvětlení objektu na scéně • add3Djscript – JavaScriptový soubor (zpravidla soubor maplex3d2prc.js) Další volitelné parametry příkazu \includemedia lze studovat v [4]. Chceme-li tedy vložit do PDF dokumentu interaktivní 3D graf, lze jej načíst následujícím zdrojovým kódem: \includemedia[% label=graf3dMaple, width=\textwidth, height=\textwidth, activate=onclick,3Dmenu, 3Daac=2.0046278645567734, 3Droll=-10.910924963224597, 3Dc2c=0.7286250591278076 0.5137189030647278 0.45298829674720764, 3Dcoo=0.019990921020507812 0.01409459114074707 0.012428522109985352, 3Droo=800, 3Dlights=CAD, add3Djscript=maplex3d2prc.js] %systémový JavaScriptový soubor {\includegraphics[width=\textwidth]{parabola.png}}{parabola.prc}} %soubor s obrázkem 3D grafu ve formátu PNG, %soubor s vygenerovaným 3D grafem ve formátu PRC Kapitola 1. Použité technologie 41 Výsledkem je pak interaktivní 3D graf znázorněný v obrázku 1.11. Obrázek 1.11: Interaktivní 3D grafika Další ukázky interaktivní 3D grafiky vygenerované v programu Maple jsou součástí přiložených pedagogických her (párovací hry, Riskuj a Poznej) a testů vytvořených k tématu diferenciálního počtu funkcí více proměnných, konkrétně v materiálech ke kapitole Pojem funkce více proměnných. Kapitola 2 Interaktivní výukové materiály – Diferenciální počet funkcí více proměnných V úvodní kapitole jsme se věnovali možnostem tvorby interaktivních výukových materiálů z pohledu dostupných technologií. V této kapitole se zaměříme na aplikování uvedených principů do praxe. Interaktivními materiály lze oživit výuku mnoha témat napříč celým vzdělávacím systémem, od mateřské školy až po školu vysokou. Hlavní výhodou takových výukových materiálů je kromě jejich obliby mezi studenty bezesporu možnost vizualizace probírané látky. Proto jsou vítanou pomůckou především ve výuce matematiky, kde pomáhají rozvíjet geometrickou představivost studentů. Ve vysokoškolském prostředí je vizualizace probírané látky vhodná především ve výuce matematické analýzy – zejména v oblastech diferenciálního a integrálního počtu. A právě diferenciální počet funkcí více proměnných je tématem výukových materiálů, na nichž jsou demonstrovány možnosti jejich tvorby, popsané v kapitole 1. Obsahem materiálů, jež jsem v rámci této diplomové práce připravila, je široké spektrum příkladů k procvičení v podobě pedagogických her a testů, jež jsou přiloženy na CD. Téma diferenciálního počtu funkcí více proměnných je v této práci rozděleno do šesti tematických okruhů, odpovídajících svým rozsahem učebnímu textu [2]; ke každému okruhu jsou v závorce uvedeny zdroje příkladů pro výukové materiály: • Pojem funkce více proměnných ([1] + vlastní) • Limita a spojitost funkce ([1], [5] + vlastní) • Parciální a směrové derivace ([1], [3], [11], [14] + vlastní) • Diferenciál funkce ([1], [5] + vlastní) • Taylorův polynom ([1] + vlastní) • Lokální a absolutní extrémy ([1], [5], [14] + vlastní) – 42 – Kapitola 2. Interaktivní výukové materiály – Diferenciální počet funkcí více proměnných 43 Klíč k řešení všech úloh použitých v párovacích hrách, hrách Riskuj a Poznej a závěrečných testech k opakování je obsahem kapitoly 3. Pro každý z uvedených tematických okruhů si nyní ukážeme postup řešení vybraných typů úloh. 2.1 Pojem funkce více proměnných Úvodem do studia diferenciálního počtu funkcí více proměnných je téma samotného pojmu funkce více proměnných – je třeba se naučit určovat definiční obor, vrstevnice, a tedy i kompletní graf funkcí více proměnných, a pochopit tak geometrickou interpretaci jejich matematického zápisu. Příklad 1. Zobrazte v rovině definiční obor funkce f(x,y) = 1−(x2 +y)2. Řešení. Výraz pod odmocninou musí být nezáporný, tj. musí platit 1−(x2 +y)2 ≥ 0, což lze upravit do podoby součinu 1−(x2 +y) 1+(x2 +y) ≥ 0. Aby byl tento součin kladný, musí mít oba činitele stejné znaménko, tedy oba jsou současně nezáporné či nekladné. Podíváme se postupně na tyto dvě možnosti. Nejprve uvažujme nekladné činitele 1−(x2 +y) ≤ 0 ∧ 1+(x2 +y) ≤ 0, y ≥ 1−x2 ∧ y ≤ −1−x2 . Výsledné množiny nemají žádný průnik. Nyní uvažujme nezáporné činitele 1−(x2 +y) ≥ 0 ∧ 1+(x2 +y) ≥ 0, y ≤ 1−x2 ∧ y ≥ −1−x2 . Průnik výsledných množin je definičním oborem funkce f(x,y) = 1−(x2 +y)2: −2 −1 0 1 2 x −2 −1 1 2 y Kapitola 2. Interaktivní výukové materiály – Diferenciální počet funkcí více proměnných 44 Příklad 2. Vypočtěte funkční hodnotu funkce dvou proměnných f(x,y) = sin π x +arccos x y v bodě [x,y] = [1, √ 2]. Řešení. Funkční hodnotu funkce f(x,y) spočítáme přímým dosazením: f(1, √ 2) = sin π 1 +arccos 1 √ 2 = 0+ π 4 = π 4 . Příklad 3. Prohlédněte si grafy funkcí f(x,y) a g(x,y). Určete vztah mezi těmito funkcemi. f(x,y) g(x,y) Řešení. Vidíme, že funkce g(x,y) se od funkce f(x,y) liší ve dvou vlastnostech: • posunutí grafu funkce ve směru osy z, • funkční hodnoty funkce g(x,y) rostou rychleji. Odhadneme tedy, že g(x,y) = 2 f(x,y)+1. Příklad 4. Nakreslete vrstevnice funkce f(x,y) = x+y. Řešení. Hledáme řešení rovnice x + y = c, c ∈ R. Jsou jím přímky y = −x + c, které vykreslíme do grafu pro c ∈ {±4,±3,±2,±1,0}: −2 −1 0 1 2 x −2 −1 1 2 y Příklad 5. Vyjádřete funkci f(u,v), je-li funkce f(x−y,x+y) = xy. Řešení. Vyjádříme proměnné u a v pomocí proměnných x a y: u = x−y, v = x+y. Kapitola 2. Interaktivní výukové materiály – Diferenciální počet funkcí více proměnných 45 Dosazením do výrazu v = x +y a jeho úpravou dostáváme vyjádření proměnné y pomocí proměnných u a v: v = x+y, v = (u+y)+y, y = v−u 2 . Dosazením zpět do výrazu u = x − y a jeho úpravou dostáváme vyjádření proměnné x pomocí proměnných u a v: u = x−y, u = x− v−u 2 , x = u+v 2 . Nakonec za proměnné x a y dosadíme do předpisu funkce f(x−y,x+y) = xy: f(x−y,x+y) = xy, f(u,v) = u+v 2 · v−u 2 , f(u,v) = v2 −u2 4 . Párovací hry a hry Poznej na téma Pojem funkcí více proměnných obsahují převážně snazší úlohy, jsou tedy vhodné k prezentaci během přednášek či cvičení. Hry Riskuj obsahují širší škálu obtížnosti úloh, přesto je lze také doporučit ke stejnému využití. Vizualizace problematiky funkcí více proměnných, jež je součástí her, pomáhá lepšímu pochopení probíraného tématu. 2.2 Limita a spojitost funkce V této tematické oblasti je kladen důraz na procvičení výpočtu limit různých typů, neboť jsou základním stavebním kamenem dalších oblastí diferenciálního počtu funkcí více proměnných. Menší množství úloh je pak věnováno tematice spojitosti funkcí více proměnných. Příklad 6. Vypočtěte limity následujících funkcí: a) f(x,y) = √ 2x−y+4−3√ 3x2+y3+9−2 v bodě [x,y] = [0,0]. Řešení. Neobdržíme-li po dosazení souřadnic limitního bodu neurčitý výraz, je hodnota limity funkce rovna funkční hodnotě v tomto bodě: lim (x,y)→(0,0) √ 2x−y+4−3 3x2 +y3 +9−2 = √ 4−3 √ 9−2 = −1 1 = −1. Kapitola 2. Interaktivní výukové materiály – Diferenciální počet funkcí více proměnných 46 b) f(x,y) = 3(x2+y2) √ x2+y2+4−2 v bodě [x,y] = [0,0]. Řešení. Po dosazení souřadnic limitního bodu získáme neurčitý výraz typu 0 0. Zvolíme tedy úpravu předpisu funkce – vynásobíme čitatel i jmenovatel funkce výrazem x2 +y2 +4+2: lim (x,y)→(0,0) 3(x2 +y2) x2 +y2 +4−2 = lim (x,y)→(0,0) 3(x2 +y2) x2 +y2 +4−2 · x2 +y2 +4+2 x2 +y2 +4+2 = = lim (x,y)→(0,0) 3(x2 +y2)( x2 +y2 +4+2) x2 +y2 +4−4 = = lim (x,y)→(0,0) 3( x2 +y2 +4+2) = 3( √ 4+2) = 12. c) f(x,y) = (x2 +y2)sin 1 xy v bodě [x,y] = [0,0]. Řešení. Platí lim (x,y)→(0,0) (x2 +y2 ) = 0, sin 1 xy ≤ 1 pro každé [x,y] ∈ R2 ,[x,y] = [0,0] (ohraničená funkce), tedy lim(x,y)→(0,0)(x2 +y2)sin 1 xy = 0 (viz Věta 2.5 [2]). d) f(x,y) = xy x2+y2 v bodě [x,y] = [0,0]. Řešení. Zavedením polárních souřadnic x = rcosϕ, y = rsinϕ dostáváme lim (x,y)→(0,0) xy x2 +y2 = lim r→0+ r2 sinϕ cosϕ r2(cos2 ϕ +sin2 ϕ) = lim r→0+ sinϕ cosϕ = 1 2 sin2ϕ. Protože výsledek záleží na úhlu ϕ, tedy na cestě, po níž se k bodu [0,0] blížíme, limita neexistuje. Příklad 7. Určete body, v nichž následující funkce nejsou spojité: a) f(x,y) = x2+y2 x2−y2 . Řešení. Funkce f1(x,y) = x2 +y2 a f2(x,y) = x2 −y2 jsou polynomy ve dvou proměnných, jsou tedy spojité v celé rovině. Funkce f(x,y) není spojitá v bodech, v nichž není definovaná, tj. kde x2 −y2 = 0. Body, v nichž funkce f(x,y) není spojitá, jsou tedy přímky y = x a y = −x. b) f(x,y) = sin(x2 +y2). Řešení. Funkce f1(x,y) = x2 +y2 a f2(u) = sinu jsou spojité v celé rovině. Funkce f(x,y) je tedy spojitá v R2. Příklad 8. Určete body nespojitosti složené funkce f ◦g, přičemž pro funkce f a g platí f(t) = 1 t , g(x,y) = 3x−2y. Kapitola 2. Interaktivní výukové materiály – Diferenciální počet funkcí více proměnných 47 Řešení. Funkce g(x,y) je spojitá v celé rovině. Funkce f(t) není spojitá v bodech, v nichž není definovaná, tj. kde t = 0. Složená funkce f ◦g tedy není spojitá pro 0 = t = 3x−2y, tj. v bodech přímky y = 3 2x. Párovací hry a hra Poznej k tématu Limita a spojitost funkce opět obsahují převážně snazší úlohy a jsou tak vhodné k prezentaci během přednášek či cvičení. Hra Riskuj obsahuje širší škálu obtížnosti úloh, je však možné ji využít obdobně. 2.3 Parciální a směrové derivace Následující tematický okruh se zaměřuje na další základní pojmy diferenciálního počtu funkcí více proměnných: parciální derivace a jejich zobecnění – derivace směrové. Příklad 9. Vypočtěte parciální derivace 1. řádu následujících funkcí: a) z = x3 +y4 +2x2y3. Řešení. Při výpočtu parciální derivace podle proměnné x považujeme proměnnou y za konstantu: zx = 3x2 +4xy3 . Analogicky pak počítáme parciální derivaci podle proměnné y: zy = 4y3 +6x2 y2 . b) z = lnxy. Řešení. zx = 1 xy ·y = 1 x , zy = 1 xy ·x = 1 y . Příklad 10. Vypočtěte parciální derivace 2. řádu funkcí z příkladu 9: a) z = x3 +y4 +2x2y3. Řešení. Využijeme výsledky příkladu 9: zx = 3x2 +4xy3, zy = 4y3 +6x2y2. zxx = ∂ ∂x zx = 6x+4y3 , zxy = ∂ ∂y zx = 12xy2 , zyx = ∂ ∂x zy = 12xy2 , zyy = ∂ ∂y zy = 12y2 +12x2 y. Kapitola 2. Interaktivní výukové materiály – Diferenciální počet funkcí více proměnných 48 b) z = lnxy. Řešení. Opět využijeme výsledky příkladu 9: zx = 1 x , zy = 1 y . zxx = ∂ ∂x zx = − 1 x2 , zxy = ∂ ∂y zx = 0, zyx = ∂ ∂x zy = 0, zyy = ∂ ∂y zy = − 1 y2 . Příklad 11. Vypočtěte směrové derivace následujících funkcí: a) f(x,y,z) = |x+2y2 +3z3| v bodě [x,y,z] = [0,0,0] ve směru vektoru u = (0,1,2). Řešení. Přímým dosazením do definice směrové derivace (viz Definice 3.1 [2]) dostáváme f(0,1,2)(0,0,0) = lim t→0 |(0+0t)+2(0+1t)2 +3(0+2t)3|−|0+2·02 +3·03| t = = lim t→0 |2t2 +24t3| t = lim t→0 |2t +24t2 | = 0. b) f(x,y) = x3 −2x2y+xy2 +1 v bodě [x,y] = [1,2] ve směru vektoru u = (3,4). Řešení. Nejprve spočítáme parciální derivace 1. řádu funkce f(x,y): fx(x,y) = 3x2 −4xy+y2 ⇒ fx(1,2) = 3−8+4 = −1, fy(x,y) = −2x2 +2xy ⇒ fy(1,2) = −2+4 = 2. Gradient funkce f(x,y) v bodě [1,2] je pak vektor (fx(1,2), fy(1,2)) = (−1,2). Směrovou derivaci funkce f(x,y) v bodě [1,2] ve směru vektoru u = (3,4) spočítáme jako skalární součin gradientu a směrového vektoru u: f(3,4)(1,2) = (−1,2)·(3,4) = −3+8 = 5. Příklad 12. Rozhodněte, zda funkce z = x2 +y2 vyhovuje rovnici yzx = xzy. Řešení. Spočítáme parciální derivace funkce z(x,y): zx = 2x, zy = 2y. Následně je dosadíme do rovnice yzx = xzy a upravujeme: yzx = xzy, y·2x = x·2y, 2xy = 2xy. Rovnost platí pro každé x,y ∈ R, funkce z = x2 +y2 tedy vyhovuje rovnici yzx = xzy. Kapitola 2. Interaktivní výukové materiály – Diferenciální počet funkcí více proměnných 49 Párovací hry a hra Poznej na téma parciálních a směrových derivací obsahují převážně snazší úlohy, přesto řešení některých z nich vyžaduje tvorbu poznámek či provádění mezivýpočtů. Hry jsou tak časově náročnější a lze je tedy doporučit spíše pro skupinovou domácí přípravu studentů. Hra Riskuj obsahuje širší škálu obtížnosti úloh a je vhodná k obdobnému využití. 2.4 Diferenciál funkce Navazujícím tématem problematiky parciálních derivací je pojem diferenciálu. Geometricky se jedná o přírůstek funkce na tečné nadrovině vedené ke grafu funkce v daném bodě. Protože tečná nadrovina je nejlepší lineární aproximací funkce v okolí daného bodu, praktický význam diferenciálu spočívá v nahrazení obtížných výpočtů přesných funkčních hodnot funkcí více proměnných jejich jednodušší lineární aproximací. Příklad 13. Pomocí totálního diferenciálu funkce vypočtěte přibližnou hodnotu výrazu 1,025 ·0,9920. Řešení. Hledáme totální diferenciál funkce f(x,y) = x5y20 v bodě [x,y] = [1,1] s diferencemi dx = 0,02 a dy = −0,01. Spočítáme tedy parciální derivace 1. řádu funkce f(x,y): fx(x,y) = 5x4 y20 ⇒ fx(1,1) = 5, fy(x,y) = 20x5 y19 ⇒ fy(1,1) = 20. Pak d f(x,y) = fx(x,y)dx + fy(x,y)dy, tedy d f(1,1) = 5 · 0,02 + 20 · (−0,01) = −0,1 a 1,025 ·0,9920 . = f(1,1)+d f(1,1) = 1−0,1 = 0,9. Příklad 14. Vypočtěte totální diferenciál 1. řádu funkce f(x,y) = xy v bodě [x,y] = [1,2]. Řešení. Nejprve spočítáme parciální derivace 1. řádu funkce f(x,y): fx(x,y) = y ⇒ fx(1,2) = 2, fy(x,y) = x ⇒ fy(1,2) = 1. Totální diferenciál má pak tvar d f(x,y) = fx(x,y)dx+ fy(x,y)dy, tedy d f(1,2) = 2dx+dy. Příklad 15. Rozhodněte, zda výraz (3x2 +2xy)dx+(x2 +4)dy je totálním diferenciálem nějaké funkce. Pokud ano, najděte tuto kmenovou funkci H. Řešení. Nejprve ověříme, zda je výraz (3x2 +2xy)dx+(x2 +4)dy totálním diferenciálem: ∂ ∂x (x2 +4) = 2x, ∂ ∂y (3x2 +2xy) = 2x. Výraz (3x2 +2xy)dx+(x2 +4)dy je tedy totálním diferenciálem kmenové funkce H. Platí H(x,y) = (3x2 +2xy)dx = x3 +x2 y+ψ(y), H(x,y) = (x2 +4)dy = x2 y+4y+ϕ(x). Kapitola 2. Interaktivní výukové materiály – Diferenciální počet funkcí více proměnných 50 Porovnáním obou vyjádření funkce H určíme ϕ(x) = x3 +k1, ψ(y) = 4y+k2, kde k1,k2 ∈ R. Výraz (3x2 +2xy)dx+(x2 +4)dy je tedy totálním diferenciálem funkce H(x,y) = x3 +x2 y+4y+c, kde c ∈ R. Příklad 16. Najděte rovnici tečné roviny k ploše z = x+y2 v bodě [x,y,z] = [1,1,2]. Řešení. Nejprve spočítáme parciální derivace 1. řádu funkce z(x,y): zx(x,y) = 1 ⇒ zx(1,1) = 1, zy(x,y) = 2y ⇒ zy(1,1) = 2. Tečná rovina má pak tvar z−2 = zx(x−1)+zy(y−1), z−2 = x−1+2(y−1), 0 = x+2y−z−1. Příklad 17. Na grafu funkce f(x,y) = z = x2 +y2 najděte bod A = [x,y,z], v němž je tečná rovina rovnoběžná s rovinou ρ : x+y+z = 0. Řešení. Normálový vektor roviny ρ je n = (1,1,1). Hledáme rovinu rovnoběžnou s rovinou ρ, její normálový vektor m tedy musí být násobkem vektoru n. Zároveň platí, že tečná rovina k ploše grafu funkce f(x,y) má tvar z−z0 = fx(x,y)(x−x0)+ fy(x,y)(y−y0), tedy 0 = fx(x,y)x+ fy(x,y)y−z−(fx(x,y)x0 + fy(x,y)y0 −z0). Normálový vektor m je tedy roven m = (fx(x,y), fy(x,y),−1). Porovnáním třetích souřadnic vidíme, že m = −n. Zejména tak platí fx(x,y) = 2x = −1, fy(x,y) = 2y = −1. Z těchto rovnic získáme souřadnice x = −1 2 a y = −1 2. Dosazením těchto souřadnic do předpisu funkce f(x,y) dopočítáme poslední souřadnici z = x2 + y2 = 1 2. Hledaný bod A má souřadnice A = −1 2,−1 2, 1 2 . Párovací hry i hry Poznej a Riskuj k tématu diferenciálu funkce obsahují úlohy, jejichž řešení není obtížné, avšak je pracné. Hry jsou tak časově náročné a lze je tedy doporučit spíše pro domácí přípravu studentů. Kapitola 2. Interaktivní výukové materiály – Diferenciální počet funkcí více proměnných 51 2.5 Taylorův polynom Diferenciál funkce však není jedinou možností aproximace funkce v daném bodě. V této kapitole se zaměříme na možnost nahradit funkci v daném bodě polynomem více proměnných. Příklad 18. Sestavte Taylorův polynom 1. stupně funkce f(x,y) = xy se středem v bodě [x,y] = [1,1]. Řešení. Spočítáme funkční hodnotu a parciální derivace 1. řádu funkce f(x,y) v bodě [1,1]: f(1,1) = 11 = 1, fx(x,y) = yxy−1 ⇒ fx(1,1) = 1, fy(x,y) = xy lnx ⇒ fy(1,1) = ln1 = 0. Taylorův polynom 1. stupně funkce f(x,y) = xy se středem v bodě [x,y] = [1,1] pak má tvar T1(1,1) = f(1,1)+ fx(1,1)(x−1)+ fy(1,1)(y−1) = 1+(x−1) = x. Příklad 19. Sestavte Maclaurinův polynom 2. stupně funkce f(x,y) = ey sinx. Řešení. Spočítáme funkční hodnotu a parciální derivace 1. a 2. řádu funkce f(x,y) v bodě [0,0]: f(0,0) = 0, fx(x,y) = ey cosx ⇒ fx(0,0) = 1, fy(x,y) = ey sinx ⇒ fy(0,0) = 0, fxx(x,y) = −ey sinx ⇒ fxx(0,0) = 0, fxy(x,y) = ey cosx ⇒ fxy(0,0) = 1, fyx(x,y) = ey cosx ⇒ fyx(0,0) = 1, fyy(x,y) = ey sinx ⇒ fyy(0,0) = 0. Maclaurinův polynom 2. stupně funkce f(x,y) = ey sinx pak má tvar M2 = f(0,0)+ fx(0,0)x+ fy(0,0)y+ 1 2 fxx(0,0)x2 +2 fxy(0,0)xy+ fyy(0,0)y2 = = x+ 1 2 2xy = x+xy. Příklad 20. Pomocí Taylorova polynomu 1. stupně vypočtěte přibližnou hodnotu výrazu 1,05 2,03. Řešení. Hledáme Taylorův polynom funkce f(x,y) = x y se středem v bodě [x,y] = [1,2] s diferencemi h = 0,05, k = 0,03. Spočítáme tedy parciální derivace 1. řádu funkce f(x,y): fx(x,y) = 1 y ⇒ fx(1,2) = 1 2 , fy(x,y) = − x y2 ⇒ fy(1,2) = − 1 4 . Pak 1,05 2,03 . = T1 = f(1,2)+ fx(1,2)h+ fy(1,2)k = 1 2 + 1 2 ·0,05− 1 4 ·0,03 = 0,5175. Kapitola 2. Interaktivní výukové materiály – Diferenciální počet funkcí více proměnných 52 Příklad 21. Vyjádřete mnohočlen f(x,y) = x2 + 2xy + y2 + x v mocninách proměnných u = (x−1) a v = (y−2). Řešení. Hledáme Taylorův polynom nejvýše 2. stupně funkce f(x,y) se středem v bodě [x,y] = [1,2]. Spočítáme tedy funkční hodnotu a parciální derivace 1. a 2. řádu funkce f(x,y) v bodě [1,2]: f(1,2) = 1+4+4+1 = 10, fx(x,y) = 2x+2y+1 ⇒ fx(1,2) = 2+4+1 = 7, fy(x,y) = 2x+2y ⇒ fy(1,2) = 2+4 = 6, fxx(x,y) = 2 ⇒ fxx(1,2) = 2, fxy(x,y) = 2 ⇒ fxy(1,2) = 2, fyx(x,y) = 2 ⇒ fyx(1,2) = 2, fyy(x,y) = 2 ⇒ fyy(1,2) = 2. Hledaný Taylorův polynom 2. stupně funkce f(x,y) = x2 +2xy+y2 +x se středem v bodě [x,y] = [1,2] pak má tvar T2(1,2) = f(1,2)+ fx(1,2)(x−1)+ fy(1,2)(y−2)+ + 1 2 fxx(1,2)(x−1)2 +2 fxy(1,2)(x−1)(y−2)+ fyy(1,2)(y−2)2 = = 10+7(x−1)+6(y−2)+ 1 2 2(x−1)2 +4(x−1)(y−2)+2(y−2)2 . Dosadíme-li nyní do T2 výrazy u = (x−1) a v = (y−2), dostáváme polynom ve tvaru 10+7u+6v+u2 +2uv+v2 . Párovací hry i hry Poznej a Riskuj k tématu Taylorova polynomu obsahují pracné úlohy, časově náročné jsou především úlohy čtvrté párovací hry. Hry tak lze doporučit pro domácí přípravu studentů. 2.6 Lokální a absolutní extrémy Poslední kapitola diferenciálního počtu funkcí více proměnných, jíž se budeme na stránkách této práce zabývat, je z praktického hlediska jednou z nejdůležitějších. Hledání extrémů funkcí více proměnných je totiž nedílnou součástí našeho každodenního života, ač si to mnozí neuvědomují – výrobci usilují o maximalizaci zisků při minimalizaci nákladů, spotřebitelé během volby mezi dostupnými alternativami maximalizují svůj užitek, konstruktéři navrhují elektroniku s maximálním výkonem a minimální spotřebou energií atp. Pochopení problematiky optimalizace funkcí více proměnných tak otevírá dveře pochopení dalších oblastí našeho života. Příklad 22. Vypočtěte Hessovu matici funkce f(x,y) = 4lnx−5lny, nejprve v obecném bodě, následně pak v bodě [x,y] = [4,5]. Kapitola 2. Interaktivní výukové materiály – Diferenciální počet funkcí více proměnných 53 Řešení. Nejprve vypočteme parciální derivace 1. a 2. řádu funkce f(x,y): fx(x,y) = 4 x , fy(x,y) = 5 y , fxx(x,y) = − 4 x2 , fxy(x,y) = 0, fyx(x,y) = 0, fyy(x,y) = − 5 y2 . Hessova matice funkce f(x,y) má podobu Hf (x,y) =   fxx(x,y) fxy(x,y) fyx(x,y) fyy(x,y)   =   − 4 x2 0 0 5 y2  . Dosadíme-li bod [4,5], pak Hf (4,5) =   − 4 16 0 0 5 25   =   −1 4 0 0 1 5  . Příklad 23. Najděte lokální extrémy funkce f(x,y) = 2x3 −3x2 +y2 −2. Řešení. Funkce f(x,y) je polynomem proměnných x a y, její parciální derivace jsou tedy spojité na R2. Lokální extrémy tak mohou nastat pouze ve stacionárních bodech. Najdeme je jako řešení soustavy fx(x,y) = 6x2 −6x = 0, fy(x,y) = 2y = 0. Z první rovnice dostáváme dvě řešení x1 = 0 a x2 = 1. Z druhé rovnice pak plyne y = 0. Funkci f(x,y) tedy budeme dále vyšetřovat ve dvou stacionárních bodech P1 = [0,0] a P2 = [1,0]. Hessova matice funkce f(x,y) má podobu Hf (x,y) =   fxx(x,y) fxy(x,y) fyx(x,y) fyy(x,y)   =   12x−6 0 0 2  . Dosadíme-li nyní bod P1 = [0,0], vidíme, že matice Hf (0,0) =   −6 0 0 2   Kapitola 2. Interaktivní výukové materiály – Diferenciální počet funkcí více proměnných 54 je indefinitní, v bodě P1 = [0,0] tedy extrém nenastává. Nyní dosadíme bod P2 = [1,0]: Hf (1,0) =   6 0 0 2  . Matice Hf (1,0) je pozitivně definitní, funkce f(x,y) má tedy v bodě P2 = [1,0] lokální minimum. Příklad 24. Najděte absolutní extrémy funkce f(x,y) = x2y na množině M : y = ex. Řešení. Do předpisu funkce f(x,y) dosadíme podmínku y = ex, získáme tak funkci jedné proměnné F(x) = x2ex. Funkce F(x) je spojitá na celém R, její extrémy tak hledáme ve stacionárních bodech, které jsou řešením rovnice F (x) = 2xex +x2 ex = 0, xex (2+x) = 0. Dostáváme dvojici řešení x1 = 0 a x2 = −2. Nyní pomocí druhé derivace funkce F(x) určíme, zda se jedná o extrém: F (x) = 2ex +4xex +x2 ex , F (0) = 2e0 +4·0e0 +02 e0 = 2 > 0, F (−2) = 2e−2 −8e−2 +4e−2 = −2e−2 < 0. V bodě x1 = 0 má tedy funkce F(x) minimum, v bodě x2 = −2 maximum. Dosadíme-li zpět body x1 a x2 do podmínky y = ex, dopočítáme, že funkce f(x,y) má na množině M minimum v bodě [x1,y1] = [0,1] a maximum v bodě [x2,y2] = [−2,e−2]. Příklad 25. Najděte absolutní extrémy funkce f(x,y) = x2 +y2 na množině M, přitom M : x2 +y2 ≤ 9. Řešení. Funkce f(x,y) může nabývat svých extrémů v bodech, v nichž nemá parciální derivace, ve stacionárních bodech uvnitř množiny M nebo v bodech hranice množiny M, tj. kružnice x2 +y2 = 9. Stacionární body jsou řešením soustavy fx(x,y) = x x2 +y2 = 0, fy(x,y) = y x2 +y2 = 0, x2 +y2 < 9. Nenajdeme však takový bod [x,y], který by vyhovoval této soustavě – stacionární body neexistují. Parciální derivace nejsou definovány v bodě [x,y] = [0,0], v němž tedy může nastat extrém. Funkční hodnota v bodě [0,0] je rovna f(0,0) = 0. Nakonec se zaměřme na body hranice množiny M – na kružnici x2 +y2 = 9. Vidíme, že na této křivce je funkce f(x,y) konstantní a platí f(x,y) = √ 9 = 3. Každý bod hranice množiny M je tedy bodem maxima i minima funkce f(x,y) vázaného na křivku x2 +y2 = 9. Kapitola 2. Interaktivní výukové materiály – Diferenciální počet funkcí více proměnných 55 Protože f(0,0) = 0 < 3 = f(x,y), kde [x,y] jsou body na kružnici x2 +y2 = 9, je bod [x,y] = [0,0] bodem minima a libovolný bod na kružnici x2 +y2 = 9 bodem maxima funkce f(x,y) na množině M. Párovací hry i hry Poznej a Riskuj na téma Lokální a absolutní extrémy obsahují převážně pracné a obtížné úlohy. Hry jsou tedy určeny především pro domácí přípravu studentů. Kapitola 3 Interaktivní výukové materiály – Klíč k řešení Nedílnou součástí výukových materiálů je i klíč k řešení uvedených úloh, který studentům umožňuje rychlou kontrolu výsledků vypočtených příkladů. Pro závěrečné testy k opakování uvádíme kompletní řešení dle jednotlivých otázek, odpovědi otevřených matematických otázek jsou uvedeny v syntaxi AcroTEXu. Párovací hry neobsahují jednoznačné označení odpovědí, pro účely tohoto klíče tedy každé odpovědi přiřadíme postupně písmena (anglické) abecedy – po sloupcích shora dolů, zleva doprava. Klíčem k řešení každé otázky je tak její číselné označení a příslušné písmeno odpovědi. Hry Riskuj mají otázky jednoznačně určené svým tematickým zaměřením a bodovým hodnocením. Pro každou kategorii otázek je tak klíčem bodové hodnocení dané otázky a písmeno odpovídající správné odpovědi. Hry Poznej mají otázky opět jednoznačně určené – svou polohou na herní ploše s políčky. Klíčem k řešení her Poznej je kombinace souřadnic dané otázky a písmene odpovídajícího správné odpovědi. Na stránkách této práce je klíč k řešení všech uvedených úloh systematicky rozdělen do tematických okruhů odpovídajících zaměření jednotlivých testů a her. 3.1 Pojem funkce více proměnných Test k opakování • 1A: c, 1B: a, 2: b, 3A: 1, 3B: 0, 3C: 12, 3D: pi/4, 3E: 1, 3F: 9, 4: (u^2-v^2)/2 Párovací hry 1. 1-C, 2-A, 3-B, 4-F, 5-E, 6-D (Cantor) 2. 1-A, 2-G, 3-L, 4-B, 5-F, 6-I, 7-J, 8-H, 9-K (Karl Weierstrass) 3. 1-F, 2-A, 3-D, 4-B, 5-C, 6-E (Leibniz) – 56 – Kapitola 3. Interaktivní výukové materiály – Klíč k řešení 57 4. 1-H, 2-C, 3-D, 4-F, 5-B (Cauchy) 5. 1-F, 2-A, 3-D, 4-B, 5-C, 6-E (Heinrich Heine) 6. 1-K, 2-E, 3-C, 4-B, 5-A, 6-J (Galileo Galilei) Riskuj • Definiční obor – 100 c, 200 c, 300 a, 400 c • Funkční hodnoty – 100 b, 200 a, 300 c, 400 e • Graf funkce – 100 d, 200 a, 300 c, 400 d • Vztah funkcí – 100 a, 200 d, 300 a, 400 e • Vrstevnice – 100 a, 200 d, 300 c, 400 b • Transformace proměnných – 100 d, 200 a, 300 c, 400 d Poznej 1. A1 c, A2 b, A3 a, A4 c, B1 d, B2 b, B3 a, B4 d, C1 b, C2 a, C3 c, C4 d 2. A1 d, A2 a, A3 e, A4 c, B1 b, B2 d, B3 b, B4 d, C1 a, C2 a, C3 a, C4 b 3.2 Limita a spojitost funkce Test k opakování • 1A: a, 1B: 4, 2A: b, 2B: -, 3: c, 4: b Párovací hry 1. 1-P, 2-H, 3-N, 4-D, 5-O, 6-J, 7-L, 8-G, 9-I, 10-C, 11-E, 12-K (Gustav Dirichlet) 2. 1-A, 2-G, 3-L, 4-B, 5-F, 6-I, 7-J, 8-H, 9-K (Pythagoras) 3. 1-C, 2-B, 3-A, 4-D, 5-E, 6-F (Bolzano) Riskuj • Limita – 100 c, 200 e, 300 c, 400 b • Body nespojitosti – 100 a, 200 e, 300 b, 400 c • Složená funkce – 100 a, 200 d, 300 a, 400 b Poznej • A1 a, A2 d, A3 a, A4 c, B1 b, B2 d, B3 e, B4 b, C1 c, C2 b, C3 e, C4 a Kapitola 3. Interaktivní výukové materiály – Klíč k řešení 58 3.3 Parciální a směrové derivace Test k opakování • 1A: 1/(x+y^2), 1B: 2*y/(x+y^2), 1C: -1/(x+y^2)^2, 1D: -2*y/(x+y^2)^2, 1E: -2*y/(x+y^2)^2, 1F: 2*(x-y^2)/(x+y^2)^2, 2A: -pi/2 a -pi/2, 2B: 12 a 11, 2C: 2*e^2 a e^2, 3: 1, 4: a, 5: a Párovací hry 1. 1-A, 2-I, 3-D, 4-C, 5-G, 6-B, 7-J, 8-E (Bernoulli) 2. 1-K, 2-E, 3-C, 4-B, 5-A, 6-J (Schwarz) 3. 1-D, 2-G, 3-A, 4-F, 5-B, 6-H (Fourier) Riskuj • Parciální derivace – 100 d, 200 c, 300 e, 400 b • Směrové derivace – 100 a, 200 d, 300 c, 400 c • Diferenciální rovnice – 100 c, 200 e, 300 c, 400 b Poznej • A1 b, A2 a, A3 d, A4 a, B1 c, B2 e, B3 b, B4 a, C1 b, C2 a, C3 d, C4 d 3.4 Diferenciál funkce Test k opakování • 1: 1/y a -x/y^2, 2: x/sqrt(x^2+y^2) a y/sqrt(x^2+y^2), 3A: 19.52, 3B: 1.00, 3C: 0.02, 4A: a, 4B: x^3+x^2*y+4*y, 5: x/2-y/2+1/2, 6: -1/2 a -1/2 a 1/2 Párovací hry 1. 1-D, 2-H, 3-C, 4-O, 5-G, 6-K, 7-F, 8-E, 9-P (Carathéodory) 2. 1-M, 2-H, 3-I, 4-C, 5-A, 6-G, 7-K, 8-L (Bernoulli) 3. 1-F, 2-H, 3-B, 4-C, 5-I, 6-E, 7-A, 8-G (Maclaurin) Kapitola 3. Interaktivní výukové materiály – Klíč k řešení 59 Riskuj • Výpočet přibližných hodnot – 100 b, 200 d, 300 a, 400 d • Diferenciál funkce – 100 d, 200 a, 300 c, 400 c • Tečná rovina – 100 e, 200 a, 300 d, 400 e Poznej • A1 c, A2 e, A3 a, A4 c, B1 b, B2 a, B3 d, B4 d, C1 a, C2 b, C3 a, C4 e 3.5 Taylorův polynom Test k opakování • 1: 1+2*(x-1)-(y-1)+(x-1)^2-2*(x-1)*(y-1)+(y-1)^2, 2: x*y, 3A: 19.8488, 3B: 0.9949, 3C: 0.0203, 4: u^2+v^2+3*u*v+5*u+5*v+5 Párovací hry 1. 1-K, 2-E, 3-C, 4-B, 5-A, 6-J (Riemann) 2. 1-K, 2-E, 3-C, 4-B, 5-A, 6-J (Lagrange) 3. 1-D, 2-H, 3-C, 4-O, 5-G, 6-K, 7-F, 8-E, 9-P (Forbes Nash) 4. 1-D, 2-E, 3-H, 4-B, 5-C, 6-A (Taylor) Riskuj • Taylorův polynom – 100 b, 200 b, 300 b, 400 e • Maclaurinův polynom – 100 b, 200 e, 300 a, 400 d • Výpočet přibližných hodnot – 100 b, 200 d, 300 a, 400 d Poznej • A1 e, A2 e, A3 d, A4 d, B1 d, B2 d, B3 e, B4 d, C1 c, C2 e, C3 a, C4 c Kapitola 3. Interaktivní výukové materiály – Klíč k řešení 60 3.6 Lokální a absolutní extrémy Test k opakování • 1A: třikrát -, 1B: 0 a 0 a 0, 2A: -2 a 1 a 0, 2B: třikrát -, 3A: 2/y a -2*x/y^2 a-2*x/y^2a2*x^2/y^3,3B:1a-1/2a-1/2a1/4,3C:c,4: [0,4/3]; [-1/2,13/12], 5A: 0 a 0 a 0, 5B: třikrát -, 6: 41 a 41 a 41 Párovací hry 1. 1-G, 2-H, 3-I, 4-C, 5-A, 6-M, 7-K, 8-L (Hamilton) 2. 1-H, 2-E, 3-C, 4-B, 5-I, 6-A (Fermat) 3. 1-H, 2-E, 3-C, 4-B, 5-I, 6-A (Jacob Jacobi) Riskuj • Lokální extrémy – 100 a, 200 d, 300 e, 400 c • Hessova matice – 100 d, 200 f, 300 b, 400 c • Absolutní extrémy – 100 e, 200 b, 300 a, 400 c Poznej • A1 c, A2 d, A3 a, A4 a, B1 e, B2 f, B3 b, B4 e, C1 b, C2 c, C3 e, C4 e Závěr V této diplomové práci jsou popsány současné možnosti tvorby interaktivních výukových materiálů v PDF formátu s využitím volně šiřitelného autorského systému pro sazbu dokumentů LATEX a jeho nadstaveb – systému balíčků AcroTEX, jenž umožňuje převádět běžné matematické úlohy do podoby interaktivních testů, a balíčků dps a jeopardy, určených k tvorbě pedagogických her. Následně jsou popsány možnosti tvorby matematické grafiky – 2D grafů, s využitím volně dostupného programu GeoGebra, a 3D grafů, generovaných v komerčním systému počítačové algebry Maple – a aktuálně dostupné způsoby jejich vkládání do PDF doku- mentů. Uvedené teoretické postupy byly poté aplikovány v praxi – v rámci této práce byla vygenerována sada interaktivních materiálů pro podporu výuky tématu Diferenciálního počtu funkcí více proměnných v tomto rozsahu: • Pojem funkce více proměnných – bylo zpracováno 6 párovacích her, 2 hry Riskuj a Poznej a závěrečný test k opakování, • Limita a spojitost funkce – byly zpracovány 3 párovací hry, 1 hra Riskuj a Poznej a závěrečný test k opakování, • Parciální a směrové derivace – byly zpracovány 3 párovací hry, 1 hra Riskuj a Poznej a závěrečný test k opakování, • Diferenciál funkce – byly zpracovány 3 párovací hry, 1 hra Riskuj a Poznej a závěrečný test k opakování, • Taylorův polynom – byly zpracovány 4 párovací hry, 1 hra Riskuj a Poznej a závěrečný test k opakování, • Lokální a absolutní extrémy – byly zpracovány 3 párovací hry, 1 hra Riskuj a Poznej a závěrečný test k opakování. Většina příkladů uvedených v těchto materiálech je vlastních, některé byly převzaty z učebních textů a sbírek ([1], [3], [5], [11], [14]). Pro každý tematický okruh je v kapitole 2 ukázáno vzorové řešení vybraných typů úloh. V kapitole 3 je pak ke všem výukovým materiálům doplněn klíč k řešení. Poznamenejme, že při tvorbě interaktivních výukových materiálů, zejména těch obsahujících matematickou grafiku, kombinujeme více typů softwaru, formátů souborů a balíčků maker systému LATEX. Ukázalo se, že jejich dynamický, avšak nesynchronizovaný – 61 – Závěr 62 vývoj přináší problémy se vzájemnou kompatibilitou a funkčností těchto prvků. Je tedy nutné hledat vzájemně vhodné nastavení parametrů a voleb jednotlivých balíčků, prostředí a příkazů. Lze předpokládat, že vývoj v oblasti interaktivních materiálů a počítačové grafiky bude i nadále velmi rychlý, což bude na autory výukových materiálů klást vysoké nároky. Odměnou jim však vždy bude schopnost flexibilně vytvářet moderní PDF dokumenty vysoké typografické kvality. Tato diplomová práce může být pedagogům inspirací a návodem k tvorbě vlastních výukových materiálů, díky nimž mohou matematiku zpřístupnit většímu okruhu svých studentů. Studentům samotným je pak určena především praktická část této práce – vytvořených materiálů mohou využít k nácviku výpočetních dovedností ve studiu matematické analýzy. Příloha Na přiloženém CD naleznete následující složky a soubory: • Vzorové soubory – Testy_AcroTeX_vzor.tex, Testy_AcroTeX_vzor.pdf – zdrojový kód pro tvorbu testů pomocí balíčku AcroTEX a jeho výstup ve formátu PDF – dps_vzor.tex, dps_vzor.pdf – zdrojový kód pro tvorbu párovacích her pomocí balíčku dps a jeho výstup ve formátu PDF – dps_vzor_po_stranach.tex, dps_vzor_po_stranach.pdf – zdrojový kód pro tvorbu párovacích her pomocí balíčku dps, s odpověďmi umístěnými po stranách hry, a jeho výstup ve formátu PDF – jeopardy_vzor.tex, jeopardy_vzor.pdf – zdrojový kód pro tvorbu her Riskuj a Poznej pomocí balíčku jeopardy a jeho výstup ve formátu PDF • Interaktivní výukové materiály – Testy k opakování – Párovací hry ∗ Pojem_funkce_vice_promennych_1-6.pdf ∗ Limita_a_spojitost_funkce_1-3.pdf ∗ Parcialni_a_smerove_derivace_1-3.pdf ∗ Diferencial_funkce_1-3.pdf ∗ Tayloruv_polynom_1-4.pdf ∗ Lokalni_a_absolutni_extremy_1-3.pdf – Riskuj, Poznej ∗ Pojem_funkce_vice_promennych_1-2.pdf ∗ Limita_a_spojitost_funkce.pdf ∗ Parcialni_a_smerove_derivace.pdf ∗ Diferencial_funkce.pdf ∗ Tayloruv_polynom.pdf ∗ Lokalni_a_absolutni_extremy.pdf • Text práce (v interaktivní podobě) – DP_Brizova_Jana_369783.pdf – 63 – Seznam použité literatury [1] DĚMIDOVIČ, Boris Pavlovič. Sbírka úloh a cvičení z matematické analýzy. 1. vyd. Havlíčkův Brod: Fragment, 2003, 460 s. ISBN 80-7200-587-1. [2] DOŠLÁ, Zuzana a Ondřej DOŠLÝ. Diferenciální počet funkcí více proměnných. 3. vyd. Brno: Masarykova univerzita, 2006, iv, 144 s. ISBN 80-210-4159-5. [3] FUCHS, Petr a Vlasta KRUPKOVÁ. Matematika 1 [online, cit. 2015-02-20]. Dostupné z: http://physics.ujep.cz/~jskvor/MatematikaII/Matematika1. pdf. [4] GRAHN, Alexander. The media9 package, v0.51 [online, cit. 2015-05-09], březen 2015. Dostupné z: http://mirrors.ctan.org/macros/latex/contrib/ media9/doc/media9.pdf. [5] JIRÁSEK, František, Milan VACEK a Stanislav ČIPERA. Sbírka řešených příkladů z matematiky: vysokoškolská učebnice pro skupinu studijních oborů strojírenství a ostatní kovodělná výroba. 1. vyd. Praha: Státní nakladatelství technické literatury, 1989, 565 s. ISBN 80-03-00187-0. [6] LOMTATIDZE, Lenka a Roman PLCH. Sázíme v LATEXu diplomovou práci z matematiky. 1. vyd. Brno: Masarykova univerzita, 2003, 122 s. ISBN 80-210-3228-6. [7] MAŘÍK, Robert. The jeopardy package [online, cit. 2015-05-09], duben 2010. Dostupné z: http://ftp.cvut.cz/tex-archive/macros/latex/ contrib/jeopardy/jeopardy.pdf. [8] NĚMCOVÁ, Pavlína. Tvorba matematické grafiky pomocí programu GeoGebra [online, cit. 2015-05-09]. Bakalářská práce, Brno, Masarykova univerzita, 2012. Dostupné z: http://www.math.muni.cz/~plch/diplomky/bp.pdf. [9] PLCH, Roman. Interaktivní matematická grafika v PDF dokumentech. Sborník příspěvků 6. konference Užití počítačů ve výuce matematiky.: s. 277–287 [online, cit. 2015-05-09]. 1. vyd. Jihočeská univerzita v Českých Budějovicích, 2013, 398 s. ISBN 978-80-7394-448-3. Dostupné z: http://home.pf.jcu.cz/~upvvm/2013/ sbornik/sbornik/Sbornik_UPVM2013.pdf. [10] RYBIČKA, Jiří. LATEX pro začátečníky. 3. vyd. Brno: Konvoj, 2003, 238 s. ISBN 80-7302-049-1. – 64 – Seznam použité literatury 65 [11] STEWART, James. Calculus. 5th ed. Belmont, CA: Thomson Brooks/Cole, 2003, xxv, 1204, 136, 10 s. ISBN 0-534-39339-X. [12] STORY, D. P. dps Package [online, cit. 2015-05-09], říjen 2006. Dostupné z: http: //www.acrotex.net/data/games/dps/dps_man.pdf. [13] STORY, D. P. The AcroTEX eDucation Bundle (AeB) [online, cit. 2015-05-09], květen 2012. Dostupné z: http://www.math.uakron.edu/~dpstory/acrotex/aeb_ man.pdf. [14] Matematika online [online, cit. 2015-02-20]. Dostupné z: http://mathonline. fme.vutbr.cz.