Platforma.NET 4. hodina dnes to bude ideologické

Save this PDF as:
 WORD  PNG  TXT  JPG

Rozměr: px
Začít zobrazení ze stránky:

Download "Platforma.NET 4. hodina dnes to bude ideologické"

Transkript

1 Platforma.NET 4. hodina dnes to bude ideologické Aleš Keprt říjen 2006

2 Doporučená literatura 1. Duffy J. Professional.NET Framework 2.0. Wrox Press, Wikipedia.NET Framework

3 Historie Win32 API (Windows NT 1993) Java Visual Basic.NET Framework (Visual Studio.NET 2002) Programovací platforma vládne max 10 let. C ( a předtím Pascal) C# Nutno chápat jako přibližný odhad

4 Nejstručnější vysvětlení.netu Dotnet je něco jako Java. Základy platformy jsou stejné jako u Javy Je to od Microsoftu Umožňuje to různé programovací jazyky Je to jen (nebo hlavně) pro Windows

5 Co.NET řeší Programování přímo pro Win32 API je složité C a C++ jsou již zastaralé nízkoúrovňové jazyky Např. Visual Basic nebo Delphi jsou modernější Nový trend: www stránky nikdo nedělá v C++ Win32 API potřebuje i COM to je také složité Doba pokročila, počítače jsou rychlejší Můžeme nechat víc práce na počítač a méně práce na programátory použijeme vyšší programovací jazyky Objektově orientované paradigma vládne světu Windows ani Unix/Linux nejsou objet.orientované Složitost op.systémů si žádá objektové nadstavby

6 Programovací jazyky v.netu Proč používáme nejvíc C#: Je to jediný jazyk přímo vyvinutý pro.net Další jazyky: C++/CLI Teprve od roku 2005, vhodné pro staré aplikace Umožňuje nízkoúrovňové a nativní programování Visual Basic 7,8,9 Z Basicu 6 zbyl jen název... J# = Java pro.net Asi nejpodobnější původnímu jazyku Podporována jen hodně stará verzi knihovny JDK

7 Dva praktické body 1. GUI V C++ rozumně nedají dělat GUI aplikace Jde to, ale je to tak pracné, že to trvá roky Je potřeba objektové rozhraní jednodušší a tedy rychlejší tvorba GUI Navíc Win32 API a GDI umí jen základní grafiku.net umí mnohem víc, i 3D grafiku v oknech 2. Web Většina programů jsou dnes webové stránky Hodně se používají relační databáze Převládají skriptovací jazyky Jen máloco je horší než C++ pro www stránky

8 Technický bod Win32 tu nebude věčně Má problémy ovládat RAM nad 3GB Win64 potřebuje jiné 64bitové exáče.net má jednotné exáče Fungují i v Linuxu (zadáte mono program.exe) V roce 2100 pořád může.net fungovat, ale Win32 EXE nepůjde spustit Poznámka: Kdyby Microsoft nešel touto cestou, zřejmě by jej převálcoval Sun a jeho Java.

9 Jednotné exáče? Java běží interpretovaně v JVM Programy v.net jsou překládané až při spuštění a běží v CLR CLR = Common Language Runtime Čili de facto stejný princip jako Java, jen je to rychlejší při běhu (JVM má starší design) EXE soubor obsahuje kód v IL C++ Asm Link Nativní EXE Run C# IL Link EXE Run JIT Nativní

10 .NET řeší i další problémy DLL hell Totální chaos ve verzích DLL souborů Nulová bezpečnost systému Microsoft vynaložil miliony USD na dočasná řešení tohoto problému ve Widows 2000 a XP COM deklarace na více místech Registrace komponenty v systému je jedno místo, samotná komponenta v souboru je zvlášť Často se rozhodní verze komponenty a registru Příklad: kodeky Windows Media Playeru = peklo Různé znakové sady unicode

11 Knihovny.NET má mnoho knihoven BCL (Base Class Library) ADO.NET ASP.NET XML Windows Forms aj. Dobrá knihovna je důležitější než samotný jazyk! Proto nedebatujeme o tom, který jazyk je lepší

12

13 Co je důležitější? C++ Assembler Delphi Bezpečnost vs. Rychlost (bezchybnost) (praktičnost).net Java

14 Common Type System Všechny jazyky používají CTS (plus své typy) CTS je 100% bezpečný Neexistuje nic jako pointer na neznámou paměť Neexistuje nic jako chyba přístupu do paměti Chyby nemohou nastat záměrně, ani omylem Pozn. Kontrolu typové bezpečnosti lze vypnout Např. C# pak umí a zná i klasické poinetry * & Kód je pak rychlejší, ale nebezpečný CTS má vlastně dva režimy: safe a unsafe

15 Metadata Metadata = data o datech Data poskytují informace o sobě Vždy lze zjsitit, s jakým typem pracujeme a jaké ma další vlastnosti (atributy) Atributy jsou například: const, unsigned apod. Toto je zásadní plus oproti COM programování

16 Vsuvka každý jazyk je jiný Každý jazyk má jiný typový systém Přesto všechny mohou běžet v rámci CTS Díky CTS se rozdíly mezi jazyky často smazávají Vlastnosti C#: Převážně imperativní a objektově orientovaný Převážně staticky typovaný Částečně také funkcionální Funkce vyššího řádu, uzávěry, lambda výrazy, typová inference

17 Důsledek typové bezpečnosti CTS Nemůže nastat buffer overflow Viry nemají šanci Nemůže se omylem něco zapsat do paměti Už není pravda, že proces má nějakou svou lokální paměť a do ní si může zapisovat, co chce Klasická paměť (bajty) už vlastně neexistuje Máme jen objekty a pracovat můžeme jen s objekty Nelze přetypovat objekt na blok paměti a podívat se, co tam je

18 Statické a dynamické typování Statické kontrola typů při překladu Podporuje brzké odhalování chyb v programech Programy běží rychleji Dynamické kontrola typů při běhu Umožňuje napsat věci, které by jinak nešly Programy mají kratší zdrojáky C++ používá hlavně statické typování Scheme používá hlavně dynamické typování CTS (pochopitelně) umožňuje obojí Ideální jazyky nabízejí obojí i programátorům

19

20 Typy Všechno je System.Object Typy se dělí na dvě základní skupiny: Referenční class, interface Hodnotové struct, enum, primitivní typy (čísla) Jsou potomkem System.ValueType Struct nemůže obsahovat konstruktor bez parametrů Ani jeho složky nemohou mít výchozí hodnoty Struct nemůže dědit jinou třídu než ValueType Může ale implementovat rozhraní Doporučení pro vaše typy: Dejte přednost deklaraci typu na bázi class Deklarace typu struct většinou není přínosem

21 Kolik to má bajtů? Struct má přesně tolik bajtů, kolik je dat Zjištění délky struktury: Je to unsafe operace Operátor sizeof(typ) Nutno uzavřít do bloku unsafe Funkce Marshal.SizeOf(Type) Nutno mít permisi na spouštění unsafe kódu CLR umožňuje ovlivnit pořadí součásti struktury v paměti Velikost referenčních typů nelze zjistit (ani v bloku unsafe) Počítejte minimálně 4 8 bajtů navíc A ještě víc na 64bitových platformách

22 Boxing a unboxing Mechanizmus sjednocení typů vše je objekt Boxing = zabalení hodnoty do objektu Unboxing = vybalení boxované hodnoty Na co je to potřeba: Na hodnotách nelze volat virtuální metody Hodnoty nelze ukládat do kolekcí či polí S výjimkou generických (od verze.net 2.0) C# (i další jazyky) provádí boxování automaticky object o = 3; int a = (int)o; Boxované hodnoty nelze měnit!

23 null Klíčové slovo null je beztypová objektová nula Hodnotový typ nemůže nabýt hodnoty null Od verze.net 2.0: System.Nullable<T> Umožňuje přiřazovat null do hodnotových typů Sám je také hodnotovým typem(!) Pozor! Funguje se zvláštní podporou v CLR C# nabízí otazníkovou syntaxi int? a = null; int b = a?? 2;

24 Ještě k boxování Hodnotové typy nemají tabulku metod Volání potřebující tabulku metod fungují pomocí boxování Hodnota se boxuje a na ní se volá daná metoda Boxování Nullable<T>: Při HasValue==true se převede na bázový typ int? a = 3; a.gettype() System.Int32, nikoliv Nullable<Int32> Při HasValue==false se převede na null int? a = null; a.gettype() NullReferenceException

25 Přístup k součástem programu Programy se dělí na assembly Většinou jeden EXE/DLL = assembly Jedno assembly může být i ve více souborech Můžeme určit, které součásti (třídy, metody apod.) budou vidět a kým Z C++ známe modifikátory public/protected/private C# má další modifikátory, také pro třídy CLR má ještě další modifikátory

26 Možnosti přístupu Public Volně přístupné pro všechny Private Omezuje přístup na oblast vlastní třídy Platí jen pro součásti tříd Family (C# protected) Omezuje přístup na vlastní třídu a potomky v dědičnosti Platí jen pro součásti tříd Assembly (C# internal) Omezuje přístup na vlastní assembly Family or Assembly (C# protected internal) Umožňuje přístup jako family a celému svému assembly Family and Assembly (C# nepodporuje) Omezuje přístup na family a jen v rámci assembly

27 Součásti typů Každý typ může mít součásti: Vnořené typy Konstruktory Metody Fieldy (česky proměnné) Property (tady ani český termín není ) Události

28 Vnořování typů Typ může být deklarován uvnitř jiného typu class A { class B { } } Toto je stejné jako v C++ Vnitřní typ má přístup k private součástem vnějšího typu a k protected součástem v rámci typové hierarchie vnějšího typu Toto je nečekaně také stejné jako v C++

29 Fieldy Prostě proměnné (stejné jako v C++) Mohou být statické jedinečné v rámci aplikační domény (ekvivalent procesu) Jednoduše řečeno: společné pro všechny instance Modifikátory: Readonly = možno nastavit jen v konstruktoru Static literal (C# const) = pravé konstanty Referenční typy z principu nemohou být konstanty

30 Metody Kód programu se dá zapsat jedině do metody Existují i speciální metody (konstruktory apod.) Metody nikoho nepřekvapí známe je z C++ Mohou být statické (pak nemají this) Mohou mít lokální proměnné též známe z C++ Mohou být přetížené Přetížené = stejný název, různé parametry Neexistují výchozí hodnoty u parametrů Lze to simulovat přetížením Proměnlivý počet parametrů: CTS jej nativně podporuje C# jej nepodporuje nutno použít pole (param array)

31 Předávání parametrů metodám CTS podporuje dva způsoby (první je výchozí): Pass-by-value = pass-by-copy Hodnota se okopíruje Reference se okopíruje a ukazuje na stejný objekt Pass-by-reference Vytvoří se reference na hodnotu Vytvoří se reference na referenci(!!!) C# umožňuje i specificky výstupní parametry (out)

32 Výjimky CLR nativně nepodporuje bloky ve stylu { } Bloky try-catch-finally jsou přeloženy do handlerů výjimek Jsou to samostatné části kódu v každé metodě Každý handler má označený offset kódu, pro který platí Výhodou tohoto řešení je velmi rychlý běh programu (Proč? Téma k vlastnímu zamyšlení.)

33 Konstruktory Hodnotové typy jsou vždy nulovány Můžete definovat konstruktor s parametry Ale nelze zajistit, že bude zavolán(!) Čili hodnota může vzniknout i bez konstruktoru(!!) Referenční typy vždy mají nějaký konstruktor CTS nevyžaduje volání konstruktoru předka C# to ale vyžaduje Princip zřetězení konstruktorů (pomocí base a this) Výchozí hodnoty proměnných CTS nepodporuje Překladač C# to přeloží tak, že vloží inicializaci do kódu všech koncových konstruktorů Pozor! Výjimka v konstruktoru mine Dispach

34 Kdy je volán statický konstruktor?

35 Volání statického konstruktoru CTS volá statický konstruktor kdykoliv před prvním použitím třídy Současná implementace jej volá co nejpozději Toto je velmi výhodné (ve srovnání s C++) Program může sám vyžádat zavolání statického konstruktoru System.Runtime.CompilerServices.RuntimeHelpers. RunClassConstructor(typeof(T).TypeHandle);

36 Property CTS nezná žádné property překvapení? Property jsou syntaktický cukr na úrovni metadat Fyzicky to pochopitelně musí být metody s příslušným atributem Indexer je v C# zvláštní typ property V CTS je to výchozí metoda objektu Může být přetížený

37 Pozor na přetypování Koerce u hodnotových typů Vždy vytváříme novou instanci! Příklad: (double)34 Přetypování u referenčních typů Operátor as (C#) nikdy nevytváří novou instanci Příklad: this as object Neplatné přetypování vrací null Operátor op_explicit (kulaté závorky v C#) Může volat přetíženou implementaci operátoru Toto někdy může vytvořit novou instanci Neplatné přetypování vyvolá InvalidCastException

38 Abstraktní třídy Abstraktní metoda abstraktní třída Obrácená implikace ale neplatí! CTS pro ně má zvláštní model dědičnosti Dědí jen signatury, nikoli implementace Fyzicky je to stejné jako u rozhraní

39 Pozor na rozhraní Třída má má jen jednu tabulku metod pro implementované rozhraní interface Rozhraní { int něco(); } class Předek : Rozhraní { public int něco() { return 1; } } class Potomek : Předek,Rozhraní { public int něco() { return 2; } } int Testuj(Potomek p) { return p.něco() (p as Rozhraní).něco(); }

40 Jmenné prostory (namespace) CTS nezná jmenné prostory překvapení? Každý jazyk to může implementovat po svém Překladač jazyka musí všechny lokální názvy nahradit celými jmény

41 Pár poznámek k delegátům Delegáty jsou v CLR velmi složitě implementované V C# vidíme jen špičku ledovce (díky bohu ) Nativní delegát (System.Delegate) umí odkazovat jen na jeden cíl C# používá System.MulticastDelegate, ten obsahuje seznam obyčejných delegátů Volání delegátů probíhá dynamicky Tím je mimochodem umožněna kontravariance vstupů a kovariance výstupů a je to o poznání pomalejší než pointery v C++

42 a ještě k delegátům Anonymní metody nemají podporu v CTS C# je překládá jako samostatné metody Nejsložitější je podpora vnějších proměnných Tím vzniká podpora pro uzávěry A ty jsou opět podporovány v C#, ale ne přímo v CTS (CTS prostě jen umožňuje toto vše naimplementovat) Poznámka: V Javě toto nejde udělat

43 Atributy Pozor! Proměnné nejsou atributy!!! Proměnná = field Atribut = doplňující informace Může být připojen k libovolné entitě programu Můžeme definovat i vlastní atributy Problematika atributů je extrémně složitá Vrátíme se k tomu později V C# se atributy používají pomocí závorek [ ] Příklady atributů jsou v souboru AssemblyInfo.cs

44 Výčtové typy (enum) Výčtový typ je seznam pojmenovaných hodnot nad nějakým bázovým číselným typem Čili je to číslo + atributy Je to tedy hodnotový typ Atribut [Flags] umožňuje bitové kombinace Povolí používání bitových operátorů K dispozici jsou šikovné statické metody: GetValues vrací seznam definovaných hodnot IsDefined testuje, zda je hodnota definována Do enumu totiž lze vložit libovolné číslo Parse převede jméno hodnoty na hodnotu Zde je problém s překladem do cizích řečí

45 Konec přednášky

1. Programování proti rozhraní

1. Programování proti rozhraní 1. Programování proti rozhraní Cíl látky Cílem tohoto bloku je seznámení se s jednou z nejdůležitější programátorskou technikou v objektově orientovaném programování. Tou technikou je využívaní rozhraní

Více

Úvod Třídy Rozhraní Pole Konec. Programování v C# Hodnotové datové typy, řídící struktury. Petr Vaněček 1 / 39

Úvod Třídy Rozhraní Pole Konec. Programování v C# Hodnotové datové typy, řídící struktury. Petr Vaněček 1 / 39 Programování v C# Hodnotové datové typy, řídící struktury Petr Vaněček 1 / 39 Obsah přednášky Referenční datové typy datové položky metody přístupové metody accessory, indexery Rozhraní Pole 2 / 39 Třídy

Více

Seznámení s prostředím dot.net Framework

Seznámení s prostředím dot.net Framework Základy programování v jazyce C# Seznámení s prostředím dot.net Framework PL-Prostředí dot.net - NET Framework Je základním stavebním prvkem, na kterém lze vytvářet software. Jeho součásti a jádro je založené

Více

Jakub Čermák <jakub@jcermak.cz> http://www.jcermak.cz. Microsoft Student Partner

Jakub Čermák <jakub@jcermak.cz> http://www.jcermak.cz. Microsoft Student Partner Jakub Čermák http://www.jcermak.cz Microsoft Student Partner Úvod, příklady použití, trocha teorie Struktura aplikace Typy obecně, primitivní typy, speciální typy Podmínky, cykly, namespaces

Více

Seminář Java II p.1/43

Seminář Java II p.1/43 Seminář Java II Seminář Java II p.1/43 Rekapitulace Java je case sensitive Zdrojový kód (soubor.java) obsahuje jednu veřejnou třídu Třídy jsou organizovány do balíků Hierarchie balíků odpovídá hierarchii

Více

Výčtový typ strana 67

Výčtový typ strana 67 Výčtový typ strana 67 8. Výčtový typ V této kapitole si ukážeme, jak implementovat v Javě statické seznamy konstant (hodnot). Příkladem mohou být dny v týdnu, měsíce v roce, planety obíhající kolem slunce

Více

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod. Základy programování (IZAPR) Přednáška 7 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 229, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky 7 Parametry metod, předávání

Více

3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda

3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda 1. Lze vždy z tzv. instanční třídy vytvořit objekt? 2. Co je nejčastější příčinou vzniku chyb? A. Specifikace B. Testování C. Návrh D. Analýza E. Kódování 3. Je defenzivní programování technikou skrývání

Více

Desatero, aneb nejčastější chyby v programování

Desatero, aneb nejčastější chyby v programování Desatero, aneb nejčastější chyby v programování Aleš Keprt Univerzita Palackého listopad 2008, březen 2009 1. Nepoužívejte pole na místě veřejného rozhraní Používejte třídy obsahující pole uvnitř Pole

Více

Datové typy strana 29

Datové typy strana 29 Datové typy strana 29 3. Datové typy Jak již bylo uvedeno, Java je přísně typový jazyk, proto je vždy nutno uvést datový typ datového atributu, formálního parametru metody, návratové hodnoty metody nebo

Více

Novinky ve Visual Studio 2010. Tomáš Kroupa Tomas.Kroupa@hotmail.com

Novinky ve Visual Studio 2010. Tomáš Kroupa Tomas.Kroupa@hotmail.com Novinky ve Visual Studio 2010 Tomáš Kroupa Tomas.Kroupa@hotmail.com O čem si dnes řekneme Visual studio 2010 (beta 2) Jazyk C# 4.0 ASP.NET 4.0.NET 4.0 Visual Studio 2010 Beta 2 Jak získat Testovací verze

Více

10 Balíčky, grafické znázornění tříd, základy zapozdření

10 Balíčky, grafické znázornění tříd, základy zapozdření 10 Balíčky, grafické znázornění tříd, základy zapozdření Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost příkazům balíčkům, grafickému

Více

JAZYK C# ÚVOD. Literatura. Jazyk C# .NET Framework

JAZYK C# ÚVOD. Literatura. Jazyk C# .NET Framework JAZYK C# ÚVOD Literatura 1. VIRIUS, M. Od C++ k C#. České Budějovice: KOPP, 2002. 235 s. Cena 199 Kč. ISBN 80-7232-176-5. 2. NAGEL CH. et al. C# 2005. Programujeme profesionálně. Brno: Computer Press,

Více

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech 7 Formátovaný výstup, třídy, objekty, pole, chyby v programech Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost formátovanému výstupu,

Více

Bridge. Známý jako. Účel. Použitelnost. Handle/Body

Bridge. Známý jako. Účel. Použitelnost. Handle/Body Bridge Bridge Známý jako Handle/Body Účel odděluje abstrakci (rozhraní a jeho sémantiku) od její konkrétní implementace předchází zbytečnému nárůstu počtu tříd při přidávání implementací používá se v době

Více

7. Datové typy v Javě

7. Datové typy v Javě 7. Datové typy v Javě Primitivní vs. objektové typy Kategorie primitivních typů: integrální, boolean, čísla s pohyblivou řádovou čárkou Pole: deklarace, vytvoření, naplnění, přístup k prvkům, rozsah indexů

Více

IUJCE 07/08 Přednáška č. 4. v paměti neexistuje. v paměti existuje

IUJCE 07/08 Přednáška č. 4. v paměti neexistuje. v paměti existuje Konstanty I možnosti: přednostně v paměti neexistuje žádný ; o preprocesor (deklarace) #define KONSTANTA 10 o konstantní proměnná (definice) const int KONSTANTA = 10; příklad #include v paměti

Více

PROGRAMOVÁNÍ PRO MS WINDOWS 1

PROGRAMOVÁNÍ PRO MS WINDOWS 1 Cílem předmětu je seznámit posluchače s moderními prostředky pro tvorbu aplikací pro Windows jmenovitě s programovou platformou.net a programovacím jazykem C#. V průběhu budou vysvětlena následující témata:

Více

Obsah. Předmluva 15. Datové typy v prostředí.net 24 Jmenné prostory 24 Základní datové typy 25 Metadata a atributy 25

Obsah. Předmluva 15. Datové typy v prostředí.net 24 Jmenné prostory 24 Základní datové typy 25 Metadata a atributy 25 Obsah Předmluva 15 Komu je tato kniha určena 15 Co v této knize najdete 15 Co v této knize nenajdete 16 Rozdíly oproti prvnímu vydání 16 Čeština 16 Doprovodné CD 17 Chyby 17 Poděkování 17 KAPITOLA 1 Jazyk

Více

Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování. Předmět: Programování

Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování. Předmět: Programování Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování Vzdělávací oblast Informatika a informační a komunikační technologie pro vzdělávací obor Programování

Více

Abstraktní datové typy: zásobník

Abstraktní datové typy: zásobník Abstraktní datové typy: zásobník doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Abstraktní datové typy omezené rozhraní

Více

Java [džava] nebo [džáva] v americkém slangu "kafe" Sun Microsystems nyní Oracle

Java [džava] nebo [džáva] v americkém slangu kafe Sun Microsystems nyní Oracle Java [džava] nebo [džáva] v americkém slangu "kafe" Sun Microsystems nyní Oracle Významné zdroje ze stovek/tisíců dostupných http:// java.sun.com Java http://dione.zcu.cz/java výborný rozcestník Historie

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu 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

Více

Datové abstrakce v programovacích jazycích

Datové abstrakce v programovacích jazycích Datové abstrakce v programovacích jazycích Motivace Strukturovat rozsáhlé programy Dovolit separátní překlad Možné formy strukturování: Podprogramy původní forma abstrakce -abstrakce výpočtů Moduly kontejnery

Více

Virtuální metody - polymorfizmus

Virtuální metody - polymorfizmus - polymorfizmus - potomka lze použít v místě, kde je možné použít předka - v dosud probraných situacích byly vždy volány funkce, které jsou známy již v době překladu. V situaci, kdy v době překladu není

Více

IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ JAZYK C

IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ JAZYK C Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Anotace Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace

Více

4.4.2012. Obsah přednášky. Příkaz for neúplný. Příkaz for příklady. Cyklus for each (enhanced for loop) Příkaz for příklady

4.4.2012. Obsah přednášky. Příkaz for neúplný. Příkaz for příklady. Cyklus for each (enhanced for loop) Příkaz for příklady Základy programování (IZAPR, IZKPR) Přednáška 5 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 03 022, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky Příkazy cyklu -

Více

7.5 Diagram tříd pokročilé techniky

7.5 Diagram tříd pokročilé techniky 7.5 Diagram tříd pokročilé techniky Stereotypy - jeden ze základních prostředků rozšiřitelnosti UML - pro modelovací konstrukce neexistující v UML, ale podobné předdefinované v UML definované uživatelem

Více

Využití OOP v praxi -- Knihovna PHP -- Interval.cz

Využití OOP v praxi -- Knihovna PHP -- Interval.cz Page 1 of 6 Knihovna PHP Využití OOP v praxi Po dlouhé teorii přichází na řadu praxe. V následujícím textu si vysvětlíme možnosti přístupu k databázi pomocí různých vzorů objektově orientovaného programování

Více

Při studiu tohoto bloku se předpokládá, že student je zvládá základy programování v jazyce Java s využitím vývojového prostředí NetBeans.

Při studiu tohoto bloku se předpokládá, že student je zvládá základy programování v jazyce Java s využitím vývojového prostředí NetBeans. 1 Grafické rozhraní Studijní cíl Tento blok je věnován vytváření programů s využitím grafického rozhraní (GUI). Vysvětlen bude základní filozofie pro vytváření aplikací s GUI ve srovnání s konzolovými

Více

Maturitní témata Školní rok: 2015/2016

Maturitní témata Školní rok: 2015/2016 Maturitní témata Školní rok: 2015/2016 Ředitel školy: Předmětová komise: Předseda předmětové komise: Předmět: PhDr. Karel Goš Informatika a výpočetní technika Mgr. Ivan Studnička Informatika a výpočetní

Více

JAZYK C# A.NET FRAMEWORK NA LINUXU

JAZYK C# A.NET FRAMEWORK NA LINUXU JAZYK C# A.NET FRAMEWORK NA LINUXU Aleš Keprt Katedra informatiky, FEI, VŠB - Technická Univerzita Ostrava, 17. listopadu 15, 708 33 Ostrava ales.keprt@vsb.cz Abstrakt Microsoft.NET Framework je fenomén,

Více

Pokročilé programování v jazyce C pro chemiky (C3220) Statické proměnné a metody, šablony v C++

Pokročilé programování v jazyce C pro chemiky (C3220) Statické proměnné a metody, šablony v C++ Pokročilé programování v jazyce C pro chemiky (C3220) Statické proměnné a metody, šablony v C++ Globální konstantní proměnné Konstantní proměnné specifikujeme s klíčovým slovem const, tyto konstantní proměné

Více

Syntaxe vyjímek. #include <iostream> #include <string> using namespace std; // Trida vyjimek class Vyjimka { private:

Syntaxe vyjímek. #include <iostream> #include <string> using namespace std; // Trida vyjimek class Vyjimka { private: Vyjímky. Pod pojmem výjimka se rozumí nějaká výjimečná situace, která nastane v dané funkci. V jazyce C i C++ se často používá návratových hodnot funkcí, které vracejí úspěšnost provádění nějaké operace

Více

3. Třídy. Základní pojmy objektového programování. Třídy

3. Třídy. Základní pojmy objektového programování. Třídy 3. Třídy Základní pojmy objektového programování Jak už víme, je Java objektovým programovacím jazykem. V úvodu této kapitoly si objasníme základní pojmy objektové teorie. Objekt představuje souhrn dat

Více

Kolekce, cyklus foreach

Kolekce, cyklus foreach Kolekce, cyklus foreach Jen informativně Kolekce = seskupení prvků (objektů) Jednu již známe pole (Array) Kolekce v C# = třída, která implementuje IEnumerable (ICollection) Cyklus foreach ArrayList pro

Více

Programovací jazyk C# Marek Běhálek

Programovací jazyk C# Marek Běhálek Programovací jazyk C# Marek Běhálek Programovací jazyk C# Marek Běhálek Obsah Úvod. ix 1..NET framework 1 Architektura.NET Framework.. 1 CLR Common Language Runtime 2 CTS.. 2 Typová bezpečnost.. 3 Management

Více

Ukazatel (Pointer) jako datový typ - proměnné jsou umístěny v paměti na určitém místě (adrese) a zabírají určitý prostor (počet bytů), který je daný

Ukazatel (Pointer) jako datový typ - proměnné jsou umístěny v paměti na určitém místě (adrese) a zabírají určitý prostor (počet bytů), který je daný Ukazatel (Pointer) jako datový typ - proměnné jsou umístěny v paměti na určitém místě (adrese) a zabírají určitý prostor (počet bytů), který je daný typem proměnné - ukazatel je tedy adresa společně s

Více

24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1 24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE AUTOR DOKUMENTU: MGR. MARTINA SUKOVÁ DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 UČIVO: STUDIJNÍ OBOR: PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) INFORMAČNÍ TECHNOLOGIE

Více

Skriptovací jazyky. Obsah

Skriptovací jazyky. Obsah Skriptovací jazyky doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah Co je to skriptovací jazyk? Výhody a nevýhody

Více

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. 2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. GEOVAP, spol. s r. o. Čechovo nábřeží 1790 530 03 Pardubice Česká republika +420 466 024 618 http://www.geovap.cz V dokumentu použité názvy programových

Více

Znaky. IAJCE Přednáška č. 10. každému znaku je nutné přiřadit nějaké číslo (nezáporné přímé mapování znak <->

Znaky. IAJCE Přednáška č. 10. každému znaku je nutné přiřadit nějaké číslo (nezáporné přímé mapování znak <-> Znaky každému znaku je nutné přiřadit nějaké číslo (nezáporné přímé mapování znak číslo) kódování jiný příklad kódování existuje mnoho kódů pojmy: morseova abeceda problémy o znaková sada které znaky

Více

Prezentace a vysvětlení programového prostředí NXC

Prezentace a vysvětlení programového prostředí NXC Úvod Další jazyk, který je možno použít pro programování NXT kostky je NXC Not exatly C Na rozdíl od jazyku NXT-G, kde jsme vytvářeli program pomocí grafických prvků přesněji řečeno pomocí programovacích

Více

Jazyk C++ II. Šablony a implementace

Jazyk C++ II. Šablony a implementace Jazyk C++ II Šablony a implementace AR 2013/2014 Jazyk C++ II Úvod Dědičnost a kompozice nejsou vždy tou správnou odpovědí na požadavky znovupoužitelnosti kódu. Proto máme možnost definování určité třídy

Více

7.3 Diagramy tříd - základy

7.3 Diagramy tříd - základy 7.3 Diagramy tříd - základy - popisuje typy objektů a statické vztahy mezi nimi Objednávka -datumpřijetí -předplacena -číslo -cena +vyřiď() +uzavři() {if Objednávka.zákazník.charakteristika = 'nejistý'

Více

Proměnné a datové typy

Proměnné a datové typy Proměnné a datové typy KAPITOLA 2 V této kapitole: Primitivní datové typy Proměnné Opakování Mezi základní dovednosti každého programátora bezesporu patří dobrá znalost datových typů. Ta vám umožní efektivní

Více

IPA - Lab.1 Úvod do programování v ASM

IPA - Lab.1 Úvod do programování v ASM IPA - Lab.1 Úvod do programování v ASM Ondřej Klubal http://www.fit.vutbr.cz/~iklubal/ipa/ 2014 Ondřej Klubal IPA - Lab.1 1 / 16 Osnova Nástroje Konvence volání Použití DLL Windows API Makra NASM + VS

Více

Objektově orientované programování v jazyce Python

Objektově orientované programování v jazyce Python Objektově orientované programování v jazyce Python Co to je objektově orientované programování Python není přímo objektově orientovaný jazyk, ale podporuje nejdůležitější části objektově orientovaného

Více

IoC/DI. Tomáš Herceg Microsoft MVP (ASP.NET) www.dotnetcollege.cz

IoC/DI. Tomáš Herceg Microsoft MVP (ASP.NET) www.dotnetcollege.cz IoC/DI Tomáš Herceg Microsoft MVP (ASP.NET) www.dotnetcollege.cz SOLID 5 pravidel pro testovatelný kód Na netestovatelném kódu se IoC/DI používá špatně SOLID Single Responsibility Principle Každá třída

Více

IAJCE 07/08 Přednáška č. 1. naučit myslet transformace reálných problémů na funkční programy základy programování

IAJCE 07/08 Přednáška č. 1. naučit myslet transformace reálných problémů na funkční programy základy programování Úvod Literatura: Předmět = úvod do programování menší úpravy oproti min. semestru http://webak.upce.cz/~hajek/iajce/ Vaše poznámky Virius M.: C# pro zelenáče, nakladatelství Neocortex Slidy z přednášek

Více

Z. Kotala, P. Toman: Java ( Obsah )

Z. Kotala, P. Toman: Java ( Obsah ) Z. Kotala, P. Toman: Java ( Obsah ) 13. Výjimky Výjimka (exception) je definována jako událost, která nastane během provádění programu a která naruší normální běh instrukcí. Výjimka je vyvolána například

Více

Stream API. Petr Krajča. Základy programovaní 4 (Java) Katedra informatiky Univerzita Palackého v Olomouci

Stream API. Petr Krajča. Základy programovaní 4 (Java) Katedra informatiky Univerzita Palackého v Olomouci Základy programovaní 4 (Java) Stream API Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci Petr Krajča (UP) KMI/ZP4JV 5. listopad, 2014 1 / 10 Stream API Java 8 nový přístup k práci s kolekcemi

Více

Groovy agilní Java. Pavel Kříž Filip Malý

Groovy agilní Java. Pavel Kříž Filip Malý Groovy agilní Java Pavel Kříž Filip Malý Úvod Dynamický skriptovací jazyk pod JVM Navržen pro platformu Java, zcela interoperabilní (na úrovni bajtkódu) s běžnými programy v Javě, silně objektově orientovaný

Více

Ahoj mami. Uložení dat v počítači. Příklady kódování dat. IAJCE Přednáška č. 4

Ahoj mami. Uložení dat v počítači. Příklady kódování dat. IAJCE Přednáška č. 4 Uložení dat v počítači Data = užitečné, zpracovávané informace Kódování (formát) dat = způsob uložení v počítači (nutno vše převést na čísla ve dvojkové soustavě) Příklady kódování dat Text každému znaku

Více

Projekt Obrázek strana 135

Projekt Obrázek strana 135 Projekt Obrázek strana 135 14. Projekt Obrázek 14.1. Základní popis, zadání úkolu Pracujeme na projektu Obrázek, který je ke stažení na http://java.vse.cz/. Po otevření v BlueJ vytvoříme instanci třídy

Více

Úvod do Groovy pro Java experty

Úvod do Groovy pro Java experty Úvod do Groovy pro Java experty Václav Pech Senior Software Developer JetBrains, Inc. Něco o mně Václav Pech Programátor Nadšenec do Groovy JetBrains Dodavatel Vašich oblíbených nástrojů IntelliJ IDEA,

Více

DSL manuál. Ing. Jan Hranáč. 27. října 2010. V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v

DSL manuál. Ing. Jan Hranáč. 27. října 2010. V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v DSL manuál Ing. Jan Hranáč 27. října 2010 V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v současné době krátký) seznam vestavěných funkcí systému. 1 Vytvoření nového dobrodružství Nejprve

Více

17. Projekt Trojúhelníky

17. Projekt Trojúhelníky Projekt Trojúhelníky strana 165 17. Projekt Trojúhelníky 17.1. Základní popis, zadání úkolu Pracujeme na projektu Trojúhelníky, který je ke stažení na java.vse.cz. Aplikace je napsána s textovým uživatelským

Více

Object Pascal je přísně typový procedurální jazyk, který umožňuje jak strukturované, tak objektově orientované programování.

Object Pascal je přísně typový procedurální jazyk, který umožňuje jak strukturované, tak objektově orientované programování. Delphi lekce 6 Minimum z Object Pascalu Vrátíme se ještě k základům Object Pascalu. Struktura programu Object Pascal je přísně typový procedurální jazyk, který umožňuje jak strukturované, tak objektově

Více

Profilová část maturitní zkoušky 2013/2014

Profilová část maturitní zkoušky 2013/2014 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2013/2014 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA

Více

PHP. nejen pro začátečníky. $c; echo { Martin Pokorný. Vzdìlávání, které baví www.c-media.cz. Nakladatelství a vydavatelství.

PHP. nejen pro začátečníky. $c; echo { Martin Pokorný. Vzdìlávání, které baví www.c-media.cz. Nakladatelství a vydavatelství. }else{ { if($b >$ c){ echo $max=$b; // vypí }else{ echo $max=$c; // vypí?> cas se }e B : se{ echo B ; default: ($b>$c){ echo C ; } $max=$b; }else{ $max=$c; PHP nejen pro začátečníky k;?> $c; echo { Martin

Více

Základní datové struktury

Základní datové struktury Základní datové struktury Martin Trnečka Katedra informatiky, Přírodovědecká fakulta Univerzita Palackého v Olomouci 4. listopadu 2013 Martin Trnečka (UPOL) Algoritmická matematika 1 4. listopadu 2013

Více

Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky. Dokumentace k programu MMDoc

Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky. Dokumentace k programu MMDoc Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky Dokumentace k programu MMDoc Vypracoval: Petr Dvořák Datum: 15.prosince 2005 1. Úvod 1.1. Účel tohoto dokumentu

Více

3. Základy programovacího jazyka Java

3. Základy programovacího jazyka Java 3. Základy programovacího jazyka Java Programovací jazyk Java nese označení jazyk 3.v generace 3GL, kde označeni 3 označuje imperativní jazyk vysoké úrovně. Tento jazyk se vyznačuje vysokou mírou univerzálnosti,

Více

Pokročilé programování v jazyce C pro chemiky (C3220) Dědičnost tříd v C++

Pokročilé programování v jazyce C pro chemiky (C3220) Dědičnost tříd v C++ Pokročilé programování v jazyce C pro chemiky (C3220) Dědičnost tříd v C++ Dědičnost tříd Dědičnost umožňuje vytvářet nové třídy z tříd existujících tak, že odvozené třídy (tzv. potomci) dědí vlastnosti

Více

2 Postup při programování, úvod do programovacího jazyka Java

2 Postup při programování, úvod do programovacího jazyka Java 2 Postup při programování, úvod do programovacího jazyka Java Studijní cíl V tomto bloku bude věnována pozornost správnému postupu při programování, budou detailně vysvětleny jednotlivé etapy programování

Více

Windows je registrovaná obchodní známka firmy Microsoft v USA a v ostatních zemích.

Windows je registrovaná obchodní známka firmy Microsoft v USA a v ostatních zemích. Sun, Sun Microsystems, Java a všechny obchodní známky a loga obsahující Sun nebo Java jsou ochrannými známkami nebo registrovanými ochrannými známkami firmy Sun Microsystems, Inc. v USA a v ostatních zemích.

Více

Ukazka knihy z internetoveho knihkupectvi www.kosmas.cz

Ukazka knihy z internetoveho knihkupectvi www.kosmas.cz Ukazka knihy z internetoveho knihkupectvi www.kosmas.cz O autorovi Rudolf Pecinovský patří ke špičkovým odborníkům na výuku programování. Publikoval již 39 učebnic, které byly přeloženy do pěti jazyků,

Více

Informační Systém pro Psychiatrii HIPPO

Informační Systém pro Psychiatrii HIPPO Informační Systém pro Psychiatrii HIPPO Informace, doporučení a nutná nastavení pro zajištění správné funkce Pinel Plus v OS Windows a Linux Ochranné známky HIPPO je registrovaná ochranná známka společnosti

Více

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2014 5.9 10/14

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2014 5.9 10/14 ZÁKLADY PROGRAMOVÁNÍ Mgr. Vladislav BEDNÁŘ 2014 5.9 10/14 Co je vhodné vědět, než si vybereme programovací jazyk a začneme programovat roboty. 1 / 31 0:40 Programovací jazyky Programovací jazyky jsou jazyky

Více

Semestrální projekt do předmětu SPS

Semestrální projekt do předmětu SPS Semestrální projekt do předmětu SPS Název projektu: Instalace a provoz protokolu IPv6 v nových verzích MS Windows (XP). Ověření proti routerům Cisco a Linux. Cíl projektu: Autoři: Cílem tohoto projektu

Více

Souborové systémy Mgr. Josef Horálek

Souborové systémy Mgr. Josef Horálek Souborové systémy Mgr. Josef Horálek Souborové systémy = Prostředky pro práci se souborovými systémy patří mezi nejsilnější stránky linuxového jádra. = Využívají unixový přístup k souborové hierarchii

Více

Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz)

Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz) Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz) Autor: Radek Vystavěl Díl 12: Algebra Lineární transformace MATEMATIKA Lineární transformace, neboli přeet hodnoty x podle

Více

PB161 Programování v C++ Proudy pro standardní zařízení Souborové proudy Paměťové proudy Manipulátory

PB161 Programování v C++ Proudy pro standardní zařízení Souborové proudy Paměťové proudy Manipulátory PB161 Programování v C++ Proudy pro standardní zařízení Souborové proudy Paměťové proudy Manipulátory Výhody objektového řešení Nástroje pro IO operace jsou v C++ součástí knihoven Hierarchie objektových

Více

Název předmětu: Školní rok: Forma studia: Studijní obory: Ročník: Semestr: Typ předmětu: Rozsah a zakončení předmětu:

Název předmětu: Školní rok: Forma studia: Studijní obory: Ročník: Semestr: Typ předmětu: Rozsah a zakončení předmětu: Plán předmětu Název předmětu: Algoritmizace a programování (PAAPK) Školní rok: 2007/2008 Forma studia: Kombinovaná Studijní obory: DP, DI, PSDPI, OŽPD Ročník: I Semestr: II. (letní) Typ předmětu: povinný

Více

Server-side technologie pro webové aplikace

Server-side technologie pro webové aplikace Server-side technologie pro webové aplikace PIA 2011/2012 Téma 6 Copyright 2006 Přemysl Brada, Západočeská univerzita Server-side scriptování Cíl dynamické generování webového obsahu/rozhraní integrace

Více

monolitická vrstvená virtuální počítač / stroj modulární struktura Klient server struktura

monolitická vrstvená virtuální počítač / stroj modulární struktura Klient server struktura IBM PC 5150 MS DOS 1981 (7 verzí) DR DOS, APPLE DOS, PC DOS 1. 3. Windows grafická nástavba na DOS Windows 95 1. operační systém jako takový, Windows XP 2001, podporovány do 2014, x86 a Windows 2000 Professional

Více

- dělají se také pomocí #define - podobné (použitím) funkcím - předpřipravená jsou např. v ctype.h. - jak na vlastní makro:

- dělají se také pomocí #define - podobné (použitím) funkcím - předpřipravená jsou např. v ctype.h. - jak na vlastní makro: 21.4.2009 Makra - dělají se také pomocí #define - podobné (použitím) funkcím - předpřipravená jsou např. v ctype.h - jak na vlastní makro: #define je_velke(c) ((c) >= 'A' && (c)

Více

XML. Aleš Keprt 29.11.2005

XML. Aleš Keprt 29.11.2005 XML Aleš Keprt 29.11.2005 značkovací jazyk pro obecné použití pro vytváření speciálních značkovacích jazyků Nejčastější použití: výměna dat (při komunikaci) na internetu (společně nebo místo HTML) Je to

Více

Semestrální práce KIV/PC

Semestrální práce KIV/PC Semestrální práce KIV/PC Václav Löffelmann 2014-12-31 1 Zadání Naprogramujte v ANSI C přenositelnou konzolovou aplikaci, která jako vstup obdrží soubor obsahující obrázek ručně psané číslice a soubor s

Více

IAJCE Přednáška č. 8. double tprumer = (t1 + t2 + t3 + t4 + t5 + t6 + t7) / 7; Console.Write("\nPrumerna teplota je {0}", tprumer);

IAJCE Přednáška č. 8. double tprumer = (t1 + t2 + t3 + t4 + t5 + t6 + t7) / 7; Console.Write(\nPrumerna teplota je {0}, tprumer); Pole (array) Motivace Častá úloha práce s větším množstvím dat stejného typu o Př.: průměrná teplota za týden a odchylka od průměru v jednotlivých dnech Console.Write("Zadej T pro.den: "); double t = Double.Parse(Console.ReadLine());

Více

Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz)

Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz) Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz) Autor: Radek Vystavěl Díl 8: Analytická geometrie Polární souřadnice, kružnice, elipsa, spirála MATEMATIKA Pro úlohy aplikované

Více

WAK System. Ministerstvo dopravy ČR WAK System, spol. s r.o. Petržílkova 2564/21, 158 00 Praha 5 - Stodůlky

WAK System. Ministerstvo dopravy ČR WAK System, spol. s r.o. Petržílkova 2564/21, 158 00 Praha 5 - Stodůlky WAK System Název projektu: Systém automatizované kontroly a detekce změn bezpečnostního nastavení informačních systémů založený na specifikaci bezpečnostní politiky podle standardu BS7799 Číslo projektu:

Více

19. Projekt Adventura

19. Projekt Adventura Projekt Adventura strana 189 19. Projekt Adventura 19.1. Základní popis, zadání úkolu Pracujeme na projektu Adventura, který je ke stažení na java.vse.cz. Po otevření v BlueJ vytvoříme instanci třídy Hra.

Více

Malý úvod do programování

Malý úvod do programování Malý úvod do programování v.net C# JAROSLAV PEŇAŠKA 1 Copyright 2006, Jaroslav Peňaška - všechna práva vyhrazena Všechny názvy společností a značek, obchodní známky a loga jsou majetkem svých příslušných

Více

Aleš Keprt Univerzita Palackého v Olomouci listopad 2008, listopad 2009 PARALLEL FX A PARALELNÍ PROGRAMOVÁNÍ NA PLATFORMĚ.NET 4.0

Aleš Keprt Univerzita Palackého v Olomouci listopad 2008, listopad 2009 PARALLEL FX A PARALELNÍ PROGRAMOVÁNÍ NA PLATFORMĚ.NET 4.0 Aleš Keprt Univerzita Palackého v Olomouci listopad 2008, listopad 2009 PARALLEL FX A PARALELNÍ PROGRAMOVÁNÍ NA PLATFORMĚ.NET 4.0 AKTUÁLNÍ TRENDY V procesorech nám přibývá jader Na serverech, desktopech

Více

Java aplety. Předávání parametrů z HTML

Java aplety. Předávání parametrů z HTML Java aplety Aplety jsou speciální formou Java aplikací - mohou být spouštěny z prostředí WWW prohlížeče. Aby je prohlížeč spustil, musíme vložit do HTML stránky potřebné příkazy:

Více

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě PHP PHP původně znamenalo Personal Home Page a vzniklo v roce 1996, od té doby prošlo velkými změnami a nyní tato zkratka znamená Hypertext Preprocessor. PHP je skriptovací programovací jazyk, určený především

Více

Vývoj SW pro mobilní zařízení s ios. Petr Hruška, Skymia s.r.o. Teorie a praxe IP telefonie, 6.12.2012

Vývoj SW pro mobilní zařízení s ios. Petr Hruška, Skymia s.r.o. Teorie a praxe IP telefonie, 6.12.2012 Vývoj SW pro mobilní zařízení s ios Petr Hruška, Skymia s.r.o. Teorie a praxe IP telefonie, 6.12.2012 Perspektiva 3 roky zkušeností s vývojem aplikací pro ios 1 rok vývoj pro Android desítky aplikací Obsah

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu 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

Více

1. Úvod do Ajaxu 11. Jak Ajax funguje? 13

1. Úvod do Ajaxu 11. Jak Ajax funguje? 13 Obsah Úvodem 9 1. Úvod do Ajaxu 11 Jak Ajax funguje? 13 Popis 13 Ukázky 13 Jaké jsou možnosti tvorby interaktivních webových aplikací? 15 Co je třeba znát? 16 Jak fungují technologie Ajaxu 16 Jak funguje

Více

Kód. Proměnné. #include <iostream> using namespace std; int main(void) { cout << "Hello world!" << endl; cin.get(); return 0; }

Kód. Proměnné. #include <iostream> using namespace std; int main(void) { cout << Hello world! << endl; cin.get(); return 0; } Jazyk C++ Jazyk C++ je nástupcem jazyka C. C++ obsahuje skoro celý jazyk C, ale navíc přidává vysokoúrovňové vlastnosti vyšších jazyků. Z toho plyne, že (skoro) každý platný program v C je také platným

Více

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět Cílová skupina (ročník) Úroveň

Více

Business Intelligence

Business Intelligence Business Intelligence Josef Mlnařík ISSS Hradec Králové 7.4.2008 Obsah Co je Oracle Business Intelligence? Definice, Od dat k informacím, Nástroj pro operativní řízení, Integrace informací, Jednotná platforma

Více

Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb:

Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb: Technologie Marushka Základním konceptem technologie Marushka je použití jádra, které poskytuje přístup a jednotnou grafickou prezentaci geografických dat. Jádro je vyvíjeno na komponentním objektovém

Více

EVOLUCE VÝVOJE SOFTWARE V PROSTŘEDÍ MICROSTATION

EVOLUCE VÝVOJE SOFTWARE V PROSTŘEDÍ MICROSTATION EVOLUCE VÝVOJE SOFTWARE V PROSTŘEDÍ MICROSTATION Stanislav Sumbera stanislav@sumbera.com Abstrakt Příspěvek se zabývá jednotlivými programovacími jazyky a vývojovými platformami, které byly do prostředí

Více

Úvod do Web Services

Úvod do Web Services Úvod do Web Services Základy webových služeb a jejich implementace na platformě OS/2 Jarda Kačer jarda@kacer.biz Český Warpstock 2008 Brno, 20.-21.9.2008 Co je to webová služba? Část business logiky přístupná

Více

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU 8.6.2011

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU 8.6.2011 Technologie Java Enterprise Edition Přemek Brada, KIV ZČU 8.6.2011 Přehled tématu Motivace a úvod Infrastruktura pro velké Java aplikace (Java základní přehled) Části třívrstvé struktury servlety, JSP

Více