T E S T E D I T
*************** Pro SORD upravil Ing. Zdeněk Zvědělík
Břeclav sídl. Lidových milicí 45 Program TESTEDIT je pomůcka pro vytváření databází vlastních
testů. Editor je graficky orientován, uživatel maluje a popisuje
obrázek a databáze se vytváří sama. Pomocí vestavěného monitoru
může zasvěcený uživatel pracovat na úrovni přímých instrukcí
databáze. Toto není nutné, ale někdy to může být užitečné.
Základní principy tvorby testu
============================== Každý test je tvořen jedním statickým obrázkem a sadou
obrázků dynamických které se postupně kreslí přes obrázek
statický. Dynamický obrázek přitom vždy odpovídá jedné otázce
testu. Při přechodu od aktuální otázky na následující se
poslední dynamický obrázek smaže (při zachování statického) a
vykreslí se obrázek nové otázky přes statický podklad.
Součástí každé otázky testu je vlastní otázka (slovní nebo
grafická, jako např. zobrazení polohy města), několik nabízených
odpovědí a správná odpověď. Vlastní otázka je vždy zachycena v
dynamickém obrázku (tedy napsána nebo nakreslena).
Způsob nabízení odpovědí je dvojí. Při pevných odpovědích
jsou tyto odpovědi součástí příslušného statického obrázku a
jsou do něj přímo vepsány. Každá otázka pak zde má vždy stejné
nabízené odpovědi. Při náhodných odpovědích nejsou odpovědi
součástí obrázku a teprve v režimu zkoušení se generují a
doplňují z dynamických do statického obrázku. V tomto případě má
stejná otázka při několika výskytech jiné nabízené odpovědi
(jsou generovány z množiny všech možných odpovědí v bázi dat).
Prostor nabízených odpovědí musí být na stínítku přesně vymezen,
protože před texty jednotlivých odpovědí se pohybuje výběrový
kurzor a v případě režimu náhodných odpovědí se prostor také
musí mazat. Oblast je určena levým horním rohem, počtem
nabízených odpovědí a maximální délkou odpovědi ve znacích.
Správná odpověď otázky testu zde figuruje jako název
dynamického obrázku. Prostor pro vypsání správné odpovědi musí
být opět přesně určen, a to levým rohem (odpověď je jen jedna a
maximální délka je známa).
Statický obrázek tvoří neměnný podklad všech otázek. Musí
respektovat oblasti pro nabízené odpovědi a pro zobrazení
správné odpovědi. Navíc musí mít vymezenou oblast pro
zobrazování průběžného hodnocení účastníků. V této oblasti se v
režimu zkoušení vypisují jména zkoušených a jejich aktuální
hodnocení. Oblast je stanovena udáním levého horního rohu a
počtem účastníků. Její délka je vždy 26 znaků. Na první pozici
se pohybuje kurzor výzvy, na druhé pozici začíná jméno a na
třinácté pozici je začátek oblasti hodnocení.
Statický obrázek i obrázky dynamické mohou využívat grafiky,
textů a barev. Barvy užité v dynamickém obrázku by měly
respektovat barvy statického obrázku v místech, do nichž se
dynamický obrázek zobrazí. Nabízené odpovědi a správná odpověď
se vypisují naposled určenou barvou v předcházejícím dynamickém
obrázku. Jména účastníků, jejich hodnocení a čas na odpověď jsou
v barvě určené naposled ve statickém obrázku.
Další parametry databáze jsou: doba čekání na odpověď (musí
zahrnovat nejen čas na přemýšlení, ale i dobu k manipulaci s
výběrovým kurzorem) a mez špatného hodnocení. Tato mez je
úspěšnost odpovědí účastníka, která již nevyhovuje požadavkům
(slovní hodnocení ŠPATNĚ). Mez se určuje v procentech. Nejvyšší
hodnocení SKVĚLE je pak pouze pro 100% úspěšnost. Interval mezi
SKVĚLE a ŠPATNĚ je rozdělen na dva stejné podintervaly, které
jsou značeny VÝBORNĚ a DOBŘE.
Hlavní menu programu TESTEDIT
============================= Po nahrání a spuštění programu se dostáváme do hlavního menu.
Jsou zde příkazy pro nahrání databáze do počítače ("l"-load),
uchování databáze vytvořené editorem ("s"-save) a ověření
nahrávky databáze ("v"-verify). Jako vnější paměť slouží
magnetofon. Další příkaz "n" umožňuje vybudovat novou databázi. Při jeho
užití jsme dotázáni na barvu papíru a inkoustu, druh odpovědí
(pevné nebo náhodné), umístění nabídky odpovědí, jejich délku a
počet, pozici správné odpovědi a hodnocení, počet účastníků,
dobu čekání na odpověď a mez špatného hodnocení. Pak program
vstoupí do grafického editoru (v obrázku označí pozice
rezervované pro odpovědi a hodnocení), který je popsán v
samostatné kapitole.
Příkazem pro doplnění databáze "d" (doplň) můžeme k bázi dat
nahrané pomocí load "l" přidávat další obrázky, a to buď na
konec nahrané databáze, nebo z nahrané databáze zachovat jen
statický obrázek (který je možno ještě doplnit) a přidávat nové
dynamické obrázky za něj. Druhá varianta je výhodná pro využití
stejných základů statických obrázků pro více databází (např.
obrys ČSSR pro databáze měst, řek a pohoří). Způsob plnění
datové báze se určuje v menu, které se objeví po užití příkazu
"d" hlavního menu.
Dále máme k dispozici příkaz na prohlížení hotových obrázků
("p"-prohlížení). Při jeho užití se nás program zeptá, zda má
napřed zobrazit statický obrázek. Pak se požadované obrázky
zadávají svým pořadovým číslem, přičemž 1 odpovídá statickému
obrázku. Maximální dovolené číslo obrázku je 80, protože čísla
81 až 100 jsou rezervována pro segmenty (1 až 20). Příkazem volání monitoru "m" (monitor) vyvoláme zvláštní
program, který umožní pracovat s databází na úrovni jejich kódů.
Monitor bude popsán ve vlastní kapitole.
Příkazem "k" (konec) se práce TESTEDITu ukončí. Program si
naše rozhodnutí nechá napřed schválit (ukončením se sice
nesmaže, ale databanka je ztracena).
Pod nabídkou příkazů hlavního menu se zobrazují základní
informace o aktuální databázi. Je to počet obrázků, délka a
zbývající volný prostor. Zápis "30+1/2800 zbývá 1200" znamená,
že databáze má 30 dynamických a jeden statický obrázek, zabírá
2800 jednotek paměťového prostoru a zbývá ještě 1200 volných
míst pro další rozšiřování.
Grafický editor
=============== Grafický editor umožňuje uživateli kreslit obrázek a
automaticky vytvářet bázi dat. Do grafického editoru se
dostáváme po užití příkazu "n" nebo "d" z hlavního menu. Seznam
příkazů editoru a způsob jejich volání obdržíme po stisku
klávesy "N" (nápověda) v režimu graf. editoru. Editor může
pracovat v módu grafickém (jemná grafika 176 x 256 bodů) nebo v
módu textovém (22 řádků o 32 znacích). Při vstupu do editoru
jsme v režimu grafickém a do textového se můžeme dostat stiskem
"t" (text). V textovém módu můžeme užívat kurzory a zapisovat
znaky. Zpět do grafického způsobu práce se dostaneme klávesou
RETURN. V grafickém režimu můžeme pohybovat grafickým kurzorem
buď pomalu šipkami nebo rychle CTRL+šipka. Polohu grafického
kurzoru můžeme také zadat hodnotově příkazem "h" (hodnoty),
který se dotáže na souřadnice x a y.
Bod vyneseme klávesou "o". Kurzor spojíme s naposled
vyneseným bodem úsečkou stiskem klávesy RETURN. Dále mámee
možnost nastavení barvy papíru "p" a inkoustu "i". Pokud by byl
na nastavené barvě papíru špatně vidět popis databáze a kurzory,
je možné přepnout barvu popisů klávesou "," (černá/bílá).
Obrazovka se maže příkazem "v" (výmaz). Dalším příkazem je
zvukový signál "z" (zvuk) a blikání doposud nakresleného obrázku
"b". Pokud se při kreslení dopustíme chyby, můžeme poslední
příkaz (nebo sérii příkazů) vymazat klávesou SPACE (při mazání
se vypíše název rušeného příkazu a jeho parametry).
Editor umožňuje definovat až 20 tzv. segmentů obrazu (značení
číslem 1 až 20). Segmenty jsou vhodné pro opakující se části
dynamických obrázků. Např. pokud máme tojúhelník nadefinovaný
jako segment, můžeme v dynamických obrázcích testu dopravních
značek volat tento segment pokaždé, když se má kreslit
trojúhelníková značka. Nemusíme tedy trojúhelník stále znovu
kreslit. Pro programátory je tedy zřejmé chápání segmentu jako
podprogramu. Segmenty mohou výrazně šetřit paměť. Segment
definujeme tak, že na dotaz "Název obr. č...." odpovíme znakem
"*". Jsme dotázáni na číslo segmentu a poté převedeni do
grafického editoru. Definici ukončíme stejně, jako by šlo o
dynamický obrázek, tedy "k". Segmenty můžeme definovat kdykoli v
průběhu tvorby datové báze. V definici segmentů nesmíme ovšem
užívat volání jiného segmentu! Nadefinované segmenty se v
grafickém editoru volají příkazem "s" (segment) a pak číslem
segmentu. Abychom segmentem mohli nadefinovat obrazec, který
bychom při volání mohli umísťovat v různých polohách na
stínítku, disponuje editor příkazem "r"pro relativní spoj dvou
bodů. Tak třeba v segmentu nadefinujeme čtverec užitím čtyř
příkazů "r" (bez vynesení bodu na začátku). Když potom v rámci
některého obrázku vyneseme bod a zavoláme tento segment,
vykreslí se nám čtverec v poloze určené vynesenýM bodem. Je zde
třeba jisté opatrnosti, abychom například nevynesli bod do rohu
a část segmentu by se pak vykreslila mimo obrazovku. Příkaz
relativního spoje "r" má oproti absolutnímu spoji RETURN ještě
jedno omezení, protože maximální délka spoje smí být 127 bodů a
delší úsečky je třeba vytvořit nadstavením. Režim grafického
editoru se ukončí stiskem "k".
Vnitřní stavba databáze
======================= Pro běžný návrh databází testů vystačíme s dosud poskytnutými
informacemi. Pro některé rafinovanější vlastnosti bází nebo
složitější opravy a úpravy však může být vhodné vědět něco její
struktuře. Tyto znalosti jsou také nezbytné pro práci monitorem.
Databáze je tvořena přístupovým vektorem P(), hlavním
informačním vektorem B() a třinácti pomocnými proměnnými.
Obrázky jsou v databázi rozloženy do sérií operací. Jsou tedy
vlastně popsány jakýmsi programem ve zvláštním jazyce, jehož
příkazy jsou popsány dále v tab.1.
Operace s parametry jsou uloženy ve vektoru B(). Začátky
jednotlivých obrázků v B() jsou označeny odkazy uloženými v
přístupovém vektoru P(), jehož index představuje číslo obrázku
(tj. když P(3)=2086, tak obr. 3 začíná v B() od buňky s indexem
2086). Délka sekvence příslušející obrázku je dána obsahem buňky
pod ukazatelem začátku a buňky v B() následující (256 * první
buňka + druhá buňka). Pomocné proměnné obsahují informace o
délce odpovědi, umístění polí zpráv na obrazovce, době na
odpověď a limitu hodnocení. Tyto proměnné jsou nepřístupné.
Použití MONITORU
================ Monitor slouží pro přímé prohlížení a modifikaci báze dat.
Odkazy přístupového vektoru vypíšeme příkazem "p", číselný výpis
databáze získáme příkazem "c" (číselný) a slovní výpis operací s
parametry příkazem "o" (operace). Číselný obsah můžeme změnit
voláním příkazu změny "z". V tomto režimu můžeme psát čísla,
která přepíší původní obsah nebo stiskneme jen RETURN a obsah
buňky se nezmění. Ukončení režimu se děje zápisem znaku "k"
(konec). Abychom poznali, které části obrázku přísluší určitá
operace nebo naopak, můžeme použít režimu trasování kresby
(příkaz "t"). V režimu trasování krokujeme klávesou "s" nebo
klávesou "t" můžeme provádět krokování zároveň s výpisem právě
prováděné operace. Trasování můžeme přerušit podržením klávesy
"RETURN". Před vyvoláním těchto operací je možné taktéž změnit
barvu popisů příkazem ",". Monitor opouštíme stiskem "k" (konec)
a tím se vrátíme do hlavního menu.
Tabulka příkazů databáze
======================== Příkazy:
Kód: Parametry: Význam:
----------------------------------------------------
0 délka,název načtení názvu dynamického obrázku
1 x,y vynesení bodu se souřadnicemi x,y
2 x,y spojení posledního bodu s x,y
3 řádek,sloup. nastavení textového kurzoru
4 délka,znaky.. vypsání řetězce znaků
5 barva nastavení barvy inkoustu
6 barva nastavení barvy papíru
7 výmaz obrazovky
8 zvukový signál
9 dx,dy spoj posledního bodu s x+dx,y+dy
10 číslo segm. vyvolání segmentu
11 barva nastavení barvy okraje - ignoruje
12 počet blikání dosud nakreslené části
13 číslo načtení čísla pozice správné odpov. Toť vše!
Příjemnou práci s TESTEDITem přeje
Zdeněk