Odpovědi v úloze Krátká tvořená odpověď lze analyzovat buďto jednoduchým způsobem (který je šířeji popsán na stránce věnované Vytváření krátké tvořené odpovědi) anebo s využitím regulárních výrazů. Druhý způsob analýzy umožňuje pouze modul Přednáška, v Testu jej využít nelze. Jednoduchá analýzaVe výchozím nastavení se při kontrole odpovědi nerozlišují malá a velká písmena. V definici odpovědí je možno používat hvězdičku (*) jako zástupný znak. Nahrazuje libovolný počet znaků (nebo také žádný znak). Například výrazu "Long*" vyhoví odpovědi "longer", "longest" a "long". Jestliže jedna z definovaných odpovědí obsahuje pouze "*" (jednu *), vyhoví jí libovolný řetězec. Obvykle se tento výraz používá jako poslední definovaná odpověď, která zachytí všechny odpovědi studentů. Porovnávání odpovědí probíhá v tom pořadí, v jakém jsou zobrazeny na obrazovce. Jakmile je nalezena shoda, proces porovnávání skončí a vrátí odpovídající výsledek (a reakci, pokud je připojena). Jestliže jsou tedy například jako odpovědi definovány řetězce Longest, Long* a * (v tomto pořadí), vložená odpověď "longer" vyhoví druhé definované odpovědi; třetí definovaná odpověď se potom nebere v úvahu, i když by jí vložená odpověď rovněž vyhověla. Analýza pomocí regulárních výrazůTento systém pro analýzu odpovědí studentů je účinnější, ale také složitější. Úplný úvod do problematiky regulárních výrazů naleznete na stránkách rezeau.org. V češtině lze základní poučení nalézt např. na příslušné stránce Wikipedie, kde jsou uvedeny také další odkazy. Systém pro analýzu odpovědí s využitím regulárních výrazů aktivujete zaškrtnutím políčka "Požívat regulární výrazy" (nachází se pod oknem HTML editoru určeného pro vložení obsahu stránky s otázkou). Správná odpověď shodující se s vzorcem regulárního výrazuNení možné uvést zde všechny příklady širokých možností, které tento systém nabízí. Příklady zde uvedené jsou pouze ilustrační. Příklad 1. Dejme tomu, že otázka zní "Jaké barvy má francouzská vlajka?". Do rámečku pro odpověď 1 napíšete tento regulární výraz: "je modrá, bílá(,| a) červená/i". Tomuto výrazu vyhovují všechny čtyři následující odpovědi studentů:
Upozornění: Ve výchozím nastavení se u regulárních výrazů rozlišují velká a malá písmena; abyste dosáhli opaku, je třeba na konec regulárního výrazu přidat parametr /i. Příklad 2. Otázka: "What is blue, or red, or yellow?". Odpověď: "(|it's )a colou?r". Tomuto výrazu vyhovují odpovědi:
Poznámky: Úvodní části tohoto regulárního výrazu "(|it's )" vyhoví buď žádný znak, nebo řetězec "it's " (tj. "it's" a mezera). ? (otazník) znamená: počet výskytů předcházejícího znaku je 0 nebo 1; zde se zástupného znaku "?" používá ke kladnému vyhodnocení britského i amerického pravopisu. Příklad 3. Otázka: "Uveďte anglické jméno zvířete složené ze tří písmen, jestliže prostředním písmenem je samohláska a". Odpověď: "[bcr]at". Tomuto výrazu vyhoví odpovědi: bat, cat a rat. Zjišťování chybějících slov nebo řetězcůRegulární výrazy samy o sobě chybějící řetězce odhalit nemohou, a proto je třeba přidat do odpovědi jednoduchý kód, který se o to postará. Odpověď učitele, která začíná dvěma spojovníky, bude analyzovat odpověď studenta a zjišťovat, zda obsahuje následný řetězec či nikoli. Pokud řetězec je v odpovědi studenta obsažen, pokročí analýza k další otázce; pokud řetězec v odpovědi chybí, analýza se zastaví a zobrazí se odpovídající reakce. Příklad 4.
Tečka (".") zde zastupuje libovolný znak a hvězdička ("*") znamená, že předcházející speciální znak se může libovolně opakovat. Regulární výraz uvedený v Odpovědi 2 tedy znamená: zkontroluj, zda se v odpovědi studenta vyskytuje řetězec "modr", jemuž může předcházet a po něm následovat libovolná sekvence znaků. Všimněte si prosím, že použití hvězdičky v jednoduché analýze a v systému regulárních výrazů se od sebe liší. Příklad 5. Otázka: "Uveďte anglické jméno zvířete složené ze tří písmen, jestliže prostředním písmenem je samohláska a". Výraz v poli Odpověď: "--[b|c|r]". Reakce: "Vaše odpověď by měla začínat jedním z těchto písmen: b, c nebo r." Zjišťování nechtěných (nesprávných) slov nebo řetězcůChcete zjistit, zda odpověď studenta obsahuje jedno nebo více slov, která by neměla být v odpovědi obsažena (protože jsou špatně), a chcete jim vyčlenit určitou reakci. Prostě zadejte na začátku výrazu v poli Odpověď dvě znaménka plus (++). Příklad 6.
Jestliže je některá z uvedených barev nalezena v odpovědi studenta, zobrazí se negativní reakce (Reakce 3) a nesprávné řetězce se obarví červeně (nebo jinou barvou určenou pro výpis chyb, pokud je v kaskádových stylech aktuálně používaného motivu definována). Příklad 7. Otázka: "Uveďte anglické jméno zvířete složené ze tří písmen, jestliže prostředním písmenem je samohláska a". Výraz v poli Odpověď: "++hat". Reakce: "Možná máte kožešinovou čepici, ale tu není dost dobře možné považovat za zvíře." Úprava speciálních znakůPokud potřebujete v odpovědi použít znaky, které patří do souboru speciálních znaků používaných v regulárních výrazech, je třeba je zapsat tak, že před ně vložíte obrácené lomítko. Např. chcete-li uznat odpověď "Můj počítač stál 1000$" jako správnou, musíte zapsat regulární výraz takto: "Můj počítač stál 1000\$". Speciální znaky, které je nutno zapisovat tímto způsobem, jsou tyto: .^$*()[]+?| |
Testové úlohy > Krátká tvořená odpověď >