Dynamické úlohy
Dynamické úlohy jsou druhem obsahu, který se vkládá dále do cvičení. Více o cvičeních si můžete přečíst zde.
Dynamickou úlohou může být jakýkoli matematický příklad (včetně výrazů) nebo slovní úloha, která může mít i několik otázek, které musí žák zodpovědět. V současné době je na webu vytvořeno přes 300 dynamických úloh a stále přibývají. Každý učitel si navíc může vytvořit i své úlohy.
Kde dynamické úlohy najdete
Dynamické úlohy najdete pod odkazem na hlavní stránce nebo v postraním menu administrace. Po kliknutí na odkaz se zobrazí všech úloh, ke keterým máte přístup a v záhlaví je pak zobrazen formulář pro filtrování výpisu.
Většina položek je myslím srozumitelná. Jediné co nemusí být jasné je typ dynamické úlohy. Typy jsou úplně stejné jako ve cvičeních se stejnými pravidly. Zde je jen zopakuji.
- Globální - Kvízy jsou určené všem uživatelům. Můžete je používat ve svých cvičeních ale nemůžete je upravovat.
- Lokální - Kvízy, kteé jsou vytvořené v rámci vašeho školního účtu. Mohou být upravovány jen správci obsahu a administrátory.
- Vlastní - Kvízy, které jste si vytvořil/a vy sám/sama v rámci školního účtu. Upravovat je můžete libovolně bez omezení ale jiný učitel ne.
Vytvoření a úprava dynamické úlohy
Úprava nebo vytvoření kvízu probíhá ve stejném formuláři. Pro úpravu využijte odkaz "upravit" ve výpisu úloh. Pro vytvoření nové dynamické úlohy kliněte na tlačítko "Nová úloha" v záhlaví stránky.
Na první pohled toho není k dispozici mnoho. Vidíme je tato pole:
- Název úlohy - Jde o název pod jakým se bude úloha vyskytovat v administraci. Mimo administraci se tento název nikde nezobrazuje, protože je dynamická úloha vždy součástí nějakého cvičení. (Jde o jedinnou povinnou položku)
- Aktivní - Určuje zda-li se bude kvíz zobrazovat ve výpisu.
- Soubory k úloze: - Zde můžete nahrát soubory, na které se můžete odkázat kdekoli v úloze. Přes funkce link nebo img. Více viz, níže. Nahrávát budete asi nejčastěji obrázky ale můžete nahrát i jakýkoli jiný standardní dokument (doc, xls, ppt, apod.) ale nejvíc doporučuji pdf, u kterého máte jistotu, že se zobrazí všude.
- Zadání úlohy: - Jde o text, který se zobrazí žákům jako otázka. Při početních úlohách to může být jednoduše "Vypočtěte:". U slovních úloh to bude znění úlohy.
- Zobraz/Skryj nápovědu: - Pokud kliknete na toto tlačítko, tak se zde zobrazí seznam všech funkcí, které můžete používat pro formátování textu. Vypsané jsou i zde trochu níže
- Přidat krok: - Zde je seznam akcí, které můžete přidat do sekvence kroků pro řešení příkladů. Více níže.
- Přidat pole pro odpověď: - Zde najdete několik možností pro vložení odpovědi. Více opět níže.
Vytvoření příkladu
Dynamická úloha se definuje jako sekvence po sobě jdoucích kroků, které vedou od zadání úlohy k jejímu řešení. Tato sekvence je dána sérií kroků, které jsou tvořeny těmito komponentami:
- Generátory čísel – Vygeneruje číslo dle zadání a jeho hodnotu uloží do zvolené proměnné.
- Početní operace – S vygenerovanými čísly je následně možné provádět základní početní operace (sčítání, odčítání, násobení a dělení)
- Funkce – Na hodnotu v proměnné můžeme také aplikovat celou řadu dostupných funkcí. Od klasických matematických jako je absolutní hodnota, mocnina a odmocnina nebo goniometrické funkce, přes zaokrouhlování až po statistické funkce jako modus, median, průměr apod.
- Podmínky – Při výpočtu můžeme také používat jednoduché podmínky, které mohou pomoci při vytváření složitějších úloh.
S pomocí těchto komponent dokážeme složit libovolně složitý příklad, který bude vždy dynamicky generovaný.
Abych nebyl příliš abstrakntí, tak jsem se rozhodl popsat vše na konkrétním příkladu. Dejme tomu že chceme vytvořit jednoduchou slovní úlohu.
Pepíček v obchodě koupil 5 rohlíků za cenu 2Kč/kus a 2 čokoládové tyčinky za cenu 15Kč/kus. Kolik korun Pepíček zaplatil?
Nastavení této úlohy pak bude vypadat takto:
Když bychom se na tuto úlohu chtěli podívat, tak klikneme na tlačítko "Zobrazit náhled" v záhlaví. A uvidíme toto:
Právě takto se zobrazí tato úloha žákům v případě že ji budou řešit.
Tato úloha, tak jak je zadaná, bude plně funkční ale bude se zobrazovat stále to samé a to by bylo hrubé nevyužití tohoto nástroje.
Přidáváme dynamické části
Nyní budeme postupně přidávat jednotlivé kroky tak abychom úlohu vyřešili. Klikáním na jednotlivé tlačítka v části "Přidat akci".
- Přídáme generátor čísla pro počet rohlíků: rohliky (v rozmezí od 1 do 20)
- Přídáme generátor čísla pro počet tyčinek: tycinky (v rozmezí od 1 do 10)
- Přídáme generátor čísla pro cenu rohlíků: rohliky_cena (v rozmezí od 2 do 3 s jedním desetinným mistem)
- Přídáme generátor čísla pro cenu tyčinek: tycinky_cena (v rozmezí od 10 do 20 s jedním desetinným mistem)
- Přídáme početní operaci: rohliky_castka = rohliky * rohliky_cena
- Přídáme početní operaci: tycinky_castka = tycinky * tycinky_cena
- Přídáme početní operaci: castka_celkem = rohliky_castka + tycinky_castka
Ve formuláři to pak bude vypadat takto:
Co se změnilo? Krom toho, že jsou vidět přidané akce pro počítání příkladů, tak se i v zadání objevili místo čísel tyto konstrukce: {$rohliky}, {$rohliky_cena}, {$tycinky}, {$tycinky_cena} a místo čísla v odpovědi toto: {$castka_celkem}.
Asi tušíte že to jsou stejné názvy jaké jsme si zvolili pro proměnné aby se však odlišili od ostatního textu, tak se v zadání vkládají do složených závorek a ještě jsou uvozené symbolem dolaru. V příkladu se pak zobrazí místo tohoto textu hodnota aktuálně vygenerované, či vypočítané proměnné.
Když se na úlohu podíváme přes náhled tak uvidíme (v závislosti na tom jaká čísla se nám vygenerují) třeba toto:
Najednou zjistíme, že máme češtinářský problém, protože 1 rohlíků zní divně. Buď můžeme generovat jen čísla větší než 5 nebo to vyřešíme ještě trochu jinak. Využijeme formátovací funkci {catext:}. Ta nám zobrazí číslo a text podle toho jaké hodnoty to číslo nabývá.
Text v zadání upravíme takto:
Funkce funguje tak, že na prvním místě je číslo, podle kterého se má text vybrat, na druhém místě je text v případě jednoho kusu, pak dvou až čtyř kusů a nakonec pět a víc. Jednotlivé položky se oddělují středníkem.
Takto upravené zadání nám už generuje text se správný skloňováním.
Takto ve skratce fungují dynamické úlohy. S trochou fantazie dokážete kombinací různých akcí vytvořit poměrné složité úlohy.
Pokud se chcete tvorbě dynamických úloh věnovat více, tak pro inspiraci doporučuji prozkoumat existující úlohy, ke kterým máte přístup z administrace. A v případě zájmu budou na toto téma probíhat webináře.
Dále už uvádím jen seznam funkcí, které můžete použít pro formátování textu v zadáních.
Funkce pro formátování textu:
{$název_proměnné} - Zobrazí hodnotu proměnné.
Příklad použití: {$x}.
{sup:číslo nebo text} - Číslo nebo text bude zobrazeno jako horní index.
Příklad použití: {sup:x}.
{sub:číslo nebo text} - Číslo nebo text bude zobrazeno jako dolní index.
Příklad použití: {sub:x}.
{sqrt:číslo nebo text;exponent} - Číslo nebo text bude zobrazeno jako základ odmocnicny a exponent jako typ odmocniny (Možné jsou 2,3,4).
Příklad použití: {sqrt:25;3}.
{zlomek:čitatel;jmenovatel} - Zobrazí zlomek.
Příklad použití: {zlomek:{$x};{$y}} - Proměnné x a y musí existovat.
{ctext:číslo;jednotkový_název;název_1-4;název_5_a_víc;název_pro_des_číslo} - Podle hodnoty čísla vybere správný název.
Příklad použití: {ctext:{$x};jablko;jablka;jablek;jablekdes}
{catext:číslo;jednotkový_název;název_1-4;název_5_a_víc;název_pro_des_číslo} - Zobrazí předané číslo a podle hodnoty čísla vybere správný název.
Příklad použití: {catext:{$x};jablko;jablka;jablek;jablekdes}
{img:jméno_obrázku;velikost[min,med,max],ořez[w,h])} - Zobrazí obrázek, který je nahrán do úlohy.
Příklad použití: {img:obrazek.jpg;med;w} - soubor s názvem obrazek.jpg musí existovat.
{dimg:jméno_dynamického_obrázku;zarovnání)} - Zobrazí vytvořený dynamický obrázek.
Příklad použití: {dimg:dyn_obrazek} - Zobrazí dynamický obrázek s názvem "dyn_obrazek".
{link:jméno_souboru} - Zobrazí odkaz na soubor, který je nahrán do úlohy.
Příklad použití: {link:obrazek.jpg} - soubor s názvem obrazek.jpg musí existovat.
{v:správná odpověď 1;správná odpověď 2;;Falešná odpověď 1;Falešná odpověď 2;;Šířka pole;;Výška pole} - Zobrazí vstupní pole, které později vyhodnotí jestli jsou správné nebo ne. První parametr je povinný všechny ostatní jsou volitelné.
Příklad použití: {ivstup:správná odpověď 1;správná odpověď 2;;Falešná odpověď 1;Falešná odpověď 2;;200;;20}.
{fcas:sekundy;format} - Zobrazí číslo (sekundy) jako formátovaný text času. Druhý parametr je nepovinný.
Příklad použití:
{fcas:4600} = 1h 16m a 40s
{fcas:4600;1} = 1h 16m 40s
{fcas:4600;2} = 1 hodinu 16 minut a 40 sekund
{fcas:4600;3} = 1 hodinou 16 minutami a 40 sekundami
{fcas:4600;4} = 1 hodina 16 minut a 40 sekund
{cast:radek_pole;pořadí_části} - Zobrazí konkrétní část z předaného řádku pole.
Příklad použití: {cast:radek;1}
{cast:pole;pořadí_části;číslo_řádku} - Zobrazí konkrétní část na řádku z předaného pole.
Příklad použití: {cast:pole;1;1}
{zzavorka:číslo;text} - Pokud je číslo záporné, tak jej vloží i s textem do závorky, pokud je kladné tak zůstane bez závorek. Pokud je 0, pak se nevypíše ani číslo ani text.
Příklad použití: {zzavorka:{$x};n}.
{plus:číslo;text} - Pokud je číslo kladné, tak před něj zapíše + a vypíše číslo i text, pokud je záporné, tak vypíše -. Pokud je 0, pak se nevypíše ani číslo ani text.
Příklad použití: {plus:{$x};n}.
{minus:číslo;text} - Pokud je číslo kladné, tak před něj zapíše - a vypíše číslo i text, pokud je záporné, tak vypíše +. Pokud je 0, pak se nevypíše ani číslo ani text.
Příklad použití: {minus:{$x};n}.
{nn:číslo;text} - Pokud se číslo nerovná nule, tak vypíše číslo i text. Pokud je nulové, nevypíše se nic.
Příklad použití: {nn:{$x};n}.
{jn:číslo;text} - Pokud je číslo nula, tak vypíše číslo i text. Pokud není nulové, nevypíše se nic.
Příklad použití: {nn:{$x};n}.
{nj:číslo;text} - Pokud se číslo nerovná jedné, tak vypíše číslo i text. Pokud je jedna, nevypíše se nic.
Příklad použití: {nj:{$x};n}.
{njn:číslo;text} - Pokud se číslo nerovná nule ani jedné, tak vypíše číslo i text. Pokud se číslo rovná jedné, tak se vypíše jen text. Pokud je nulové, nevypíše se nic.
Příklad použití: {nn:{$x};n}.
{zzavorka2:kontrolní číslo;číslo;text} - Pokud je kontrolní číslo záporné, tak vloží číslo i text do závorky, pokud je kladné tak zůstane bez závorek. Pokud je 0, pak se nevypíše ani číslo ani text.
Příklad použití: {zzavorka2:{$x};{$y};n}.
{plus2:kontrolní číslo;číslo;text} - Pokud je kontrolní číslo kladné, tak zapíše + a za něj číslo i text, pokud je záporné, tak vypíše -. Pokud je 0, pak se nevypíše nic.
Příklad použití: {plus2:{$x};{$y};n}.
{minus2:kontrolní číslo;číslo;text} - Pokud je kontrolní číslo kladné, tak zapíše - a za něj číslo i text, pokud je záporné, tak vypíše +. Pokud je 0, pak se nevypíše nic.
Příklad použití: {minus2:{$x};{$y};n}.
{nn2:kontrolní číslo;číslo;text} - Pokud se kontrolní číslo nerovná nule, tak vypíše číslo i text. Pokud je nulové, nevypíše se nic.
Příklad použití: {nn2:{$x};{$y};n}.
{jn2:kontrolní číslo;číslo;text} - Pokud se kontrolní číslo rovná nule, tak vypíše číslo i text. Pokud není nulové, nevypíše se nic.
Příklad použití: {nn2:{$x};{$y};n}.
{nj2:kontrolní číslo;číslo;text} - Pokud se kontrolní číslo nerovná jedné, tak vypíše číslo i text. Pokud je jedna, nevypíše se nic.
Příklad použití: {nj2:{$x};{$y};n}.
{njn2:kontrolní číslo;číslo;text} - Pokud se kontrolní číslo nerovná nule ani jedné, tak vypíše číslo i text. Pokud se číslo rovná jedné, tak se vypíše jen text. Pokud je nulové, nevypíše se nic.
Příklad použití: {njn2:{$x};{$y};n}.
{serad:vyraz} - Seřadí předaný výraz od nejvyšších mocnin po nejnižší a vypíše jej.
Příklad použití: {serad:3+5n2+8n} = 5n2+8n+3
{zjednodus:vyraz} - Zjednoduší předaný výraz a vypíše jej.
Příklad použití: {zjednodus:6n2-5n2} = n2
{tabulka:pole} - Vykreslí předané pole jako tabulku.
Příklad použití: {tabulka:pole} Příklad použití2: {tabulka:data_grafu} - Jako pole poslouží také data grafu.
{fgraf:-10;10;-10;10;lin;[-1,0];1;1;500} - Zobrazí graf funkce. (Možné typy: lin,lom,exp)
Příklad použití: {fgraf:-10;-5;5;10;lin;[-1,0];1;1;300}
{graf:data_grafu,typ_grafu, šířka_grafu, výška_grafu, nápověda_povolena} - Vykreslí předaná data do grafu. (Možné typy: line, bar, radar, doughnut, pie, polar)
Příklad použití: {graf:data;polar;med;min;true} Příklad použití2: {graf:test;data;line;600;300}
Další obsah bude časem doplněn
Vzhledem k tomu, že jen tvorba dynamických úloh by zabrala možná tolik co celá tato nápověda, tak pravděpodobně natočím spíše video, kde vše bude mnohem názornější.
Časem zde přibude i další obsah popisující práci s poli, funkcemi a podmínkami. Ale vzhledem k tomu, že neočekávám, že by se v brzské době někdo pustil do tvoření vlastních komplikovaných úloh, tak na to budu reagovat až dle zájmu.