VÝUKOVÝ MATERIÁL Identifikační údaje školy 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 Číslo projektu CZ.1.07/1.5.00/34.1076 Název projektu Pro vzdělanější Šluknovsko Číslo a název šablony 32 Inovace a zkvalitnění výuky prostřednictvím ICT Autor 0207 Mgr. Bc. Jan Škoda Tematická oblast Programování Číslo a název materiálu VY_32_INOVACE_0207_0301 Visual C# - základní pojmy Anotace Žák si upevní učivo o základech programování v programovacím jazyce Visual C#. Vytvořeno 23. 7. 2013 Určeno pro 3. ročník oboru Informační technologie Přílohy 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# Common Language Specification (CLS) ASP.NET Web Forms Web Services ADO.NET a XML Base Class Library Common Language Runtime Operační systém Windows Forms Visual Studio.NET 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) Runtime prostředí Běh aplikace Nativní R kód Just-In-Time kompilace 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-863- 3011-7. VIRIUS, Miroslav. Programování pro.net. Praha: ČVUT, 2011, 260 s. ISBN 978-80- 01-04866-4.