Principy tvorby objektů v komponentním frameworku BCF
|
|
- Karla Tesařová
- před 9 lety
- Počet zobrazení:
Transkript
1 Principy tvorby objektů v komponentním frameworku BCF Michal Brožek Katedra měřicí a řídicí techniky, VŠB Technická univerzita Ostrava, FEI, tř. 17. Listopadu, , Ostrava Poruba, Česká republika. Abstrakt Komponentní framework je pro většinu programátorů novým konceptem. Jednotné používání návrhových modelů v BCF (BlackBox Component Framework) značně přispívá k pochopení frameworku. V příspěvku budou čtenáři seznámeni s konkrétními postupy používání a vytváření nových objektů na základě návrhových vzorů v komponentním frameworku BCF. Tyto postupy vycházejí z principů komponentního programování v BCF. Jednoduché názorné ukázky konkrétního použití návrhových vzorů budou psány v implementačním jazyce Component Pascal. Protože BCF je zaměřen na zpracování složených dokumentů, i když nejenom na ně, budou pro demonstraci použity příklady zaměřené na zpracování dokumentů. Příspěvek vznikl na základě práce na projektu GAČR Vývoj programových a technických prostředků pro přenositelné a bezpečné aplikace řízení procesů číslo projektu 102/97/0542. A projektu FRVŠ Techniky komponentního programování v oblasti návrhu a implementace řídicích systémů číslo projektu 0655/ Úvod Protože je Component Pascal velmi podobný Pascalu a ještě více Module, mohou programující v těchto jazycích velmi rychle proniknout do problematiky programování v BCF. Flexibilita Component Pascalu umožňuje psát jak jednoduché programy, tak složité aplikace orientované na zpracování dokumentů v tomtéž jazyce. Vyspělý typový a modulární systém BCF umožňuje vyjádřit návrhové aspekty programu. Tím je umožněna i kontrola kompilátorem. Touto cestou je tedy možno považovat jazyk nejenom za prostředek implementace, ale i za prostředek specifikace. Na rozdíl od C++ nebo Smalltalku lze přímo v Component Pascalu vyjádřit řadu důležitých aspektů softwarové architektury. BCF je zaměřen na aplikace založené na dokumentech. Jak již jméno samotné napovídá, je BCF založen na principech abstrakce typu black-box. Framework se skládá z jádra, které je tvořeno vrstvenými moduly, a otevřené množiny sub-systémů. 18
2 Každý sub-systém je sám o sobě množinou vrstvených modulů. BCF se zaměřuje na vizuální komponenty což je flexibilní koncept, jak se ukázalo v případech VB, OLE, ActiveX prvků nebo JavaBeans. Základním kamenem vizuálních komponent je to, jak vypadají a interakce se svým obsahem a obsaženými komponentami. Hlavní abstrakcí v BCF je proto obraz ( view ). V BCF může být obraz plně soběstačný, tj. obsahuje vlastní zabudovaný model a ovladač (editor). Pro více komplexní obraz, jako jsou třeba kontejnerové obrazy, je použito řádné rozdělení na modely, obrazy a ovladače k dosažení zvýšené možnosti konfigurace a zvládnutí komplexnosti. 2. Objekty v BCF Pro pochopení dále uvedených příkladů je nutné objasnit způsob, jak jsou v BCF objekty definovány a jaké metody je možné vytvářet. Component Pascal používá jednotnou konstrukci pro označení jak rozhraní objektů, tak i jejich implementací záznamy. Toto sjednocení dovoluje fixovat některé implementační aspekty rozhraní, zatímco jiné mohou zůstat otevřené. Tato flexibilita je v komplexním frameworku často žádoucí. Je důležité sdělit architektonická rozhodnutí co nejpřesněji. Z tohoto důvodu může být záznam v Component Pascalu ohodnocen atributy tak, aby rozhraní explicitně zahrnovalo základní architektonická rozhodnutí. Je výhodou, že kompilátor umožňuje ověřování těchto rozhodnutí. Tyto atributy jsou EXTENSIBLE, ABSTRACT a LIMITED. Tyto atributy umožňují rozlišovat čtyři možné kombinace rozšíření a alokace: Tab. 1: Atributy architektury záznamu Atribut Rozšiřitelnost Alokace Přiřazení záznamu Bez NE ANO ANO ("FINAL") EXTENSIBLE ANO ANO NE ABSTRACT ANO NE NE LIMITED NE* NE* NE *kromě definujícího modulu Typ záznam je struktura, která je složena z neměnného počtu elementů, nazývaných položky, které mohou být různých typů. Deklarace typu záznam specifikuje jméno a typ každé položky. Každá položka může být exportována, tedy zpřístupněna. Component Pascal umožňuje kromě standardního exportu navíc tzv. read-only export (obsah proměnné, nebo položky záznamu může být pouze přečten, ale ne změněn). V rámci definujícího modulu jsou všechny položky veřejné a je možné je číst i změnit. Atributy jsou tedy uplatněny pouze za hranicemi definujícího modulu. 19
3 Tab. 2: Atributy viditelnosti Atribut Význam bez označení Soukromá položka mínus Export pouze pro čtení Hvězdička * Export čtení i změna Pozn.: Atributy jsou používány pro proměnné, konstanty, typy, procedury i metody. Typy záznamů označené jako ABSTRACT nebo EXTENSIBLE jsou rozšiřitelné, neboli mohou být použity jako základ pro rozšiřující záznam. Uveďme následující příklad: T0 = EXTENSIBLE RECORD x: INTEGER END T1 = RECORD (T0) y: REAL END V tomto příkladu je T1 rozšířením T0 a T0 je základním typem pro T1. Rozšiřující typ T1 se skládá z položek svého základního typu a z položek, které sám deklaruje. Všechny identifikátory, které jsou nově zavedeny, musí být jiné než ty, které byly deklarovány v původním, základním záznamu (záznamech). Existují další pravidla, která zaručují zachování neměnnosti architektonických rozhodnutí, a která jsou kontrolována kompilátorem. Základním typem abstraktního záznamu musí být abstraktní záznam. Záznam, který rozšiřuje skrytý (neexportovaný) záznam, nemůže být exportován. Jakýkoliv záznam je automaticky rozšířením předdeklarovaného záznamu ANYREC. ANYREC neobsahuje žádné položky. Příklady definic záznamů: Tree = POINTER TO Node Node = EXTENSIBLE RECORD Key : INTEGER; Left, right: Tree END CenterTree = POINTER TO CenterNode CenterNode = RECORD (Node) Width: INTEGER; subnode: Tree END Object=POINTER TO ABSTRACT RECORD END; 2.1 Metody Globálně deklarované procedury mohou být ve stejném modulu asociovány se záznamem. Říkáme, že metody jsou svázány s typem záznam. Vazba je vyjádřena typem příjemce v hlavičce deklarace metody. Příjemce může být parametr (VAR nebo IN) nebo odkaz. Příkladem hlavičky deklarace metody svázané se záznamem T0 může být následující: PROCEDURE (VAR t: T0) Insert (a: INTEGER), NEW; V tomto případě je příjemcem proměnná t typu T0. To znamená, že metoda Insert je svázaná se záznamem T0. Jestliže je metoda M svázána s typem T0, pak je 20
4 explicitně svázána s jakýmkoliv typem T1, který je rozšířením T0. Jestliže je metoda M` (se stejným názvem jako M) deklarována a svázána s T1, pak dojde k přepsání vazby a nová metoda M` je redefinicí původní M pro záznam T1. Formální parametry M a M` musí být shodné. Výjimkou je případ, kdy M je funkce vracející ukazatel. V tomto případě musí být návratový typ (výsledek) funkce M` rozšířením návratového typu M. Tab. 3: Atributy metod Atribut NEW ABSTRACT EMPTY EXTENSIBLE Význam Poprvé definovaná metoda Abstraktní metoda Prázdná neimplementovaná metoda Rozšiřitelná metoda Atribut NEW musí být použit u všech nově deklarovaných metod a nesmí být použit u předefinování metod. Tento atribut pomáhá detekovat nekonzistence mezi záznamem a jeho rozšířením, pokud jeden z nich je změněn, aniž by byl aktualizovaný druhý. Abstraktní (ABSTRACT) a prázdné (EMPTY) metody jsou tvořeny pouze hlavičkou procedury. Abstraktní metody nejsou nikdy volány. Záznam, který obsahuje abstraktní metody, musí být rovněž abstraktní. Volání prázdné (EMPTY) metody nemá žádný efekt. U metod označených symbolem je exportována pouze implementace. Takovéto metody mohou být sice předefinovány, ale jejich volání je možné jen z modulu, kde je provedena implementace. Příklady metod: PROCEDURE (obj: Object) Draw (w: Window), NEW, ABSTRACT (* nová abstraktní metoda *) PROCEDURE (obj: Object) Notify (e: Event), NEW, EMPTY (* nová prázdná metoda *) PROCEDURE (t: Tree) Insert (node: Tree), NEW, EXTENSIBLE; VAR p, father: Tree; (* zde je nějaký implementující kód*) END Insert PROCEDURE (t: CenterTree) Insert (node: Tree); (* redefinice *) (* nová implementace *) 21
5 t.insert^ (node) (* volá metodu Insert záznamu Tree super call*) END Insert 3. Návrhové vzory Architektura BCF je založena na velkém množství nových vzorů a postupů. Některé z nich jsou specifické pouze pro BlackBox. V této kapitole se budeme zabývat nejčastěji používanými návrhovými vzory v BCF: carrier-rider-mapper separace (CRM separace), directory objekty a HMVC. 3.1 Nosič-Jezdec-Formátovač návrhový vzor Nosič-Jezdec-Formátovač (CRM) návrhový vzor je v BCF takřka všudypřítomný. Tím, že je sjednocujícím prvkem v celém BCF, přispívá k porozumitelnosti frameworku. Klíčová idea je oddělení objektů, které nesou data (Nosič), přístupové cesty k datům v těchto objektech (Jezdec) a filtrům, které formátují data (Formátovače). Nosič udržuje data, která jsou přístupná logicky podle pozice. Abstraktní rozhraní Nosiče otevírá cestu pro rozšiřitelnost: mnoho konkrétních implementací může implementovat právě toto abstraktní rozhraní. Jezdec zapouzdřuje přístupovou cestu k datům na dané pozici. Nosič vytvoří svého Jezdce a tím má Nosič privilegovaný přístup k implementaci Jezdce. Proto Jezdec může efektivně udržovat specifický přístup k Nosiči. Rozdělení na Nosiče a Jezdce je obdobné jako návrhový vzor Iterátor [1][2] (viz. dále). Klienti používají kombinaci přímého rozhraní Nosiče a poskytovaného rozhraní Jezdce pro přístup k Nosiči. Společně rozhraní Nosiče a Jezdce tvoří úzké hrdlo, které ruší vazbu klienta od potenciálně mnoha implementací Nosiče. Formátovače jsou používány pro poskytnutí rozhraní, které je mnohem vhodnější pro určité klienty, jimž nevyhovuje surové rozhraní, které poskytuje Nosič a Jezdec. Klient 1:1 Formátovač 1:1 Jezdec n:1 Nosič Uživatelské rozhraní úzké rozhraní rozhraní na implementaci Obr. 1 Nosič-Jezdec-Formátovač 3.2 Directory objekty BlackBox abstrakce v BCF je přivedena do takového extrému, že ani jména abstraktních rozhraní nejsou veřejná. Použití příkazu NEW (součást jazyka) je předepsáno tak, že vyžaduje jméno třídy. Namísto toho jsou nové objekty vytvářeny použitím factory ( továrních ) metod nebo objektů[2]. Factory objekty, které jsou v BCF nazývány directory objekty, jsou použity, když je potřeba vytvořit nový objekt. 22
6 Každý modul, který zavádí novou abstrakci, zároveň poskytuje konfigurovatelný directory objekt, a pokud ten není k dispozici, je nahrazen standardním directory objektem. Použití je zřejmé z následujícího jednoduchého demonstračního příkladu: Directory = POINTER TO ABSTRACT RECORD END; VAR dir- : Directory; PROCEDURE (d : Directory) New* (): Docu, NEW; VAR doc : Docu; NEW(doc); (* zde jsou možné počáteční inicializace *) RETURN doc (* vrací nově vytvořený objekt *) END New; VAR Dok1 : Docu; Dok1 := dir.new(); 3.3 Hierarchický Model-Obraz-Ovladač (HMVC) Původní model MVC je nepoužitelný pro kombinované dokumenty, a proto BCF definuje model, který takovéto dokumenty podporuje [3]. Model je datová struktura, která uchovává data. Příkladem modelu v BlackBoxu je textový model. Text se skládá nejenom z pole znaků, ale obsahuje také font, velikost měřenou obvykle v bodech, a různorodé atributy, jako je podtržené, tlusté, italické atd. Všechny tyto informace musí být uloženy spolu s každým znakem v modelu. Obraz je vizuální reprezentace modelu v okně. V případě textového modelu jsou v okně znázorněny znaky. V závislosti na atributech uložených v textovém modelu budou znaky zobrazovány na obrazovce v daném fontu, budou normální nebo podtržené atd. Už teď je zřejmé, z významu modelu a obrazu, že obraz nebude existovat bez modelu. Protože obraz je vizuální zobrazení modelu na výstupním zařízení (obrazovce), musí mít něco, co zobrazí. Z pohledu programování musí být vytvořen nejprve model a teprve následovně je možné jej zobrazit pomocí obrazu. Ovladač je objekt, který řídí vzájemné působení mezi uživatelem a oknem (tedy obrazem), a manipuluje tak s modelem [4]. V příkladu textového modelu uživatel může chtít vložit slovo do textu na určitou pozici ve větě. Uživatel umístí kurzor pomocí myši do místa vkládání, klikne myší a pak začne psát slovo. Ovladač mění tvar kurzoru při pohybu nad textem a při kliknutí myši umístí kurzor na danou pozici. Ovladač je objekt, který řídí vzájemnou interakci mezi uživatelem a obrazem tak, aby měnil model. Primárním návrhovým konceptem MVC je oddělení obrazu od modelu. V HMVC může model obsahovat vnořené obrazy, pro které samozřejmě platí vše řečené. 3.4 Iterátory Model, obraz a ovladač jsou všechno objekty. Kromě nich je v BlackBoxu ještě jeden druh objektu, který je nutný pro I/O operace v oknech iterátory. Většina datových struktur je skladovými kontejnery pro sběr hodnot. Iterátor pro datovou strukturu je 23
7 objekt, který pracuje na kolekci dat. Iterátory v BlackBoxu jsou nezbytné pro I/O operace oken a jsou navrženy pro práci s hodnotami znaků, uložených v textovém modelu. V BlackBoxu jsou dva druhy iterátoru pro text jeden pro vkládání textu do modelu, nazývaný formátovač, a jeden pro čtení hodnot z modelu, nazývaný skener. Formátovače jsou používány pro výstup z oken a skenery pro vstup do oken. Každý z těchto iterátorů má vztah na textový model a nemá žádný vztah na obraz. Následující jednoduchý demonstrační příklad ukazuje vztah mezi modelem a obrazem v použití spolu s iterátorem. PROCEDURE (doc : Docu) OpenDocu*, NEW; VAR md : TextModels.Model; (* model *) vw : TextViews.View; (* obraz *) fm : TextMappers.Formatter; (* iterátor formátovač *) md := TextModels.dir.New(); (* directory objekt pro model *) fm.connectto(md); (* připojení iterátoru na model *) fm.writestring("ahoj:"); fm.writetab; fm.writeint(ab.a); fm.writetab; fm.writeint(ab.b); fm.writeln; vw := TextViews.dir.New(md); (* directory objekt pro obraz napojení na model*) Views.OpenView(vw); END Print; 4. Závěr Nosič-Jezdec-Formátovač návrhový vzor je v BCF takřka všudypřítomný. Tím, že je sjednocujícím prvkem v celém BCF, přispívá k porozumitelnosti frameworku. Klíčová idea je oddělení objektů, které nesou data (Nosič), přístupové cesty k datům v těchto objektech (Jezdec) a filtrům, které formátují data (Formátovače). Component Pascal používá jednotnou konstrukci pro označení jak rozhraní objektů, tak i jejich implementací: záznamy. Toto sjednocení dovoluje fixovat některé implementační aspekty rozhraní, zatímco jiné mohou zůstat otevřené. Tato flexibilita je v komplexním frameworku často žádoucí. Silným konceptem jsou abstraktní rozhraní a directory objekty. Kombinací obou lze vytvářet abstraktní rozhraní komponent s konkrétní i když ne viditelnou implementací, přístupnou právě pomocí těchto directory objektů. Tento koncept rovněž vychází z principů CMR separace. 24
8 Literatura: [1] Gamma, E., Helm, R., Johnson, R.,Vlissides, J., Design Patterns: Elements of Reusable Object-Oriented Software. Reading, MA: Addison-Wasley, [2] Warford, J., Programming in BlackBox The PBox Project. ftp://ftp.pepperdine.edu/pub/compsci/prog-bbox [3] Szyperski, C., Component Software Beyond Object-Oriented Programming. Reading, MA: Addison-Wesley, [4] BlackBox Component Builder Documentation. Switzerland, Oberon microsystems, Inc.,
Návrh programu v Black Box Component Builderu s využitím architektury Model View Controller
Návrh programu v Black Box Component Builderu s využitím architektury Model View Controller Gustav Hrudka Katedra měřicí a řídicí techniky, VŠB Technická univerzita v Ostravě, tř. 17. listopadu, 708 33
Návrhové vzory. Jakub Klemsa, Jan Legerský. 30. října Objektově orientované programování.
Jakub Klemsa Jan Legerský Objektově orientované programování klemsjak@fjfi.cvut.cz jan.legersky@gmail.com 30. října 2012 návrhový vzor (design pattern) obecné řešení problému, které se využívá při návrhu
TÉMATICKÝ OKRUH Softwarové inženýrství
TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 25. Otázka : Komponentní technologie - základní pojmy a principy, metody specifikace komponent. Obsah : 1. Základní pojmy 1.1 Komponenta Komponenta
Sdílení dat mezi podprogramy
Sdílení dat mezi podprogramy Datové objekty mohou být mezi podprogramy sdíleny pomocí ne-lokálních referenčních prostředí, která jsou vytvářena na základě æ explicitních modifikací (formální parametry
1. Dědičnost a polymorfismus
1. Dědičnost a polymorfismus Cíl látky Cílem této kapitoly je představit klíčové pojmy dědičnosti a polymorfismu. Předtím však je nutné se seznámit se základními pojmy zobecnění neboli generalizace. Komentář
Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
TÉMATICKÝ OKRUH Softwarové inženýrství
TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 24. Otázka : Implementační fáze. Postupy při specifikaci organizace softwarových komponent pomocí UML. Mapování modelů na struktury programovacího
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ě
Základy objektové orientace I. Únor 2010
Seminář Java Základy objektové orientace I Radek Kočí Fakulta informačních technologií VUT Únor 2010 Radek Kočí Seminář Java Základy OO (1) 1/ 20 Téma přednášky Charakteristika objektově orientovaných
02. HODINA. 2.1 Typy souborů a objektů. 2.2 Ovládací prvky Label a TextBox
02. HODINA Obsah: 1. Typy souborů a objektů 2. Ovládací prvky Label a TextBox 3. Základní příkazy a vlastnosti ovládacích prvků 4. Práce s objekty (ovládací prvky a jejich vlastnosti) 2.1 Typy souborů
Sada 1 - Základy programování
S třední škola stavební Jihlava Sada 1 - Základy programování 06. Proměnné, deklarace proměnných Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284
Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky
Vyučovací hodina 1vyučovací hodina: Opakování z minulé hodiny Nová látka Procvičení nové látky Shrnutí 5 min 20 min 15 min 5 min 2vyučovací hodiny: Opakování z minulé hodiny Nová látka Procvičení nové
Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7
Pascal Katedra aplikované kybernetiky Ing. Miroslav Vavroušek Verze 7 Proměnné Proměnná uchovává nějakou informaci potřebnou pro práci programu. Má ve svém oboru platnosti unikátní jméno. (Připadne, musí
dovolují dělení velkých úloh na menší = dekompozice
Podprogramy dovolují dělení velkých úloh na menší = dekompozice Příklad: Vytiskněte tabulku malé násobilky ve tvaru XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X X 1 2 3 4 5 6 7 8 9 10 X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
type Obdelnik = array [1..3, 1..4] of integer; var M: Obdelnik;
Vícerozměrné pole type Obdelnik = array [1..3, 1..4] of integer; var M: Obdelnik; M[2,3] := 3145; - počet indexů není omezen (v praxi obvykle nejvýše tři) - více indexů pomalejší přístup k prvku (počítá
PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette
Kapitola 1 PHP framework Nette 1.1 Úvod Zkratka PHP (z anglického PHP: Hypertext Preprocessor) označuje populární skriptovací jazyk primárně navržený pro vývoj webových aplikací. Jeho oblíbenost vyplývá
Maturitní otázky z předmětu PROGRAMOVÁNÍ
Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti
Unity a Objekty (NMIN102) RNDr. Michal Žemlička, Ph.D.
Unity a Objekty Programování 2 (NMIN102) RNDr. Michal Žemlička, Ph.D. Větší programy Časté problémy: Ve více programech by se nám hodilo využít stejné řešení nějakého podproblému dalo by se vyřešit překopírováním
Programování II. Modularita 2017/18
Programování II Modularita 2017/18 Modul? Osnova přednášky Vývoj programování Modularita Příklad Vývoj programování Paradigmata programování Jak a proč se jazyky vyvíjejí? V čem se OOP liší od předchozích
Analýza a Návrh. Analýza
Analysis & Design Návrh nebo Design? Design = návrh Není vytváření použitelného uživatelského prostředí (pouze malinká podmnožina celého návrhu) Často takto omezeně chápáno studenty nedokáží si představit,
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ývoj informačních systémů. Architektura, návrh Vzory: Doménová logika
Vývoj informačních systémů Architektura, návrh Vzory: Doménová logika Zachman Framework Zdroje Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Design Patterns: Elements of Reusable Object-Oriented
DUM 06 téma: Tvorba makra pomocí VBA
DUM 06 téma: Tvorba makra pomocí VBA ze sady: 03 tematický okruh sady: Tvorba skript a maker ze šablony: 10 Algoritmizace a programování určeno pro: 4. ročník vzdělávací obor: 18-20-M/01 Informační technologie
NPRG030 Programování I, 2015/16 1 / :25:32
NPRG030 Programování I, 2015/16 1 / 21 22. 10. 2015 13:25:32 Podprogramy Příklad: Vytiskněte tabulku malé násobilky ve tvaru XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X X 1 2 3 4 5 6 7 8 9 10 X
První kroky s METEL IEC IDE
První kroky s poskytuje programování v IEC 61131-3 jazycích, podporuje jak grafickou tak textovou podobu. Umožňuje vytvářet, upravovat a ladit IEC 61131-3 (ST, LD, IL, FBD) programy pro řídicí jednotky
11 Diagram tříd, asociace, dědičnost, abstraktní třídy
11 Diagram tříd, asociace, dědičnost, abstraktní třídy 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 diagramům tříd, asociaci,
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ý
Postupy práce se šablonami IS MPP
Postupy práce se šablonami IS MPP Modul plánování a přezkoumávání, verze 1.20 vypracovala společnost ASD Software, s.r.o. dokument ze dne 27. 3. 2013, verze 1.01 Postupy práce se šablonami IS MPP Modul
MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ
MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ 1) PROGRAM, ZDROJOVÝ KÓD, PŘEKLAD PROGRAMU 3 2) HISTORIE TVORBY PROGRAMŮ 3 3) SYNTAXE A SÉMANTIKA 3 4) SPECIFIKACE
typová konverze typová inference
Seminář Java Programování v Javě II Radek Kočí Fakulta informačních technologií VUT Únor 2008 Radek Kočí Seminář Java Programování v Javě (2) 1/ 36 Téma přednášky Rozhraní: použití, dědičnost Hierarchie
CineStar Černý Most Praha 31. 10. 2012
CineStar Černý Most Praha 31. 10. 2012 Stejná aplikace na více zařízeních Michael Juřek Microsoft s.r.o. Potřebné ingredience 1. Portable libraries 2. Návrhový vzor MVVM 3. XAML 4. Abstrakce platformy
Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných
Tematický celek 03 3.1 Proměnné Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace. 3.1.1 Deklarace proměnných Dim jméno_proměnné [As typ] - deklarace uvnitř procedury platí pouze pro
Odvozené a strukturované typy dat
Odvozené a strukturované typy dat Petr Šaloun katedra informatiky FEI VŠB-TU Ostrava 14. listopadu 2011 Petr Šaloun (katedra informatiky FEI VŠB-TU Ostrava) Odvozené a strukturované typy dat 14. listopadu
ADMINISTRACE POČÍTAČOVÝCH SÍTÍ. OPC Server
ADMINISTRACE POČÍTAČOVÝCH SÍTÍ OPC Server Funkce a využití v průmyslové automatizaci Jiří NOSEK 2011 Co je OPC Server? OPC = Open Process Control (původně OLE for Process Control) sada specifikací průmyslového
Prostředí pro výuku vývoje PCI ovladačů do operačního systému GNU/Linux
KONTAKT 2011 Prostředí pro výuku vývoje PCI ovladačů do operačního systému GNU/Linux Autor: Rostislav Lisový (lisovy@gmail.com) Vedoucí: Ing. Pavel Píša, Ph.D. (pisa@cmp.felk.cvut.cz) Katedra řídicí techniky
Příloha 6. Palety nástrojů
Příloha 6. Palety nástrojů Palety nástrojů v IDE poskytují zkrácení pro příkazy nabídky. Příkazy jsou rozděleny do několika palet nástrojů, které mohou být nezávisle přeskupeny nebo vloženy do plovoucích
Vývoj informačních systémů. Přehled témat a úkolů
Vývoj informačních systémů Přehled témat a úkolů Organizace výuky doc. Mgr. Miloš Kudělka, Ph.D. EA 439, +420 597 325 877 homel.vsb.cz/~kud007 milos.kudelka@vsb.cz Přednáška Znalosti Schopnosti Cvičení
Tvorba aplikací v prostředí Black Box Component Builder
Tvorba aplikací v prostředí Black Box Component Builder Jindřich Černohorský Katedra měřicí a řídicí techniky, VŠB Technická univerzita v Ostravě, tř.17 listopadu, 708 33 Ostrava-Poruba, Česká republika
PB161 Programování v jazyce C++ Přednáška 7
PB161 Programování v jazyce C++ Přednáška 7 Statické položky tříd Základy OOP Nikola Beneš 6. listopadu 2018 PB161 přednáška 7: static, základy OOP 6. listopadu 2018 1 / 21 Klíčové slovo static Znáte z
PB161 Programování v jazyce C++ Přednáška 7
PB161 Programování v jazyce C++ Přednáška 7 Statické položky tříd Základy OOP Nikola Beneš 6. listopadu 2018 PB161 přednáška 7: static, základy OOP 6. listopadu 2018 1 / 21 Klíčové slovo static Znáte z
PODPROGRAMY PROCEDURY A FUNKCE
PODPROGRAMY PROCEDURY A FUNKCE Programy bez podprogramů Příklady: a) Napište program, který na obrazovku nakreslí čáru složenou ze znaků pomlčka. program Cara; b) Napište program, který na obrazovku nakreslí
Úvod. Programovací paradigmata
.. Úvod. Programovací paradigmata Programovací techniky doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Cíl: programování efektivně a bezpečně Programovací techniky
Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů
- 1.1 - Kapitola 1: Úvod Účel databázových systémů Pohled na data Modely dat Jazyk pro definici dat (Data Definition Language; DDL) Jazyk pro manipulaci s daty (Data Manipulation Language; DML) Správa
Softwarové komponenty a Internet
Softwarové komponenty a Internet Doc. Dr. Ing. Miroslav Beneš Katedra informatiky FEI VŠB-TU Ostrava Miroslav.Benes@vsb.cz Obsah přednášky Motivace Vývoj přístupů k tvorbě programů Definice komponenty
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í
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
Obsah. Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13
Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13 KAPITOLA 1 Na úvod o Javě 15 Počítačový program 15 Vysokoúrovňový programovací
Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Jarkovský, L. Dušek, M. Cvanová. 5. Statistica
Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Jarkovský, L. Dušek, M. Cvanová 5. Statistica StatSoft, Inc., http://www.statsoft.com, http://www.statsoft.cz. Verze pro Mac i PC, dostupná
Vývoj informačních systémů. Architektura, návrh Vzory: Doménová logika
Vývoj informačních systémů Architektura, návrh Vzory: Doménová logika Zachman Framework Zdroje Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Design Patterns: Elements of Reusable Object-Oriented
Programovací jazyk Pascal
Programovací jazyk Pascal Syntaktická pravidla (syntaxe jazyka) přesná pravidla pro zápis příkazů Sémantická pravidla (sémantika jazyka) pravidla, která každému příkazu přiřadí přesný význam Všechny konstrukce
Tabulka symbolů. Vazba (binding) Vazba - příklad. Deklarace a definice. Miroslav Beneš Dušan Kolář
Vazba (binding) Tabulka symbolů Miroslav Beneš Dušan Kolář vazba = spojení mezi entitou a vlastností okamžik vazby (binding time) při návrhu jazyka při implementaci jazyka během překladu/spojování/zavádění
NetBeans platforma. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
NetBeans platforma Aplikační programování v Javě (BI-APJ) - 7 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha Evropský sociální fond Praha & EU: Investujeme
Použití inteligentních značek s informačními službami
Použití inteligentních značek s informačními službami Jan Fransen Podokno úloh Zdroje informací v aplikacích sady Microsoft Office 2003 umožňuje uživatelům snadno prohledávat množství integrovaných či
2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.
Informatika 10. 9. 2013 Jméno a příjmení Rodné číslo 1) Napište algoritmus pro rychlé třídění (quicksort). 2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus
2 PŘÍKLAD IMPORTU ZATÍŽENÍ Z XML
ROZHRANÍ ESA XML Ing. Richard Vondráček SCIA CZ, s. r. o., Thákurova 3, 160 00 Praha 6 www.scia.cz 1 OTEVŘENÝ FORMÁT Jednou z mnoha užitečných vlastností programu ESA PT je podpora otevřeného rozhraní
Objektově orientované technologie Diagram komponent Implementační náhled (Diagram rozmístění) Pavel Děrgel, Daniela Szturcová
Objektově orientované technologie Diagram komponent Implementační náhled (Diagram rozmístění) Pavel Děrgel, Daniela Szturcová Osnova K čemu slouží diagram komponent obsah komponent závislosti rozhraní
TÉMATICKÝ OKRUH Softwarové inženýrství
TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 29. Otázka : Zpracování událostí: mechanismus událostí a jejich zpracování (Event/Listener), nepřímá invokace (Observer/Observable). Obsah : 1. Mechanisums
PŘETĚŽOVÁNÍ OPERÁTORŮ
PŘETĚŽOVÁNÍ OPERÁTORŮ Jazyk C# podobně jako jazyk C++ umožňuje přetěžovat operátory, tj. rozšířit definice některých standardních operátorů na uživatelem definované typy (třídy a struktury). Stejně jako
UML. Unified Modeling Language. Součásti UML
UML Unified Modeling Language 1995 počátek 1997 verze 1.0 leden dnes verze 2.0 (vývoj stále nedokončen) Standardní notace OMG podpora velkých firem (Microsoft, IBM, Oracle, HP ) popisuje struktury popisuje
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
Programování v C++, 2. cvičení
Programování v C++, 2. cvičení 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 Operátory new a delete 2 3 Operátory new a delete minule
Objektově relační databáze a ORACLE 8
Objektově relační databáze a ORACLE 8 Ludmila Kalužová VŠB - TU Ostrava, Ekonomická fakulta, Katedra informatiky v ekonomice, Sokolská 33, 701 21 Ostrava 1 Abstrakt V současné době existuje velký počet
Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost rozhraním a výjimkám.
13 Rozhraní, výjimky 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 rozhraním a výjimkám. Doba nutná k nastudování 2 2,5 hodiny
InsideBusiness Payments CEE
InsideBusiness Payments CEE Referenční příručka k novému vzhledu Přístupová cesta do střední a východní Evropy InsideBusiness Payments CEE Potřebujete pohodlný a bezproblémový přístup k úplné nabídce služeb
Programovací jazyk. - norma PASCAL (1974) - implementace Turbo Pascal, Borland Pascal FreePascal Object Pascal (Delphi)
Programovací jazyk - norma PASCAL (1974) - implementace Turbo Pascal, Borland Pascal FreePascal Object Pascal (Delphi) Odlišnosti implementace od normy - odchylky např.: nepovinná hlavička programu odlišná
(IMPACT) CZ.1.07/2.2.00/
Word 2010 Kurz 6 1. Propojování dokumentů MS Office 1 2. Vodoznak 3 3. Hypertextový odkaz 4 4. Osnova 5 5. Hlavní a vnořené dokumenty 7 Propojování dokumentů MS Office Program Word umožňuje kromě vložení
ALGORITMIZACE A PROGRAMOVÁNÍ
Metodický list č. 1 Algoritmus a jeho implementace počítačovým programem Základním cílem tohoto tematického celku je vysvětlení pojmů algoritmus a programová implementace algoritmu. Dále je cílem seznámení
7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd
7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd Algoritmizace (Y36ALG), Šumperk - 7. přednáška 1 Třída jako zdroj funkcionality Třída v jazyku Java je programová jednotka tvořená
5a. Makra Visual Basic pro Microsoft Escel. Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina
5a. Makra Visual Basic pro Microsoft Escel Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina Cyklické odkazy a iterativní výpočty Zde bude stránka o cyklických odkazech a iteracích.
Objektově orientovaný přístup
Objektově orientovaný přístup 1 Historie programovacích jazyků 1945: John von Neumann článek o nové metodě pro ukládání programů 1945: Grace Hopper poprvé termín "bug" 1946: Konrad Zuse Plankalkul - první
PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY BAKALÁŘSKÁ PRÁCE. Návrhové vzory. 2013 Dan Doležel
PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY BAKALÁŘSKÁ PRÁCE Návrhové vzory 2013 Dan Doležel Anotace Návrhové vzory jsou doporučené postupy pro řešení často se vyskytujících úloh. V
Fingerprint Verification Control
Pantek Productivity Pack Fingerprint Verification Control Verze 1.1 10. října 2001 Obsah ÚVOD... 3 Charakteristika produktu... 3 Systémové požadavky... 3 Instalace... 4 Licencování... 4 POPIS ROZHRANÍ...
Allegro framework. Podstatné vlastnosti. Allegro Business Solution Framework
Allegro framework Všechny Allegro produkty jsou postaveny na společné vývojové platformě Allegro Framework. Jedná se o programové a uživatelské rozhraní, které jsme vytvořili s cílem získat společnou webovou
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
Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15
Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15 KAPITOLA 1 Úvod do programo vání v jazyce C++ 17 Základní pojmy 17 Proměnné a konstanty 18 Typy příkazů 18 IDE integrované vývojové
Informační systémy 2008/2009. Radim Farana. Obsah. Nástroje business modelování. Business modelling, základní nástroje a metody business modelování.
3 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Business modelling, základní nástroje a metody business modelování.
Programování II. Třídy a objekty (objektová orientovanost) 2018/19
Programování II Třídy a objekty (objektová orientovanost) 2018/19 Osnova přednášky Objektový přístup (proč potřebujeme objekty). Třídy, objekty,... Příklad. Proč potřebujeme objekty? Udržovatelnost softwaru
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
Algoritmizace prostorových úloh
INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Datové struktury Daniela Szturcová
Roční periodická zpráva projektu
WAK-1F44C-2005-2 WAK System Název projektu: Automatizovaná výměna dat mezi informačními systémy krizového řízení v dopravě s jednotným univerzálním a implementovaným rozhraním založeným na standardu webových
Obsah. Zpracoval:
Zpracoval: houzvjir@fel.cvut.cz 03. Modelem řízený vývoj. Doménový (business), konceptuální (analytický) a logický (návrhový) model. Vize projektu. (A7B36SIN) Obsah Modelem řízený vývoj... 2 Cíl MDD, proč
RadioBase 3 Databázový subsystém pro správu dat vysílačů plošného pokrytí
Databázový subsystém pro správu dat vysílačů plošného pokrytí RadioBase je datový subsystém pro ukládání a správu dat vysílačů plošného pokrytí zejména pro služby analogové a digitální televize a rozhlasu.
Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části:
Aplikace Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části: prezentační vrstva vstup dat, zobrazení výsledků, uživatelské rozhraní, logika uživatelského rozhraní aplikační vrstva
MVC (Model-View-Controller)
MVC vs PAC MVC (Model-View-Controller) Architektonický vzor zabývající se uživatelským rozhraním Odděluje doménovou (bussiness) logiku a uživatelské rozhraní do tří nezávislých komponent: Model View Controller
Obsah přednášky. programovacího jazyka. Motivace. Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup Kontinuace Program
Denotační sémantika programovacího jazyka doc. Dr. Ing. Miroslav Beneš katedra informatiky, A-1007 59 732 4213 Obsah přednášky Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup
Reliance 3 design OBSAH
Reliance 3 design Obsah OBSAH 1. První kroky... 3 1.1 Úvod... 3 1.2 Založení nového projektu... 4 1.3 Tvorba projektu... 6 1.3.1 Správce stanic definice stanic, proměnných, stavových hlášení a komunikačních
Národní standard pro elektronické systémy spisové služby
Národní standard pro elektronické systémy spisové služby Ing. Miroslav Kunt 29.11.2017 Národní standard pro essl NSESSS je prováděcí právní předpis zákona č. 499/2004 Sb., o archivnictví a spisové službě
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é
Obsah. Začínáme programovat v Ruby on Rails 9. Úvod 11. 1. Vítejte v Ruby 15. O autorovi 9 Poděkování 9
Začínáme programovat v Ruby on Rails 9 O autorovi 9 Poděkování 9 Úvod 11 Komu je kniha určena 11 Jak je kniha uspořádána 11 Co ke knize potřebujete 12 Konvence 12 Zdrojový kód 13 Poznámka redakce českého
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
6. Příkazy a řídící struktury v Javě
6. Příkazy a řídící struktury v Javě Příkazy v Javě Příkazy v Javě Řídicí příkazy (větvení, cykly) Přiřazovací příkaz = Řízení toku programu (větvení, cykly) Volání metody Návrat z metody - příkaz return
HTML Hypertext Markup Language
HTML Hypertext Markup Language je jazyk určený na publikování a distribuci dokumentů na Webu velmi jednoduchý jazyk používá ho mnoho uživatelů má výkonné prostředky (příkazy) k formátování dokumentů (různé
Informační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází
1 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Požadavky kreditového systému. Relační datový model, relace, atributy,
Tieto Future Office. Přehled. Země: Česká republika. Odvětví: Samospráva
Tieto Future Office Přehled Země: Česká republika Odvětví: Samospráva Profil zákazníka: Magistrát města Plzeň je orgánem města Plzně, který plní jeho úkoly v oblasti územní samosprávy i státní správy na
APS 400 ipanel. Online informační a ovládací panel pro systém APS 400. Uživatelská příručka
ipanel Online informační a ovládací panel pro systém Uživatelská příručka 2004 2010,TECH FASS s.r.o., Plavecká 503, 252 42 Jesenice, www.techfass.cz, techfass@techfass.cz (vydáno dne 8.12.2010, platné
Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:
Čtvrtek 8 prosince Pascal - opakování základů Struktura programu: 1 hlavička obsahuje název programu, použité programové jednotky (knihovny), definice konstant, deklarace proměnných, všechny použité procedury
O datových typech a jejich kontrole
.. O datových typech a jejich kontrole Programovací techniky doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Typová kontrola Programovací techniky O datových typech
1/1 ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE PROVOZNĚ EKONOMICKÁ FAKULTA PŘIJÍMACÍ ŘÍZENÍ 2017/2018
ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE PROVOZNĚ EKONOMICKÁ FAKULTA PŘIJÍMACÍ ŘÍZENÍ 2017/2018 Informační technologie 1 - Doporučená doba zpracování: 40 minut 1) Termín DCL v relačně databázové technologii