ICT PODPORA VÝUKY SIMULACÍ: MODEL ZÁSOB

Transkript

ICT PODPORA VÝUKY SIMULACÍ: MODEL ZÁSOB
THE APPLICATION OF INFORMATION TECHNOLOGY IN TUITION
OF PHYSICS
Josef MATĚJUS, Karol RADOCHA
Abstract: The article discusses the creation of software boundaries which can communicate by means
of provisional USB card with school measuring set Gamabeta. It is created with help of objective
orientation language Microsoft Visual C# and platform .NET. It offers more functions
and visualization of information in real time which helps clarity.
Key words: Electronic teaching aids, programming.
APLIKOVÁNÍ INFORMAČNÍCH TECHNOLOGIÍ VE VÝUCE FYZIKY
Resumé: Příspěvek pojednává o tvorbě softwarového rozhraní komunikujícího prostřednictvím
experimentální USB karty se školní měřicí soupravou Gamabeta. Aplikace je tvořena s využitím
moderního objektově orientovaného jazyka Microsoft Visual C# a platformy .NET. Po stránce
uživatelského rozhraní nabízí více funkcí a vizuální zprostředkování informací v reálném čase, které
napomáhá názornosti.
Klíčová slova: Elektronické učební pomůcky, programování.
1 Měřicí souprava Gamabeta
Od devadesátých let minulého století je
na mnohých středních i základních školách
v rámci výuky fyziky využívána souprava
Gamabeta. Jedná se o didaktickou pomůcku
pro měření a studium vlastností záření β a γ,
umožňuje demonstrovat způsoby ochrany
před působením ionizujícího záření. Obsahuje
detektor záření (Geiger-Müllerovu trubici, typ
SBM-20), zdroj záření, čítač elektrických
impulzů, stativ, absorpční destičky z různých
materiálů a další pomůcky pro realizování
různých experimentů a dobře zpracovaný návod
pro měření. Původním předpokladem je „ruční“
měření pouze prostřednictvím čítače impulzů.
Bezpečný zdroj záření je nízké aktivity, jeho
používání
je
schváleno
Ministerstvem
zdravotnictví ČR, Státním zdravotním ústavem
ČR a hlavním hygienikem. Je tvořen kovovým
pouzdrem s otočnou clonou, která umožňuje
výstup záření. Vlastním zdrojem záření β je
izotop 90Sr, zdrojem záření γ je 241Am, výstupu
záření α je uvnitř tělesa zamezeno ochrannou
fólií. Výhodou inovované soupravy s názvem
Gamabeta 2007 dle Halouska [2009] je možnost
zobrazení průběhu měření prostřednictvím
projektoru, případně uložení dat.
Souprava Gamabeta byla dodávána společně
se
softwarovým
rozhraním
Gabeset
kompatibilním pouze s operačním systémem MSDOS. Zařízení mohla být propojena jen
prostřednictvím standardního sériového rozhraní.
Počítače používané v současné době však tímto
rozhraním zpravidla nedisponují. Gamabeta 2007
je kompatibilní s novějšími operačními systémy,
zastaralý způsob komunikace prostřednictvím
rozhraní RS 232 byl nahrazen rozšířeným
rozhraním USB (Universal Serial Bus).
Komunikace
realizovaná
prostřednictvím
stavebnice experimentální USB karty K8055
belgické společnosti Velleman pak umožňuje
tvorbu vlastního uživatelského rozhraní, které
poskytuje více funkcí než pouhý čítač impulzů.
(Podrobné technické informace o této kartě lze
nalézt prostřednictvím internetových stránek
uvedeného výrobce.) Taková aplikace umožňuje
snadno monitorovat vlastní měření včetně
vyhodnocení jeho výsledků. Uživatel má zároveň
plnou kontrolu nad měřicím zařízením, které lze
kdykoliv během chodu operačního systému
připojit či odpojit. Pazdera [2008] popisuje
takovou vlastní aplikaci, která je kompatibilní
i s operačními systémy Windows 98SE, 2000,
Me a XP. Aplikaci lze dle autora programovat
s využitím jazyků Delphi, Visual Basic a C++
Builder.
2 Tvorba měřicí aplikace
Na Střední škole aplikované kybernetiky
v Hradci Králové je realizována výuka
programování také v prostředí Microsoft Visual
Studio. Zjistili jsme, že s podporou knihovny
K8055D.dll dodávané výrobcem experimentální
USB karty lze programovat komunikační
rozhraní i prostřednictvím objektového jazyka
Microsoft Visual C#, proto jsme se rozhodli jej
pro tvorbu měřicí aplikace využít.
Pro analýzu signálu je dle Šťastného [2009]
nezbytné, aby impulzy byly TTL úrovně. Proto
byl v rámci elektrotechnických cvičení společně
se studenty vytvořen dle obrázku 1 převodník
signálu. Experimentální USB karty lze dále
využít ve výuce programování, což napomáhá
upevňování
mezipředmětových
vztahů.
V obrázku 2 je zachycena fyzická podoba
uvedených zařízení včetně konektorů.
Obr 1: Převodník signálu [6]
Obr 2: USB karta a převodník signálu
Visual C# je v podstatě hybridním jazykem,
který je založen na syntaktických konstrukcích
jazyků C++, Java a Visual Basic. Výsledkem je
programovací jazyk, který je syntakticky
jednoduchý a flexibilní, např. nevyžaduje práci
s ukazateli a zajišťuje automatickou správu
paměti. Byl vyvinutý za účelem zjednodušení
procesu programování a realizování platformy
.NET. Tu lze zjednodušeně chápat jako tzv.
běhové prostředí a velmi obsáhlou knihovnu
základních tříd. Její popis lze nalézt např.
v literatuře [5, 7]. Koncepce .NET směřuje
k záměru budoucího zvýšení interakce mezi
operačními systémy a Internetem.
Objektově orientovaný program je přehledný
a lze jej snadno spravovat. První možností, kterou
jazyk C# pro strukturování aplikace nabízí, je
zapouzdření její funkčnosti do tříd. Třída (class)
je datový typ, který plní určitou konkrétní funkci,
třídy pak vzájemně spolupracují, tím vzniká
aplikace s rozšířenou funkčností. Třídy tvoří ještě
větší celky nazývané jmennými prostory, jejich
užití je v aplikaci deklarováno klíčovým slovem
using. Jmenný prostor (namespace) obsahuje
tematicky uspořádané třídy, může být uložen
i ve více datových souborech. V kódu aplikace
jsou uvedeným způsobem tvořeny vazby na více
jmenných prostorů. Deklarace třídy obsahuje
konstruktor, vlastnosti (proměnné a konstanty
třídy) a metody (funkce třídy). Konstruktor třídy
je speciální metodou pro inicializování jejich
vlastností a uvedení každé její instance
do počátečního stavu. Opakem konstruktoru třídy
je destruktor, který zajišťuje uvolnění každé její
instance z operační paměti. Vlastnosti a metody
bývají také někdy společně nazývány atributy
třídy. V některých programovacích jazycích
musejí být metody před vlastní implementací
ohlášeny prostřednictvím předřazené deklarace
v nějakém hlavičkovém prostoru či souboru.
Vlastnosti a metody třídy v jazyku C# nemusejí
být deklarovány odděleně, pořadí jejich deklarací
je nezávislé. Vlastnost třídy je definována
prostřednictvím datového typu a identifikátoru,
její chování a viditelnost mohou být případně
ovlivněny prostřednictvím modifikátorů, které
jsou součástí deklarace. Popis hodnotových
i odkazových datových typů lze nalézt např.
v literatuře [7] nebo na internetových stránkách
společnosti Microsoft.
Při volbě identifikátoru atributu třídy (i třídy
samotné) je nutné rozlišovat malé a velké znaky,
protože jazyk C# je tzv. case senzitivní.
Identifikátor musí být jednoznačný, dále by měl
být krátký, výstižný a smysluplný. Na rozdíl
od jiných programovacích jazyků není v jazyku
C# omezena délka identifikátoru. Identifikátor
může být i shodný s rezervovaným slovem,
pokud je na jeho počátek umístěn znak „@“
(např. @class). Součástí identifikátoru nemohou
být některé obslužné znaky (např. <, >, +, -, =, #,
$, %, &, *, ?) nebo mezery, identifikátor ani
nesmí začínat číslicí. V současné době jsou
používány
dvě
konvence
zápisu,
tzv.
PascalCasing a camelCasing.
Vlastnost třídy může být inicializována přímo
v její deklaraci nebo až uvnitř metody, musí však
být inicializována vždy před prvním použitím
metodou (musí být známa její hodnota). Pouze
v případě konstanty musí být přidělena její
hodnota již v rámci deklarace a následně ji
logicky již nelze měnit. V jazyku C# je třída
abstraktní formou, kterou nelze aplikovat přímo.
Pracovat lze pouze s objektem, který je tzv.
instancí třídy. Objekt je vytvořen prostřednictvím
klíčového slova new, kterým je volán konstruktor
třídy, kompilátor pak v operační paměti alokuje
prostor pro instanci dané třídy. Takový objekt
disponuje metodami deklarovanými ve své třídě,
ale je samostatný, jeho vlastnosti lze řídit
nezávisle na třídě.
Před datovým typem se mohou v deklaraci
nacházet již zmíněné modifikátory, které
ovlivňují chování a viditelnost atributů i tříd.
Modifikátory lze i kombinovat, nesmějí si však
vzájemně odporovat. Nikdy nelze aplikovat
hromadně jeden modifikátor pro deklaraci více
atributů. Modifikátor public zajistí, že atribut je
dostupný i vně příslušné třídy. Pokud je atribut
modifikovaný prostřednictvím private, lze
k němu přistupovat pouze uvnitř dané třídy. Tím
dochází ke skrytí implementačních detailů (např.
práce s datovými soubory), které uživatel
pro práci s daným objektem nepotřebuje.
Při absenci uvedených modifikátorů jsou třídy
veřejné a jejich atributy jsou soukromé. Každá
třída je tvořena oblastí statickou a oblastí
děděnou. Atribut modifikovaný prostřednictvím
static je součástí samotné třídy (její statické
oblasti) a pro jeho využití již není třeba vytvářet
její instanci. Modifikátor sealed zapečetí třídu
proti dalšímu odvozování jejich potomků.
Společně s modifikátory override a virtual
souvisí s dědičností a polymorfizmem. Hlavní
metoda programu musí být vždy modifikována
public static (void) Main(). Podrobný popis
uvedených i dalších modifikátorů lze nalézt
v literatuře [7] nebo na internetových stránkách
společnosti Microsoft.
Metody zajišťují funkčnost třídy, obsahují
různé příkazy, přiřazení hodnot vlastnostem,
volání jiných metod, deklarace, větvení a cykly.
Metody mohou prostřednictvím tzv. parametrů
získávat vstupní hodnoty nebo je naopak vracet
jako výsledek. Pokud metoda nevrací žádnou
výslednou hodnotu, např. pouze řídí vlastnosti,
musí se před jejím identifikátorem nacházet
klíčové slovo void. Vlastnost a jí přidělená
hodnota musejí vždy být shodného datového
typu, v opačném případě generuje kompilátor
chybu, proto je jazyk C# tzv. typově bezpečným.
Návratová metoda vrací výstupní hodnotu
prostřednictvím příkazu return, který provádí
přiřazení výstupní hodnoty a zároveň metodu
ukončí, má tedy dvě funkce. Datový typ výstupní
hodnoty metody musí být shodný s datovým
typem uvedeným v deklaraci metody. V případě
potřeby lze za různých podmínek vlastnosti
přetypovat nebo konvertovat. Vstupním bodem
celého programu je hlavní metoda Main(), která
může být beznávratová (void) nebo může vracet
výslednou hodnotu celočíselného typu (int).
Popis klíčových a rezervovaných slov se nachází
v literatuře [7] nebo na internetových stránkách
společnosti Microsoft.
Proměnné instancí jsou vlastnosti třídy, které
náležejí její děděné oblasti, jsou dostupné
až prostřednictvím instance dané třídy (objektu).
Statické proměnné jsou součástí definice třídy
a její statické oblasti, bývají také nazývány
proměnnými třídy nebo globálními proměnnými.
Při práci se statickým atributem v rámci více
instancí (objektů) téže třídy se vždy jedná
o přístup k identické vlastnosti či metodě jako
součásti dané třídy. Kód programu lze
strukturovat prostřednictvím složených závorek
do tzv. bloků. Proměnné lze deklarovat nejen
jako vlastnosti třídy, ale také jako součásti metod
či jejich bloků, pak jsou nazývány lokálními
proměnnými. Lokální proměnné jsou platné
pouze uvnitř bloku, po opuštění bloku
programem
jsou
automaticky
uvolněny
z operační paměti. Lokální proměnná může
případně disponovat identifikátorem shodným
s identifikátorem vlastnosti téže třídy, kompilátor
je bez problémů rozliší. Uvnitř metody či jejího
bloku lze přistupovat zároveň bez kolize k lokální
proměnné i k vlastnosti třídy se shodnými
identifikátory, přístup k vlastnosti třídy je
v takovém případě realizován prostřednictvím
odkazu rezervovaným slovem this. Hodnota
parametru předávaného metodě může být uvnitř
této libovolně zpracována, aniž by ovlivnila
hodnotu původní předávající proměnné, parametr
metody je v podstatě lokální proměnnou dané
metody. Prostřednictvím rezervovaného slova ref
lze definovat parametr metody jako odkaz
na proměnnou předávající hodnotu metodě,
jakákoliv změna parametru metody je pak
příčinou shodné změny původní proměnné.
Technika tzv. přetěžování metod umožňuje
deklarovat v rámci jedné třídy více metod se
shodným identifikátorem, které se mohou
odlišovat počtem, datovými typy a identifikátory
svých parametrů i svou funkcí.
K
základním
rysům
objektového
programování
dále
náleží
dědičnost
a polymorfizmus. Mechanizmus dědění je
realizován
odvozením
nové
třídy,
prostřednictvím dvojtečky a názvu původní třídy
v jejím identifikátoru. V platformě .NET byla
zavedena hlavní třída Object, která náleží
jmennému prostoru System. Od této jsou
postupně odvozovány všechny ostatní třídy.
Nová třída obsahuje (dědí) atributy původní
(základní) třídy. Od takové třídy mohou být
odvozeny další potomci, zároveň je však tato
oddělena od svých potomků i od svého předka.
Třída tedy může mít více potomků, ale pouze
jednoho předka, tj. základní třídu. Princip
polymorfizmu je opačný, instance odvozené třídy
může být aplikována i v základní třídě. Zděděnou
metodu odvozené třídy lze i přepsat či deklarovat
novou metodu se stejným identifikátorem, ale
s odlišnou funkcí. Pro možnost přepsání metody
odvozené třídy je nezbytné modifikovat
v deklaraci její identifikátor prostřednictvím
override. Přepsání metody však musí nejdříve být
povoleno v základní třídě prostřednictvím
modifikátoru virtual. V rámci odvozené třídy lze
kromě zděděné metody přistupovat i přímo k téže
metodě
třídy
základní
prostřednictvím
rezervovaného slova base.
3 Práce s programem a jeho uživatelské
rozhraní
V obrázku 3 je patrné, že okno aplikace
obsahuje čtyři panely (tzv. tabPages), které
reprezentují jednotlivé úlohy dle návodu
dodávaného společně se soupravou Gamabeta.
Jedná se o stanovení úrovně ionizujícího záření
v pozadí, důkaz statistické povahy děje
radioaktivní
přeměny,
stanovení
účinku
vzdalování detektoru od zdroje ionizujícího
záření a stanovení rozdílů v absorbování
ionizujícího záření různými materiály. Počet
měření a doba jejich trvání jsou přednastaveny,
lze je však dle potřeby bezprostředně měnit resp.
zvýšit, aby výsledky měření byly statisticky
významné. Každý panel obsahuje textové
instrukce pro realizování konkrétní úlohy včetně
popisu stěžejních ovládacích prvků a parametrů,
dále pak tabulku hodnot a histogram. Pole
měřených hodnot, tabulky i histogramy jsou
aktualizovány v reálném čase, reagují
odpovídajícím způsobem okamžitě s každým
načteným impulzem. Červený či zelený indikátor
signalizuje okamžitý stav připojení počítače
k měřicímu zařízení. Při selhání konektivity jsou
resetovány pouze parametry konkrétní probíhající
úlohy. Probíhající měření lze zastavit, opakovat
nebo resetovat jeho hodnoty. Mezi dílčími
úlohami (pokud aktuálně neprobíhá nějaké
měření) lze měřící zařízení během chodu
operačního systému libovolně odpojit či připojit.
Pokud student použije vlastní notebook, může jej
po realizovaném měření od zařízení odpojit
a pracovat s naměřenými hodnotami nezávisle
na měřicím zařízení. Dokončení dílčí úlohy je
signalizováno odpovídajícím indikátorem. Pokud
jsou všechna dílčí měření úspěšně dokončena, lze
je jako celek libovolně uložit do binárního
souboru včetně data a času realizování měření.
Pátý
panel
obsahuje
textová
pole
pro identifikování žáka, který měření provedl.
Prostřednictvím
instance
třídy
(objektu)
openFileDialog lze otevřít a načíst dříve uložené
měření. Pokud aplikace obsahuje hodnoty
načtené ze souboru, nikoliv aktuálně naměřené,
nelze editovat textové identifikační údaje v pátém
panelu, žák tedy nemůže hodnoty naměřené
někým jiným prezentovat jako vlastní. Hodnoty
měření
lze
prostřednictvím standardního
tiskového dialogu (třída printDialog) vytisknout
do sestavy navrhnuté v souladu s návodem, který
je součástí soupravy Gamabeta. S ohledem
na připomínky uživatelů připravujeme modifikaci
softwarové aplikace s možností editovat
combobox čtvrté úlohy, aby bylo možno měnit
počet i materiál destiček pro stínění měřeného
ionizujícího záření.
4 Závěr
Vytvořené
softwarové
rozhraní
je
kompatibilní s operačními systémy Windows XP,
Windows Vista a Windows 7. Umožňuje zobrazit
průběh měření v reálném čase včetně
vyhodnocení a uložení nebo vytisknutí jeho
výsledků, tím dochází k efektivnímu zrychlení
práce. Nápověda vlastní aplikace je vytvořena
i s využitím literatury [1, 3, 8, 9], obsahuje text
psaný formou srozumitelnou žákovi střední
školy.
Obr 3: Okno vytvořené měřicí aplikace
5 Literatura
[1] HÁLA, Jiří. Radioaktivita, ionizující záření,
jaderná energie. Brno: Konvoj, 1998. 311 s.
ISBN 80-85615-56-8.
[2] HALOUSEK, Jiří. Záření kolem nás [online].
1999 [cit. 2010-12-12]. Dostupný z WWW: <
http://www.zdravarodina.cz/zr/02_99/zr299_17.h
tm >.
[3] MAŠLÁŇ, Miroslav; MACHALA, Libor;
TUČEK; Jiří. Praktikum z atomové a jaderné
fyziky [online]. 2005 [cit. 2010-12-18]. Dostupný
z WWW: < http://apfyz.upol.cz/ucebnice/down/
jaderka.pdf >.
[4] PAZDERA, Václav. USB Interface KV8055
a jeho použití ve fyzice. Matematika - fyzika informatika, 2007/2008, č. 17, s. 596-602. ISSN
1210-1761.
[5] SHARP, John. Microsoft Visual C# 2005 krok
za krokem. Brno: Computer Press, 2006. 528 s.
ISBN 80-251-1156-3.
[6] ŠŤASTNÝ, František; ONDRÁČEK,
Zdeněk. Možnosti demonstrace vlastností
ionizujícího záření [online]. 2009 [cit. 2010-1205]. Dostupný z WWW: < http://sf.zcu.cz/
rocnik04/ cislo03/cislo3.967/w_zadem.html >.
[7] TROELSEN, Andrew. C# a .NET 2.0
profesionálně. Brno: Zoner Press, 2006. 1197 s.
ISBN 80-86815-42-0.
[8] ULLMANN, Vojtěch. Detekce a spektrometrie ionizujícího záření [online]. 2006 [cit.
2011-01-03].
Dostupný
z
WWW:
<http://astronuklfyzika.sweb.cz/DetekceSpektro
metrie.htm >.
[9] ULLMANN, Vojtěch. Jaderná a radiační
fyzika [online]. 2006 [cit. 2011-01-03]. Dostupný
z WWW:<http://astronuklfyzika.sweb.cz/JadRad
Fyzika. htm >.
Mgr. Josef Matějus
Univerzita Hradec Králové
Pedagogická fakulta
Katedra informatiky
Rokitanského 62
500 03 Hradec Králové, ČR
Tel: +420 493 331 171
E-mail: [email protected]
Www pracoviště: www.uhk.cz
Ing. Karol Radocha, Ph.D.
Univerzita Hradec Králové
Přírodovědecká fakulta
Katedra fyziky
Rokitanského 62
500 03 Hradec Králové, ČR
Tel: +420 493 331 120
E-mail: [email protected]
Www pracoviště: www.uhk.cz

Podobné dokumenty

Dialogy

Dialogy o AcceptButton – přiřadit referenci na tlačítko OK o CancelButton – na Cancel public NastavDataDialog()

Více

1. část - FyzWeb

1. část - FyzWeb krás vědy zvané fyzika a výhod, které nabízí měření fyzikálních veličin pomocí měřících systémů ve spojení s PC. Jaké jsou výhody měření fyzikálních veličin se systémem Vernier (nebo jiných)?

Více

sborník seminárních materiálů

sborník seminárních materiálů a vlnění obecným východiskem. Z učiva elektřiny byly také vyčleněny poznatky z atomové a jaderné fyziky do samostatného tématu, což odráželo pozornost, která byla od 50. let 20. století upřena k te...

Více

Uživatelský návod pro GSM zásuvku GSM-SCK1

Uživatelský návod pro GSM zásuvku GSM-SCK1 Před použitím výrobku si prosím pozorně přečtěte celý návod. Výrobek „GSM ZÁSUVKA“ (obj. kód GSM-SCK1) byl prověřen akreditovanou zkušebnou a je na něj vydáno Prohlášení o shodě. Protože se jedná o...

Více

1-05 Brodska - Zanetlive markery

1-05 Brodska - Zanetlive markery • CRP - elevace po 6 hodinách-maximum 48 hodin, pokles do 7 dní • nárůst i při lehčím průběhu, při zhoršení stavu (MODS) už výrazněji nestoupá na rozdíl od PCT. • PCT vzestup po 3-4 hodinách, maxim...

Více

zde - Prevedig

zde - Prevedig a rychlejšímu úbytku kognitivních funkcí. Vitamin D jako jeden z liposolubilních vitaminů byl dosud v klinické praxi vázán na dětský věk a vývoj skeletu. V posledních letech však přicházejí četné n...

Více

Upravená učebnice C a C++

Upravená učebnice C a C++ před našimi závorkami - main() - si také vysvětlíme v některém pozdějším díle (pro dnešek se budete muset smířit s tím, že pracujme jen a jen s částí mezi složenými závorkami a sem tam nějakým tím ...

Více

3. Datové typy

3. Datové typy jednotlivých datových atributů je poté dostupný přes tuto referenci. U primitivních datových typů se do identifikátoru neukládá odkaz, ale přímo hodnota. Zjednodušeně je to znázorněno na obrázku 3....

Více