VÝUKOVÝ MATERIÁL

Transkript

VÝUKOVÝ MATERIÁL
VÝUKOVÝ MATERIÁL
Identifikační údaje školy
Číslo projektu
Název projektu
Číslo a název šablony
Autor
Tematická oblast
Číslo a název materiálu
Anotace
Vytvořeno
Určeno pro
Přílohy
Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace
Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874
www.vosassvdf.cz, tel. +420412372632
CZ.1.07/1.5.00/34.1076
Pro vzdělanější Šluknovsko
32 – Inovace a zkvalitnění výuky prostřednictvím ICT
0207 Mgr. Bc. Jan Škoda
Programování
VY_32_INOVACE_0207_0301
Visual C# - základní pojmy
Žák si upevní učivo o základech programování v programovacím jazyce
Visual C#.
23. 7. 2013
3. ročník oboru Informační technologie
Bez příloh
Metodický list
• Učitel:
• Výklad s projekcí elektronického učebního materiálu.
• Ukázka obecného postupu činností.
• Monitorování činnosti žáků.
• Žák:
• Sleduje výkladovou projekci a demonstraci učitele.
• Procvičuje.
Visual C#
Základní pojmy
C#
• C# je objektově orientovaný, imperativní programovací jazyk
od firmy Microsoft.
• Imperativní – příkazy jsou vykonávány za sebou.
•
•
•
•
Využívá .NET Framework.
Nepřímo vychází syntaxí z jazyka C.
V C# se za příkazy dává středník.
V C# záleží na velikosti písmen v názvech.
Základní pojmy
• Algoritmus – řešení problému v několika krocích.
• Syntaxe – způsob zápisu elementů a struktur konkrétního
programovacího jazyka.
• Implementace – provedení, realizace funkcionality konkrétním
kódem.
• Projekt, plán, úkol – v terminologii MSVS je to soubor
obsahující zdrojový seznam všech souborů a pomocných dat
(konfigurace projektu atd.), patřících do jednoho
přeložitelného celku.
• Řešení – v terminologii MSVS je to soubor obsahující zdrojový
seznam projektů a pomocných dat (konfigurace řešení atd.),
které spolu souvisí a společně se překládají.
• Překlad – proces překladu nebo výsledek procesu překladu.
Základní pojmy
• Sestavení – jeden celistvý kus kódu samostatně přeložitelný
jako aplikace nebo knihovna.
• Zdroje – data programu specifických vlastností (texty,
obrázky), která jsou zpravidla umístěna a modifikovatelná
samostatně. Nebo také prostředky operačního systému
(paměť, místo na disku, vyhrazený čas procesoru a podobně).
• Garbage collector – automatický odstraňovač dynamicky
alokovaného prostoru dále již nepoužívaných objektů.
• Registr – paměť o malé velikosti sloužící k uchovávání malého
množství informací (jednoho čísla, znaku a podobně).
• Identifikátor – slovní označení proměnné, vlastnosti, typu
nebo metody v programu.
• Výjimka – objekt obsahující informace o výjimečné situaci v
programu způsobené obvykle chybou.
Základní pojmy
• Varování – hlášení překladače, že v programu je něco
nesprávně, ale tato chyba nezpůsobuje nefunkčnost programu
a lze jej i tak přeložit a použít.
• Krokování – proces spouštění jednotlivých kroků programu
zpravidla za účelem kontroly funkčnosti a odstraňování chyb a
skrytých problémů.
• Debugger – program pro odstraňování chyb (pomáhá s
procesem odstraňování chyb a skrytých problémů v programu
pomocí krokování, trasování, vkládání break-pointů a
podobně.
• Bod přerušení – místo, kam byla uměle vložena instrukce
přerušení běhu programu za účelem kontroly činnosti
programu.
Třídy a objekty
• Objekt – data (vlastnosti) a kód (metody) sdružená pospolu do
paměťové struktury za účelem lepšího uspořádání logické struktury
programu.
• Třída (class) – nehmatatelný formální popis objektu, jeho vlastností
a metod.
• Instance – hmatatelná okamžitá podoba objektu vytvořeného v
paměti na základě jeho popisu třídou.
• Metoda – funkce nebo procedura patřící k objektu.
• Konstruktor – metoda sloužící k vytvoření instance objektu.
• Destruktor – metoda sloužící ke zrušení instance objektu.
• Vlastnost (property) – přístup k datům objektu skrze accessor.
• Accessor – metoda umožňující přístup k datům vlastnosti objektu.
• Field – pole ve smyslu proměnná držící v objektu data vlastnosti,
nepřístupná zpravidla vně objektu jinak než přes accessor.
.NET Framework
VB
C++
C#
JScript
J#
ASP.NET
Web Forms Web Services
Windows Forms
ADO.NET a XML
Base Class Library
Common Language Runtime
Visual Studio.NET
Common Language Specification (CLS)
Operační systém
Zdroj: BĚHÁLEK, Marek. Programovací jazyk C# [online]. 2007, s. 11. [cit. 2013-07-23]. Dostupné z: http://www.cs.vsb.cz/behalek/vyuka/pcsharp/text.pdf.
.NET Framework
• Na nejnižší úrovni se nachází CLR- Common Language Runtime
realizující základní infrastrukturu, nad kterou je framework
vybudován.
• Nad CLR se nachází několik hierarchicky umístěných knihoven.
• Ty jsou rozděleny do jmenných prostorů.
• Základem je knihovna nazvaná Base Class Libary.
• Nad ní je knihovna pro přístup k datům a práci s XML soubory.
• Poslední vrstvou je sada knihoven usnadňující práci s
uživatelským rozhraním.
• Je rozdělena do dvou skupin:
• pro usnadnění vytváření webových aplikací a
• pro vytváření klasických aplikací.
.NET Framework
• Poslední vrstvu tvoří nelimitovaná množina programovacích jazyků.
• Jejich základní vlastnosti definuje CLS – Common Language
Specification.
• V současné době jsou firmou Microsoft podporovány čtyři jazyky
Visual Basic, C++, C# a Jscript.
• Tato množina ale není uzavřena a jakýkoliv výrobce ji může rozšířit.
Common Language Runtime
• V prostředí .NET jsou zdrojové soubory libovolného
programovacího jazyka zkompilovány do intermediárního
jazyka (nazvaného MSIL – Microsoft Intermediate Language).
• V případě, že má být taková aplikace spuštěna, systém
detekuje, že jde o aplikaci v MSIL a spustí Just-In-Time
kompilátor.
• Ten vygeneruje skutečné instrukce cílové platformy.
CLR – kompilace a spuštění
Zdrojový
kód
Kompilace
do jazyka
MSIL
EXE nebo DDL
(MSIL)
Nativní
R
kód
Just-In-Time
kompilace
Runtime prostředí
Běh
aplikace
Knihovny
tříd
Zdroj: BĚHÁLEK, Marek. Programovací jazyk C# [online]. 2007, s. 12. [cit. 2013-07-23]. Dostupné z: http://www.cs.vsb.cz/behalek/vyuka/pcsharp/text.pdf.
MSIL
• Spustíme-li aplikaci o jejíž provádění se stará CLR, hovoříme o
řízeném kódu.
• Pokud je spuštěna aplikace která není napsaná pro prostředí
.NET, nebo se výhod řízeného kódu explicitně zřekneme, je
kód neřízený.
• Ne všechny jazyky umí generovat řízený kód.
• Příkladem jazyka s absolutní volností je jazyk C++.
MSIL
• Výsledkem kompilátoru jazyka schopného generovat řízený
kód je MSIL - MicroSoft Intermediate Language.
• MSIL je procesorově nezávislý jazyk podobný assembleru.
• Oproti asembleru je však mnohem vyspělejší.
• Umí pracovat s objekty, volat virtuální metody, pracovat s
prvky pole nebo zpracovávat výjimky.
• Důvodem pro zavedení tohoto jazyka je snaha o jednoduché
přenášení existujícího kódu mezi různými platformami.
• V současné době neexistuje procesor, na kterém by šlo
provádět instrukce MSIL, proto CLR před vlastním spuštěním
kompiluje (pomocí JIT kompilátoru) MSIL instrukce do
nativního kódu na dané, konkrétní platformě.
• Hlavní výhodou použití intermediárního jazyka je platformní
nezávislost.
JIT kompilátor
Obecně se používají se tři druhy JIT kompilátorů:
1. Provádějící překlad v době instalace – pak se již podstatě
nejedná o JIT kompilátor.
• Výhodou je odstranění zpoždění, které samotný překlad
způsobuje.
2. Skutečný JIT překladač – před samotným spuštěním je
aplikace přeložena do nativního kódu dané platformy.
• Výsledek je srovnatelný s produktem konvenčního překladače.
• Nevýhodou je zpoždění při zavádění aplikace do operační paměti
a zpomalení započatí jejího vykonávání.
3. Ekonomický JIT překladač – provádí partikulární překlad
programu.
• Jsou překládány jen ty části, které jsou zrovna potřeba.
• Hlavní výhodou jsou menší paměťové nároky.
Assembly
• Velký problém je nasazování aplikací.
• Řešením tohoto problému v prostředí .NET je Assembly.
• Důvody:
• Aplikace musí být samostatné – snadná instalace nebo
reinstalace.
• Aplikace musí obsahovat čísla verzí a musí být na ně vázána.
• Musí umožňovat izolaci aplikace – aplikace nesmí být náchylná k
poruchám způsobených změnami provedenými na počítači.
• Assembly je kolekcí, stávající se z jednoho nebo více .exe, .dll
nebo .module souboru a zdrojů doplněných o manifest.
Manifest
• Manifest je blok metadat obsahující tyto informace:
•
•
•
•
•
Identita – jméno, verze a kultura.
Seznam souborů + kryptografické zabezpečení.
Odkaz na další použité assembly + jejich verze.
Exportované (veřejně viditelné) typy a zdroje.
Bezpečnostní požadavky.
Zdroje
• BĚHÁLEK, Marek. Programovací jazyk C# [online]. 2007, 134 s. [cit. 2013-07-23].
Dostupné z: http://www.cs.vsb.cz/behalek/vyuka/pcsharp/text.pdf.
• PEŇAŠKA, Jaroslav. Malý úvod do programování v .NET C# [online]. 2006, 64 s.
Dostupné z: http://physics.ujep.cz/~jkrejci/vyuka/prg2/MalyUvodDoCsharp.pdf.
• Projekty SIPVZ Gymnázia Olomouc-Hejčín 2005/2006. KOVÁŘ, Dušan.
Programování se zaměřením na .NET a jazyk C#: Programovací jazyk C# [online].
2006 [cit. 2013-07-23]. Dostupné z: http://projektysipvz.gytool.cz/
ProjektySIPVZ/Default.aspx?uid=3.
• PUŠ, Petr. Poznáváme C# a Microsoft .NET. In: O počítačích, IT a internetu Živě.cz [online]. 2004 [cit. 2013-07-23]. Dostupné z: http://possitive.wz.cz/
files/Poznavame_CSharp.pdf.
• ŠÍMA, František a David VILÍMEK. Microsoft Visual Studio .NET: praktické
programování krok za krokem. 1. vyd. Praha: Grada, 2006, 254 s. Průvodce
(Grada). ISBN 80-247-1418-3.
• VIRIUS, Miroslav. C# pro zelenáče. Praha: Neocortex, 2002, 255 s. ISBN 80-8633011-7.
• VIRIUS, Miroslav. Programování pro .NET. Praha: ČVUT, 2011, 260 s. ISBN 978-8001-04866-4.