ROZHODOVACÍ PROCEDURY A VERIFIKACE PAVEL SURYNEK, KTIML

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "ROZHODOVACÍ PROCEDURY A VERIFIKACE PAVEL SURYNEK, KTIML HTTP://KTIML.MFF.CUNI.CZ/~SURYNEK/NAIL094"

Transkript

1 10 ROZHODOVACÍ PROCEDURY A VERIFIKACE PAVEL SURYNEK, KTIML Matematicko-fyzikální fakulta Univerzita Karlova v Praze 1

2 ROZHODOVÁNÍ TEORIÍ POMOCÍ SAT ŘEŠIČE (SMT) 2 Rozhodovací procedury a verifikace, 10. přednáška

3 SAT řešič a obecné teorie (1) Budeme chtít využít efektivity SAT řešiče při rozhodování obecných teorií. Nechť T je nějaká teorie (například logika s rovností a neinterpretovanými funkcemi). Budeme předpokládat existenci rozhodovací procedury pro konjunktivní fragment teorie T (rozhodované formule mají tvar konjunkce literálů) rozhodovací procedura bude značena DECIDE T. Cílem je zkonstruovat rozhodovací proceduru pro T, která bude vytvořena integrací rozhodovací procedury DECIDE T a SAT řešiče. Obě technologie budou kooperovat SAT řešič vybírá literály, které je nutno splnit, aby byla splněna booleovská struktura formule. Rozhodovací procedura DECIDE T kontroluje, zda je výběr provedený SAT řešičem konzistentní s teorií T. Výhodou je efektivita, obecnost a modularita 3 Rozhodovací procedury a verifikace, 10. přednáška

4 SAT řešič a obecné teorie (2) Teorie T bude bezkvantifikátorová teorie se signaturou Σ. Výrokové kódování literálů: Každému Σ-literálu l bude přiřazena výroková proměnná e(l), kterou budeme nazývat výrokovým kódem literálu l (propositional encoder). Výrokové kódování formulí v NNF tvaru: Kódování lze rozšířit na celou formuli, nechť φ je Σ-formule v NNF tvaru, potom e(φ) bude označovat výrokovou formuli, která vznikla nahrazením každého literálu ve φ jeho výrokovým kódem. Formule e(φ) se nazývá výroková kostra formule φ (propositional skeleton). Př.: Σ-literál x=y bude kódován výrokovou proměnnou e(x=y). φ := (x = y) (x = z) nechť je Σ-formule. Výroková kostra formule φ tedy je e(φ) := e(x = y) e(x = z). SAT řešič bude pracovat nad (postupně modifikovanou) výrokovou kostrou rozhodované formule. 4 Rozhodovací procedury a verifikace, 10. přednáška

5 Integrace SAT řešiče a DECIDE T (1) Nechť T je teorie rovnosti. Uvažme formuli φ v negačně normálním tvaru (NNF), kde: φ := (x = y) ((y = z x z) (x = z)). Nejprve je určena výroková kostra formule φ: e(φ) := e(x = y) (e(y = z) e(x z)) e(x = z)). Jelikož jsou kódovány literály a nikoli atomy, e(φ) neobsahuje žádné negace a je tedy triviálně splnitelná. Budeme používat výrokovou formuli B, která se bude postupně vyvíjet. Na začátku položíme B = e(φ). Formule B je předložena SAT řešiči k vyřešení. 5 Rozhodovací procedury a verifikace, 10. přednáška

6 Integrace SAT řešiče a DECIDE T (2) Přepokládejme, že SAT řešič vrátil splňující ohodnocení α formule B (tedy výrokové kostry), kde: α := { e(x = y) True, e(y = z) True, e(x z) True, e(x = z) False } Rozhodovací procedura DECIDE T bude nyní rozhodovat, zda je konjunkce literálů, která odpovídá ohodnocení výrokových kódů, splnitelná. Množinu literálů, jež odpovídá ohodnocení α bude označována jako Th(α): Literál l je zařazen do Th(α), jestliže α(e(l)) = True. Literál l je zařazen do Th(α), jestliže α(e(l)) = False. Th^(α) bude značit konjunkci literálů v Th(α); tedy Th^(α) = lth(α) l. Konkrétně: Th^(α) = (x = y) (y = z) (x z) (x = z) 6 Rozhodovací procedury a verifikace, 10. přednáška

7 Integrace SAT řešiče a DECIDE T (3) Rozhodovací procedura DECIDE T detekuje, že Th^(α) = (x = y) (y = z) (x z) (x = z) není splnitelná. Th^(α) je tím pádem validní. K formuli B je přidána (konjunkcí) výroková kostra e(th^(α)), kde: e(th^(α)) := (e(x = y) e(y = z) e(x z) e(x = z)). Tato formule (blokující klauzule či lemma) zakazuje ohodnocení α, to znamená, že případné nové splňující ohodnocení B musí být různé od α. Obecně lemma označujeme jako t. Uvedená volba blokující formule není nutně nejlepší vzhledem k urychlení prohledávání. SAT řešiči předložíme k vyřešení formuli B po modifikaci: α := { e(x = y) True, e(y = z) True, e(x z) False, e(x = z) True } Tedy Th^(α ) = (x = y) (y = z) (x z) (x = z). 7 Rozhodovací procedury a verifikace, 10. přednáška

8 Integrace SAT řešiče a DECIDE T (4) Nyní je vidět, jak vypadá integrace SAT řešiče a rozhodovací procedury pro teorii T DECIDE T. SAT řešič α e(t) Th^(α) DECIDE T Procedura DECIDE T detekuje, že formule: Th^(α ) = (x = y) (y = z) (x z) (x = z) je splnitelná. Ohodnocení, které splňuje Th^(α ) rovněž splňuje původní formuli s NNF výrokovou strukturou: φ = (x = y) ((y = z x z) (x = z)). Uvedený proces lze několika směry vylepšit: Není třeba čekat na úplné ohodnocení formule B. Když předložíme proceduře DECIDE T formuli Th^(β), kde β je částečné ohodnocení, a DECIDE T odpoví, že Th^(β) je nesplnitelná. Potom je lemma t silnější, neboť blokuje všechna ohodnocení, která rozšiřují β. t 8 Rozhodovací procedury a verifikace, 10. přednáška

9 Integrace SAT řešiče a DECIDE T (5) Pokračování vylepšení: Význam může mít i situace, když DECIDE T odpoví, že Th^(β) je splnitelná pro částečné ohodnocení β. V takovém případě může DECIDE T odvodit nové implikace. Situaci ilustrujeme na příkladu: β = { e(x = y) True, e(y = z) True } Rozhodovací procedura DECIDE T obdrží formuli: Th^(β) = (x = y) (y = z) A může (pokud je k tomu uzpůsobená) odvodit, že Th^(β) implikuje formuli (x = z), tuto informaci je možno vrátit zpět do SAT řešiče. Předpokládejme, že DECIDE T bude toto umět. Tedy ohodnocení β (díky zpětně propagované informaci) implikuje e(x=z)true a e(x z)false. Toto tzv. propagování teorií (theory propagation) lze přidat ke standardní BCP. 9 Rozhodovací procedury a verifikace, 10. přednáška

10 Líné kódování (1) Nechť φ je Σ-formule ve tvaru NNF: Množina všech literálů formule φ se bude značit jako lit(φ). Zformalizujeme rozhodovací proces demonstrovaný na předchozím příkladě. Následující algoritmus odpoví, zda je vstupní formule φ splnitelná. function LAZY-BASIC(φ): boolean B e(φ) while True do (result,α) SOLVE-SAT(B) if not result then return False else (result,t) DECIDE T (Th^(α)) if result then return True B B e(t) function SOLVE-SAT(B): (boolean,assignment) Rozhodne výrokovou formuli, vrátí indikátor splnitelnosti, případně splňující ohodnocení. φ je nesplnitelná φ je splnitelná function DECIDE T (ψ): (boolean,formula) Rozhodne konjunktivní Σ- formuli ψ v teorii T, vrátí indikátor splnitelnosti, případně lemma. 10 Rozhodovací procedury a verifikace, 10. přednáška

11 Líné kódování (2) Na formuli t, kterou vrací DECIDE T, jsou kladeny jisté podmínky: (i) Formule t musí být validní v teorii T (tedy T-validní). Př.: Nechť T je teorie rovnosti, pak formule ((x = y) (y = z)) (x = z) je validní v T. (ii) Formule t může obsahovat pouze atomy, které se vyskytují v původní vstupní formuli φ. (iii) Výrokový kód formule t musí zakazovat ohodnocení α; tedy e(t) není splněna ohodnocením α. Podmínka (i) je postačující pro korektnost algoritmu (odpoví-li, odpoví správně), (ii) a (iii) pak garantují, že algoritmus vždy skončí (podmínka (iii) zaručuje, že se žádné ohodnocení nebude opakovat). 11 Rozhodovací procedury a verifikace, 10. přednáška

12 Integrace líného kódování a DPLL (1) Inkrementální splnitelnost (incremental satisfiability): Nechť B i označuje formuli B v i-té iteraci funkce LAZY-BASIC. Platí, že podmínka reprezentovaná formulí B i+1 je silnější než B i pro každé i=1,2,... Každou naučenou klauzuli, kterou SAT řešič odvodil při řešení B i pro i{1,2,...}, lze použít při řešení B j pro j > i. Jedná se o speciální případ inkrementální splnitelnosti - klauzule jsou pouze přidávany (obecně se mohou klauzule i odebírat, pak je otázka, které naučené klauzule mohou být znovu použity). Volání SOLVE-SAT ve funkci LAZY-BASIC lze nahradit voláním inkrementálního SAT řešiče zvýšení efektivity. Lepší variantou je integrovat rozhodovací proceduru pro teorii T (tedy funkci DECIDE T ) přímo do procedury DPLL (na vstupu je opět Σ-formule φ ve tvaru NNF). 12 Rozhodovací procedury a verifikace, 10. přednáška

13 Integrace líného kódování a DPLL (2) function LAZY-DPLL(φ): boolean B CNF(e(φ)) if BCP(B,α)=NULL then return False while True do (x,v) SELECT(φ,α) if (x,v)=null then (result,t) DECIDE T (Th^(α)) if result then return True B B e(t) while not result where (result,α) BCP(B,α) do (level,φ) ANALYZE-CONFLICT(B,α) if level < 0 then return False else BACK-TRACK(B,level) else α α {α(x)=v} while not result where (result,α) BCP(B,α) do (level,φ) ANALYZE-CONFLICT(B,α) if level < 0 then return False else BACK-TRACK(B,level) 13 Rozhodovací procedury a verifikace, 10. přednáška φ je nesplnitelná φ je splnitelná φ je nesplnitelná φ je nesplnitelná function CNF(B): formula Převede zadanou formuli na tvar CNF. procedure BACK-TRACK (B, level) Vrátí se na zadanou úroveň rozhodování, zruší pozdější rozhodnutí. function SELECT (B,α): (variable, boolean) Vybere neohodnocenou proměnnou vzhledem k α a její ohodnocení; vrací NULL, když všechny proměnné ohodnoceny

14 Integrace líného kódování a DPLL (3) Algoritmus je možné dále vylepšit, uvažujme formuli φ, která obsahuje celočíselnou proměnnou x 1 a literály x 1 10 a x 1 <0 (mimo jiné). Předpokládejme, že bylo vybráno ohodnocení e(x 1 10) True a e(x 1 <0) True. Rozhodovací procedura DECIDE T pro T by ihned detekovala nesplnitelnost pro konjunkci těchto dvou literálů. Ovšem DECIDE T je zavolána až v okamžiku, kdy ohodnocení výrokových proměnných je úplné. Tedy ohodnocování následující po ohodnocení e(x 1 10) True a e(x 1 <0) True představuje zbytečnou práci. Rozhodovací proceduru DECIDE T by bylo vhodné volat už pro částečná ohodnocení výrokových kódů: Částečná ohodnocení, která nelze rozšířit na úplná splňující, mohou být včas zakázána. Implikovaná ohodnocení mohou být vrácena zpět SAT řešiči. Př.: Jakmile e(x 1 10) True, může DECIDE T odvodit, že e(x 1 <0) musí být False. 14 Rozhodovací procedury a verifikace, 10. přednáška

15 Pokročilejší integrace s DPLL (1) Na vstupu je opět Σ-formule φ ve tvaru NNF, algoritmus odpoví, zda je φ splnitelná function DPLL T (φ): boolean B CNF(e(φ)) if BCP(B,α)=NULL then return False while True do (x,v) SELECT(φ,α) if (x,v)=null then return True α α {α(x)=v} do while not result where (result,α) BCP(B,α) do (level,φ) ANALYZE-CONFLICT(B,α) if level < 0 then return False else BACK-TRACK(B,level) (ignoredresult,t) DECIDE T (Th^(α)) B B e(t) while t True 15 Rozhodovací procedury a verifikace, 10. přednáška φ je nesplnitelná Zde dojde k propagaci teorie T do SAT řešiče. φ je splnitelná, α je úplné ohodnocení. φ je nesplnitelná Na formuli t se kladou další podmínky, aby byla zaručena konečnost algoritmu.

16 Pokročilejší integrace s DPLL (2) Podmínky, které musí splňovat odvozená formule t: Formule t musí být implikována φ a musí se omezovat na atomy vyskytující se v φ. Jestliže Th^(α) je nesplnitelná, potom e(t) musí zakazovat ohodnocení α. Jestliže Th^(α) je splnitelná, potom je potřeba splnit jednu ze dvou následujících podmínek, aby byla zajištěna konečnost algoritmu: (i) e(t) je vynucující klauzule (konfliktní klauzule taková, že obsahuje právě jeden literál z aktuální rozhodovací úrovně), po přidání e(t) k B je v rámci volání BCP ohodnocen kód nějakého literálu. (ii) Když DECIDE T nedokáže najít formuli t, že e(t) je vynucující klauzule, pak t i e(t) jsou ekvivalentní hodnotě True. Pokud jsou všechny výrokové proměnné ohodnocené a Th^(α) je splnitelná, potom nastane případ (ii). 16 Rozhodovací procedury a verifikace, 10. přednáška

17 Pokročilejší integrace s DPLL (3) Uvažujme příklad, kdy vstupní formule φ obsahuje dva literály: x 1 10 a x 1 < 0 pro celočíselnou proměnnou x 1. Máme tedy dva výrokové kódy e(x 1 10) a e(x 1 < 0). Po ohodnocení α = {e(x 1 < 0) True}, procedura DECIDE T detekuje, že (x 1 10) je implikovaná, tedy: t = (x 1 10) (x 1 < 0) je T-validní formule. Odpovídající vynucující klauzule vzhledem k ohodnocení α tedy je: e(t) = e(x 1 10) e(x 1 < 0). Po přidání e(t) k formuli B dojde k okamžitému odvození e(x 1 < 0) (a možná k dalším odvozením). Poznámka: Používají se dvě varianty procedury DECIDE T, jedna varianta v rámci algoritmů LAZY-BASIC a LAZY-DPLL generuje blokující klauzuli, druhá varianta v rámci DPLL T, která generuje blokující klauzule, které jsou zároveň vynucující. 17 Rozhodovací procedury a verifikace, 10. přednáška

Kapitola 7: Návrh relačních databází. Nástrahy relačního návrhu. Příklad. Rozklad (dekompozice)

Kapitola 7: Návrh relačních databází. Nástrahy relačního návrhu. Příklad. Rozklad (dekompozice) - 7.1 - Kapitola 7: Návrh relačních databází Nástrahy návrhu relačních databází Dekompozice (rozklad) Normalizace použitím funkčních závislostí Nástrahy relačního návrhu Návrh relačních databází vyžaduje

Více

NP-úplnost problému SAT

NP-úplnost problému SAT Problém SAT je definován následovně: SAT(splnitelnost booleovských formulí) Vstup: Booleovská formule ϕ. Otázka: Je ϕ splnitelná? Příklad: Formule ϕ 1 =x 1 ( x 2 x 3 )jesplnitelná: např.přiohodnocení ν,kde[x

Více

Rezoluce ve výrokové logice

Rezoluce ve výrokové logice Rezoluce ve výrokové logice Jiří Velebil: AD0B01LGR 2015 Rezoluce ve VL 1/13 Základní myšlenky 1 M = ϕ iff X = M { ϕ} nesplnitelná. 2 X nesplnitelná iff X = ff. 3 Hledání kritických důsledků X syntakticky.

Více

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu 1 Podklady předmětu pro akademický rok 2006/2007 Radim Farana Obsah 2 Obsah předmětu, Požadavky kreditového systému, Datové typy jednoduché, složené, Programové struktury, Předávání dat. Obsah předmětu

Více

Výroková logika dokazatelnost

Výroková logika dokazatelnost Výroková logika dokazatelnost Ke zjištění, zda formule sémanticky plyne z dané teorie (množiny formulí), máme k dispozici tabulkovou metodu. Velikost tabulky však roste exponenciálně vzhledem k počtu výrokových

Více

Výroková a predikátová logika Výpisky z cvičení Martina Piláta

Výroková a predikátová logika Výpisky z cvičení Martina Piláta Výroková a predikátová logika Výpisky z cvičení Martina Piláta Jan Štětina 1. prosince 2009 Cviˇcení 29.9.2009 Pojem: Sekvence je konečná posloupnost, značíme ji predikátem seq(x). lh(x) je délka sekvence

Více

Disjunktivní a konjunktivní lní tvar formule. 2.přednáška

Disjunktivní a konjunktivní lní tvar formule. 2.přednáška Disjunktivní a konjunktivní normáln lní tvar formule 2.přednáška Disjunktivní normáln lní forma Definice Řekneme, že formule ( A ) je v disjunktivním normálním tvaru (formě), zkráceně v DNF, jestliže je

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

WSH Windows Script Hosting. OSY 2 Přednáška číslo 2 opravená verze z 15.10.2007

WSH Windows Script Hosting. OSY 2 Přednáška číslo 2 opravená verze z 15.10.2007 WSH Windows Script Hosting OSY 2 Přednáška číslo 2 opravená verze z 15.10.2007 Co je skript? Skriptování nástroj pro správu systému a automatizaci úloh Umožňuje psát skripty jednoduché interpretované programové

Více

Sekvenční a podmíněné provádění

Sekvenční a podmíněné provádění Programování v Bourne shellu Sekvenční a podmíněné provádění Sekvenční provádění znamená vykonávání jednoho příkazu za druhým bez ohledu na okolnosti. Pro oddělení příkazů při sekvenčním provádění se používá

Více

Rezoluce v predikátové logice

Rezoluce v predikátové logice Rezoluce v predikátové logice Jiří Velebil: AD0B01LGR 2015 Rezoluce v PL 1/16 Základní myšlenky 1 M = ϕ iff X = M { ϕ} nesplnitelná. (M musí být množina sentencí, ϕ sentence.) 2 X nesplnitelná iff X =

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

Základy programování Proměnné Procedury, funkce, události Operátory a podmínková logika Objekt Range a Cells, odkazy Vlastnosti, metody a události

Základy programování Proměnné Procedury, funkce, události Operátory a podmínková logika Objekt Range a Cells, odkazy Vlastnosti, metody a události Petr Blaha Základy programování Proměnné Procedury, funkce, události Operátory a podmínková logika Objekt Range a Cells, odkazy Vlastnosti, metody a události Cykly Základní funkce (matematické, textové,

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

Rezoluce v predikátové logice

Rezoluce v predikátové logice Rezoluce v predikátové logice Jiří Velebil: X01DML 15. října 2010: Rezoluce v PL 1/16 Základní myšlenky 1 M = ϕ iff X = M { ϕ} nesplnitelná. (M musí být množina sentencí, ϕ sentence.) 2 X nesplnitelná

Více

Automatizované řešení úloh s omezeními

Automatizované řešení úloh s omezeními Automatizované řešení úloh s omezeními Martin Kot Katedra informatiky, FEI, Vysoká škola báňská Technická universita Ostrava 17. listopadu 15, Ostrava-Poruba 708 33 Česká republika 25. října 2012 M. Kot

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

1. Téma 12 - Textové soubory a výjimky

1. Téma 12 - Textové soubory a výjimky 1. Téma 12 - Textové soubory a výjimky Cíl látky Procvičit práci se soubory s využitím výjimek. 1.1. Úvod Program, aby byl programem, my mít nějaké výstupy a vstupy. Velmi častým případem je to, že se

Více

1. Pøevody problémù a NP-úplnost

1. Pøevody problémù a NP-úplnost 1. Pøevody problémù a NP-úplnost Všechny úlohy, které jsme zatím potkali, jsme uměli vyřešit algoritmem s polynomiální časovou složitostí. V prvním přiblížení můžeme říci, že polynomialita docela dobře

Více

2 Strukturované datové typy 2 2.1 Pole... 2 2.2 Záznam... 3 2.3 Množina... 4

2 Strukturované datové typy 2 2.1 Pole... 2 2.2 Záznam... 3 2.3 Množina... 4 Obsah Obsah 1 Jednoduché datové typy 1 2 Strukturované datové typy 2 2.1 Pole.................................. 2 2.2 Záznam................................ 3 2.3 Množina................................

Více

Vlastnosti regulárních jazyků

Vlastnosti regulárních jazyků Vlastnosti regulárních jazyků Podobně jako u dalších tříd jazyků budeme nyní zkoumat následující vlastnosti regulárních jazyků: vlastnosti strukturální, vlastnosti uzávěrové a rozhodnutelné problémy pro

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

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

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

MQL4 COURSE. V tomto dodatku je obsažen popis 25 obchodních funkcí jazyka MQL4. Rozhodl jsem se napsat

MQL4 COURSE. V tomto dodatku je obsažen popis 25 obchodních funkcí jazyka MQL4. Rozhodl jsem se napsat MQL4 COURSE By Coders guru www.forex-tsd.com (Appendix 2) Trading Functions -------------------- V tomto dodatku je obsažen popis 25 obchodních funkcí jazyka MQL4. Rozhodl jsem se napsat tento dodatek

Více

Pojem binární relace patří mezi nejzákladnější matematické pojmy. Binární relace

Pojem binární relace patří mezi nejzákladnější matematické pojmy. Binární relace RELACE Pojem binární relace patří mezi nejzákladnější matematické pojmy. Binární relace slouží k vyjádření vztahů mezi prvky nějakých množin. Vztahy mohou být různé povahy. Patří sem vztah býti potomkem,

Více

Volné stromy. Úvod do programování. Kořenové stromy a seřazené stromy. Volné stromy

Volné stromy. Úvod do programování. Kořenové stromy a seřazené stromy. Volné stromy Volné stromy Úvod do programování Souvislý, acyklický, neorientovaný graf nazýváme volným stromem (free tree). Často vynecháváme adjektivum volný, a říkáme jen, že daný graf je strom. Michal Krátký 1,Jiří

Více

Kapitola 3: Relační model. Základní struktura. Relační schéma. Instance relace

Kapitola 3: Relační model. Základní struktura. Relační schéma. Instance relace - 3.1 - Struktura relačních databází Relační algebra n-ticový relační kalkul Doménový relační kalkul Rozšířené operace relační algebry Modifikace databáze Pohledy Kapitola 3: Relační model Základní struktura

Více

Týden 14. Přednáška. Teoretická informatika průběh výuky v semestru 1. PSPACE, NPSPACE, PSPACE-úplnost

Týden 14. Přednáška. Teoretická informatika průběh výuky v semestru 1. PSPACE, NPSPACE, PSPACE-úplnost Teoretická informatika průběh výuky v semestru 1 Týden 14 Přednáška PSPACE, NPSPACE, PSPACE-úplnost Uvědomili jsme si nejprve, že např. pro zjištění toho, zda Bílý má nějakou strategii ve hře ŠACHY, která

Více

Základy PHP. Úvod do jazyka PHP a principů skriptování na straně serveru

Základy PHP. Úvod do jazyka PHP a principů skriptování na straně serveru Základy PHP Úvod do jazyka PHP a principů skriptování na straně serveru Princip fungování web serveru Server se podívá do svého datového úložiště Hypertext Transfer Protocol Internet Internet Nalezne požadovaný

Více

Jaký je rozdíl v definicicíh VARCHAR2(20 BYTE) a VARCHAR2(20 CHAR):

Jaký je rozdíl v definicicíh VARCHAR2(20 BYTE) a VARCHAR2(20 CHAR): Mezi příkazy pro manipulaci s daty (DML) patří : 1. SELECT 2. ALTER 3. DELETE 4. REVOKE Jaké vlastnosti má identifikující relace: 1. Je relace, která se využívá pouze v případě modelovaní odvozených entit

Více

- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku

- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku Znaky - standardní typ char var Z, W: char; - znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku - v TP (často i jinde) se používá kódová

Více

Radomíra Duží L06615. Datový typ množina

Radomíra Duží L06615. Datový typ množina Radomíra Duží L06615 Datový typ množina Množina slouží k uložení prvků stejného bázového ordinárního typu. Bázové typy - jsou typy, jejichž hodnot mohou prvky množiny nabývat. Nesmí obsahovat více než

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

IV113 Validace a verifikace

IV113 Validace a verifikace IV113 Validace a verifikace Lehký úvod do analýzy programů Jiří Barnat Analýza programů IV113 Úvod do validace a verifikace: Analýza programů str. 2/29 Cíle programové analýzy Odvodit vlastnosti programů

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

MQL4 COURSE. By Coders guru www.forex-tsd.com. -4 Operace & Výrazy

MQL4 COURSE. By Coders guru www.forex-tsd.com. -4 Operace & Výrazy MQL4 COURSE By Coders guru www.forex-tsd.com -4 Operace & Výrazy Vítejte ve čtvrté lekci mého kurzu MQL4. Předchozí lekce Datové Typy prezentovaly mnoho nových konceptů ; Doufám, že jste všemu porozuměli,

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

Rozhodovací pravidla

Rozhodovací pravidla Rozhodovací pravidla Úloha klasifikace příkladů do tříd. pravidlo Ant C, kde Ant je konjunkce hodnot atributů a C je cílový atribut A. Algoritmus pokrývání množin metoda separate and conquer (odděl a panuj)

Více

Úvod do logiky (VL): 13. Axiomatické systémy VL a pojem důkazu

Úvod do logiky (VL): 13. Axiomatické systémy VL a pojem důkazu Logika: systémový rámec rozvoje oboru v ČR a koncepce logických propedeutik pro mezioborová studia (reg. č. CZ.1.07/2.2.00/28.0216, OPVK) Úvod do logiky (VL): 13. Axiomatické systémy VL a pojem důkazu

Více

InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) CSV v textovém souboru ve formátu hodnot oddělených čárkou

InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) CSV v textovém souboru ve formátu hodnot oddělených čárkou MySQL Typy tabulek Storage Engines MyISAM defaultní, neumí transakce, umí fulltext InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) MEMORY (HEAP) v paměti; neumí transakce ARCHIVE velké množství

Více

MySQLi (objektově) Příklad vytvoření instance třídy včetně parametrů pro připojení: $mysqli = new mysqli('localhost', 'login', 'heslo', 'databaze');

MySQLi (objektově) Příklad vytvoření instance třídy včetně parametrů pro připojení: $mysqli = new mysqli('localhost', 'login', 'heslo', 'databaze'); MySQLi (objektově) Rozšíření PHP MySQL - základní rozšíření umožňující práci s MySQL. Doporučuje se ho používat pouze do verze MySQL 4.1.3. I když je funkční i u novějších verzí, neumožňuje využití nových

Více

Výroková logika II. Negace. Již víme, že negace je změna pravdivostní hodnoty výroku (0 1; 1 0).

Výroková logika II. Negace. Již víme, že negace je změna pravdivostní hodnoty výroku (0 1; 1 0). Výroková logika II Negace Již víme, že negace je změna pravdivostní hodnoty výroku (0 1; 1 0). Na konkrétních příkladech si ukážeme, jak se dají výroky negovat. Obecně se výrok dá negovat tak, že před

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

Knihovna XmlLib TXV 003 63.01 druhé vydání říjen 2012 změny vyhrazeny

Knihovna XmlLib TXV 003 63.01 druhé vydání říjen 2012 změny vyhrazeny Knihovna XmlLib TXV 003 63.01 druhé vydání říjen 2012 změny vyhrazeny 1 TXV 003 63.01 Historie změn Datum Vydání Popis změn Prosinec 2010 1 První vydání, popis odpovídá XmlLib_v13 Říjen 2012 2 Druhé vydání,

Více

Definice barevnosti grafu, základní vlastnosti. Varinaty problému barvení.

Definice barevnosti grafu, základní vlastnosti. Varinaty problému barvení. 7 Barevnost a další těžké problémy Pro motivaci této lekce se podíváme hlouběji do historie počátků grafů v matematice. Kromě slavného problému sedmi mostů v Královci (dnešním Kaliningradě) je za další

Více

Předpokládané znalosti: v rozsahu KMA/DMA Diskrétní matematika. Skripta DMA: - R. 2004. - J. Holenda, Z. Ryjáček: Lineární algebra II - Skripta

Předpokládané znalosti: v rozsahu KMA/DMA Diskrétní matematika. Skripta DMA: - R. 2004. - J. Holenda, Z. Ryjáček: Lineární algebra II - Skripta KMA/TGD1 Teorie grafů a diskrétní optimalizace 1 Zdeněk Ryjáček, KMA UK 620 ryjacek@kmazcucz http://wwwkmazcucz/ryjacek 1545 1715, s přestávkou 15 minut Předpokládané znalosti: v rozsahu KMA/DMA Diskrétní

Více

MS Excel 2010. Základy maker. Operační program Vzdělávání pro konkurenceschopnost. Projekt Zvyšování IT gramotnosti zaměstnanců vybraných fakult MU

MS Excel 2010. Základy maker. Operační program Vzdělávání pro konkurenceschopnost. Projekt Zvyšování IT gramotnosti zaměstnanců vybraných fakult MU MS Excel 2010 Základy maker Operační program Vzdělávání pro konkurenceschopnost Projekt Zvyšování IT gramotnosti zaměstnanců vybraných fakult MU Registrační číslo: CZ.1.07/2.2.00/15.0224, Oblast podpory:

Více

UNIVERZITA PARDUBICE FAKULTA ELEKTROTECHNIKY A INFORMATIKY BAKALÁŘSKÁ PRÁCE. 2009 Tomáš Michek

UNIVERZITA PARDUBICE FAKULTA ELEKTROTECHNIKY A INFORMATIKY BAKALÁŘSKÁ PRÁCE. 2009 Tomáš Michek UNIVERZITA PARDUBICE FAKULTA ELEKTROTECHNIKY A INFORMATIKY BAKALÁŘSKÁ PRÁCE 2009 Tomáš Michek Univerzita Pardubice Fakulta elektrotechniky a informatiky Program pro výuku a testování základů výrokové a

Více

Knihovna XmlLib TXV 003 63.01 první vydání prosinec 2010 změny vyhrazeny

Knihovna XmlLib TXV 003 63.01 první vydání prosinec 2010 změny vyhrazeny Knihovna XmlLib TXV 003 63.01 první vydání prosinec 2010 změny vyhrazeny 1 TXV 003 63.01 Historie změn Datum Vydání Popis změn Prosinec 2010 1 První vydání, popis odpovídá XmlLib_v13 OBSAH 1 Úvod...3 2

Více

ExcelVBAmodul. Podpora pro výměnu dat automatů MICROPEL s aplikací Microsoft Excel

ExcelVBAmodul. Podpora pro výměnu dat automatů MICROPEL s aplikací Microsoft Excel ExcelVBAmodul Podpora pro výměnu dat automatů MICROPEL s aplikací Microsoft Excel ExcelVBAmodul Podpora pro výměnu dat automatů MICROPEL s aplikací Microsoft Excel 3. verze dokumentu 05/2013 MICROPEL s.r.o.

Více

Modely vyhledávání informací 4 podle technologie. 1) Booleovský model. George Boole 1815 1864. Aplikace booleovské logiky

Modely vyhledávání informací 4 podle technologie. 1) Booleovský model. George Boole 1815 1864. Aplikace booleovské logiky Modely vyhledávání informací 4 podle technologie 1) Booleovský model 1) booleovský 2) vektorový 3) strukturní 4) pravděpodobnostní a další 1 dokumenty a dotazy jsou reprezentovány množinou indexových termů

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

Logický důsledek. Petr Kuchyňka (7765@mail.muni.cz)

Logický důsledek. Petr Kuchyňka (7765@mail.muni.cz) Logický důsledek Petr Kuchyňka (7765@mail.muni.cz) Úvod P 1 Logický důsledek je hlavním předmětem zájmu logiky. Je to relace mezi premisami a závěry logicky platných úsudků: v logicky platném úsudku závěr

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

Ohodnocené orientované grafy

Ohodnocené orientované grafy Ohodnocené orientované grafy Definice Buď G graf Funkce w : H( G) (, ) se nazývá (hranové) ohodnocení grafu G; graf se zadaným ohodnocením se nazývá ohodnocený graf Definice Nechť G je orientovaný graf

Více

Příklad : String txt1 = new String( Ahoj vsichni! ); //vytvoří instanci třídy String a přiřadí ji vnitřní hodnotu Ahoj vsichni!

Příklad : String txt1 = new String( Ahoj vsichni! ); //vytvoří instanci třídy String a přiřadí ji vnitřní hodnotu Ahoj vsichni! Java práce s řetězci Trochu povídání.. Řetězce jsou v Javě reprezentovány instancemi tříd StringBuffer a String. Tyto třídy jsou součástí balíčku java.lang, tudíž je možno s nimi pracovat ihned bez nutného

Více

RDF API a SPARQL syntaxe, API, příklady. 4IZ440 Reprezentace a zpracování znalostí na WWW Josef Petrák me@jspetrak.name

RDF API a SPARQL syntaxe, API, příklady. 4IZ440 Reprezentace a zpracování znalostí na WWW Josef Petrák me@jspetrak.name RDF API a SPARQL syntaxe, API, příklady 4IZ440 Reprezentace a zpracování znalostí na WWW Josef Petrák me@jspetrak.name Dnes uvidíme Syntaxe RDF Základy RDF grafu Pojmenované grafy Přehled RDF API Příklady

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

VY_32_INOVACE_08_2_04_PR

VY_32_INOVACE_08_2_04_PR Ing. Petr Stránský VY_32_INOVACE_08_2_04_PR Příkazy vstupu - definice Výstupním zařízením může být obrazovka, tiskárna nebo soubor. Jednotlivé údaje se zapisují pomocí příkazu WRITE nebo WRITELN. Příkaz

Více

J. Zendulka: Databázové systémy 4 Relační model dat 1

J. Zendulka: Databázové systémy 4 Relační model dat 1 4. Relační model dat 4.1. Relační struktura dat... 3 4.2. Integritní pravidla v relačním modelu... 9 4.2.1. Primární klíč... 9 4.2.2. Cizí klíč... 11 4.2.3. Relační schéma databáze... 13 4.3. Relační algebra...

Více

postaveny výhradně na syntaktické bázi: jazyk logiky neinterpretujeme, provádíme s ním pouze syntaktické manipulace důkazy

postaveny výhradně na syntaktické bázi: jazyk logiky neinterpretujeme, provádíme s ním pouze syntaktické manipulace důkazy Formální systémy (výrokové) logiky postaveny výhradně na syntaktické bázi: jazyk logiky neinterpretujeme, provádíme s ním pouze syntaktické manipulace důkazy cíl: získat formální teorii jako souhrn dokazatelných

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

Ukládání a vyhledávání XML dat

Ukládání a vyhledávání XML dat XML teorie a praxe značkovacích jazyků (4IZ238) Jirka Kosek Poslední modifikace: $Date: 2014/12/04 19:41:24 $ Obsah Ukládání XML dokumentů... 3 Ukládání XML do souborů... 4 Nativní XML databáze... 5 Ukládání

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

Programování a algoritmizace 1 2012-2013

Programování a algoritmizace 1 2012-2013 Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti Algoritmy Kdo je

Více

Co byste měl/a zvládnout po 4. týdnu

Co byste měl/a zvládnout po 4. týdnu Co byste měl/a zvládnout po 4. týdnu Zde je uveden naprostý základ. Nejde o úplný výčet všech dovedností. Jiří Velebil: A7B0LAG Zvládnutá látka po 4. týdnu /9 Slovník základních pojmů Množina generátorů

Více

DJ2 vyjadřovací síla slajdy k přednášce NDBI001

DJ2 vyjadřovací síla slajdy k přednášce NDBI001 DJ2 vyjadřovací síla slajdy k přednášce NDBI001 J. Pokorný MFF UK Dotazovací jazyky 1 Sémantika DRK (1) Předpoklady: výrazy dotazu {x 1,...,x k A(x 1,...,x k )}, A je formule DRK, databáze R *, dom je

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

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

4. ZÁKLADNÍ TYPY ROZDĚLENÍ PRAVDĚPODOBNOSTI DISKRÉTNÍ NÁHODNÉ VELIČINY

4. ZÁKLADNÍ TYPY ROZDĚLENÍ PRAVDĚPODOBNOSTI DISKRÉTNÍ NÁHODNÉ VELIČINY 4. ZÁKLADNÍ TYPY ROZDĚLENÍ PRAVDĚPODOBNOSTI DISKRÉTNÍ NÁHODNÉ VELIČINY Průvodce studiem V této kapitole se seznámíte se základními typy rozložení diskrétní náhodné veličiny. Vašim úkolem by neměla být

Více

Ošetřování chyb v programech

Ošetřování chyb v programech Ošetřování chyb v programech Úvod chyba v programu = normální záležitost typy chyb: 1) programátorská chyba při návrhu každých 10 000 řádek 1 chyba lze jen omezeně ošetřit (před pádem aplikace nabídnout

Více

24.5.2008 Jaku b Su ch ý 1

24.5.2008 Jaku b Su ch ý 1 Drupal API 24.5.2008 Jaku b Su ch ý 1 Témata Práce s databází Bezpečnost práce s Drupalem Forms API Jak udělat vlastní modul Hooks Lokalizace 24.5.2008 Jaku b Su ch ý 2 Práce s databází Drupal poskytuje

Více

Databázové systémy. Ostatní typy spojení. Vilém Vychodil. V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 1 / 34

Databázové systémy. Ostatní typy spojení. Vilém Vychodil. V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 1 / 34 Databázové systémy Ostatní typy spojení Vilém Vychodil KMI/DATA1, Přednáška 5 Databázové systémy V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 1 / 34 Přednáška 5: Přehled

Více

2.1 Formule predikátové logiky. větám. Použijte k tomu predikátových symbolu uvedených v textu.

2.1 Formule predikátové logiky. větám. Použijte k tomu predikátových symbolu uvedených v textu. 6 Kapitola 2 Příklady z predikátové logiky 2.1 Formule predikátové logiky 2.1.1 Příklad. Napište formule predikátové logiky odpovídající následujícím větám. Použijte k tomu predikátových symbolu uvedených

Více

2 Datové typy v jazyce C

2 Datové typy v jazyce C 1 Procedurální programování a strukturované programování Charakteristické pro procedurální programování je organizace programu, který řeší daný problém, do bloků (procedur, funkcí, subrutin). Původně jednolitý,

Více

KMA/MDS Matematické důkazy a jejich struktura

KMA/MDS Matematické důkazy a jejich struktura Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.0141 KMA/MDS Matematické důkazy a jejich struktura Seminář 1 Cílem tohoto semináře je efektivní uvedení

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

Kód. Proměnné. #include 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

Zásobník (LIFO) Opakem zásobníku LIFO je fronta FIFO (First In, First Out první dovnitř, první ven)

Zásobník (LIFO) Opakem zásobníku LIFO je fronta FIFO (First In, First Out první dovnitř, první ven) Zásobník (LIFO) Je dynamická datová struktura s těmito dovolenými operacemi: CREATE(S) - vytvoří prázdný zásobník S, TOP(S) - vrátí prvek na vrchu zásobníku S, POP(S) - vyhodí prvek na vrchu zásobníku

Více

Historie matematiky a informatiky Cvičení 2

Historie matematiky a informatiky Cvičení 2 Historie matematiky a informatiky Cvičení 2 Doc. RNDr. Alena Šolcová, Ph. D., KAM, FIT ČVUT v Praze 2014 Evropský sociální fond Investujeme do vaší budoucnosti Alena Šolcová Číselně teoretické funkce (Number-Theoretic

Více

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze Dobývání znalostí Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze Dobývání znalostí Rozhodovací stromy Doc. RNDr. Iveta Mrázová, CSc.

Více

10 Důkazové postupy pro algoritmy

10 Důkazové postupy pro algoritmy 10 Důkazové postupy pro algoritmy Nyní si ukážeme, jak formální deklarativní jazyk z Lekce 9 využít k formálně přesným induktivním důkazům vybraných algoritmů. Dá se říci, že tato lekce je vrcholem v naší

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

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

Týden 11. Přednáška. Teoretická informatika průběh výuky v semestru 1. Nejprve jsme dokončili témata zapsaná u minulé přednášky.

Týden 11. Přednáška. Teoretická informatika průběh výuky v semestru 1. Nejprve jsme dokončili témata zapsaná u minulé přednášky. Teoretická informatika průběh výuky v semestru 1 Týden 11 Přednáška Nejprve jsme dokončili témata zapsaná u minulé přednášky. PSPACE, NPSPACE, PSPACE-úplnost Uvědomilijsmesi,ženapř.prozjištěnítoho,zdaBílýmánějakoustrategiivehřeŠACHY,

Více

Kódy pro odstranění redundance, pro zabezpečení proti chybám. Demonstrační cvičení 5 INP

Kódy pro odstranění redundance, pro zabezpečení proti chybám. Demonstrační cvičení 5 INP Kódy pro odstranění redundance, pro zabezpečení proti chybám Demonstrační cvičení 5 INP Princip kódování, pojmy Tady potřebujeme informaci zabezpečit, utajit apod. zpráva 000 111 000 0 1 0... kodér dekodér

Více

Třída DrawingTool. Obrázek 1: Prázdné okno připravené pro kreslení

Třída DrawingTool. Obrázek 1: Prázdné okno připravené pro kreslení Třída DrawingTool strana 1 1. Základ Třída DrawingTool Třída DrawingTool je určena k jednoduchému kreslení pomocí několika základních příkazů do grafického okna zadaných rozměrů (nastavení v konstruktoru),

Více

Komunikace se serverem IPAS skrze knihovnu clsipas

Komunikace se serverem IPAS skrze knihovnu clsipas Komunikace se serverem IPAS skrze knihovnu clsipas - 1 - Seznámení se systémem Server IPAS Server IPAS je výkonným jádrem pro registraci CZ, generických a ostatních domén. V budoucnu se IPAS stane jádrem

Více

Datové typy a struktury

Datové typy a struktury atové typy a struktury Jednoduché datové typy oolean = logická hodnota (true / false) K uložení stačí 1 bit často celé slovo (1 byte) haracter = znak Pro 8-bitový SII kód stačí 1 byte (256 možností) Pro

Více

POSTUP PRO VYTVOŘENÍ STRUKTUR PRO UKLÁDÁNÍ RDF DAT V ORACLE

POSTUP PRO VYTVOŘENÍ STRUKTUR PRO UKLÁDÁNÍ RDF DAT V ORACLE POSTUP PRO VYTVOŘENÍ STRUKTUR PRO UKLÁDÁNÍ RDF DAT V ORACLE Upozornění: Pro práci s RDF Oracle daty je třeba mít nainstalován Oracle Spatial Resource Description Framework (RDF). 1. Vytvoření tabulkového

Více

5 Minimální kostry, Hladový algoritmus

5 Minimální kostry, Hladový algoritmus 5 Minimální kostry, Hladový algoritmus Kromě teoretických hrátek mají kostry grafů (Oddíl 4.4) následující důležité praktické použití: Dříve jsme uvažovali spojení v grafech cestami jdoucími z jednoho

Více

XSLT pomocí JavaScriptu v Mozille (... Opeře a Safari)

XSLT pomocí JavaScriptu v Mozille (... Opeře a Safari) XSLT a JavaScript Autor: Petr Dvořák (http://joshis.iprofil.cz/) Úvod Dokumenty XML (můžeme rovnou říct, že narozdíl od dokumentů (X)HTML) nenesou žádnou informaci, která by prohlížeči sdělila, jakým způsobem

Více

POČÍTAČOVÁ FORMALIZACE MENTÁLNÍCH MODELŮ METODAMI PRAVDĚPODOBNOSTNÍHO JAZYKOVÉHO MODELOVÁNÍ

POČÍTAČOVÁ FORMALIZACE MENTÁLNÍCH MODELŮ METODAMI PRAVDĚPODOBNOSTNÍHO JAZYKOVÉHO MODELOVÁNÍ POČÍTAČOVÁ FORMALIZACE MENTÁLNÍCH MODELŮ METODAMI PRAVDĚPODOBNOSTNÍHO JAZYKOVÉHO MODELOVÁNÍ ON MENTAL MODELS FORMALIZATION THROUGH THE METHODS OF PROBABILISTIC LINGUISTIC MODELLING Zdeňka Krišová, Miroslav

Více

7. Dynamické datové struktury

7. Dynamické datové struktury 7. Dynamické datové struktury Java poskytuje několik možností pro uložení většího množství dat (tj. objektů či primitivních datových typů) v paměti. S nejjednodušší z nich, s polem, jsme se již seznámili.

Více

PHP tutoriál (základy PHP snadno a rychle)

PHP tutoriál (základy PHP snadno a rychle) PHP tutoriál (základy PHP snadno a rychle) Druhá, vylepšená offline verze. Připravil Štěpán Mátl, http://khamos.wz.cz Chceš se naučit základy PHP? V tom případě si prostuduj tento rychlý průvodce. Nejdříve

Více

Vlákno odlehčený proces kód vlákna, zásobník privátní ostatní sdíleno s dalšími vlákny téhož procesu

Vlákno odlehčený proces kód vlákna, zásobník privátní ostatní sdíleno s dalšími vlákny téhož procesu Procesy, vlákna Vlákno odlehčený proces kód vlákna, zásobník privátní ostatní sdíleno s dalšími vlákny téhož procesu Implementace vláken one-to-one o implementace na úrovni jádra o každé vlákno je pro

Více

Databáze pro evidenci výrobků

Databáze pro evidenci výrobků Databáze pro evidenci výrobků Databáze ve formátu Microsoft Access je součástí systému, který řídí automatizovanou výrobní linku. Tabulka tblcharge obsahuje data o výrobcích a je plněna automaticky řídicím

Více

1. Základní specifikace produktu Kouzelná půjčka

1. Základní specifikace produktu Kouzelná půjčka 1 Obsah 1. Základní specifika produktu KOUZELNÁ PŮJČKA 3 2. Specifikace cílového zákazníka a podmínky schválení 4 3. Technická specifikace. 5 4. Pravidla prezentace SEO, SEM 8 5. Doporučené texty ke zveřejnění

Více

MQL4 COURSE. By Coders guru www.forex-tsd.com. -5 Smyčky & Rozhodnutí Part 1

MQL4 COURSE. By Coders guru www.forex-tsd.com. -5 Smyčky & Rozhodnutí Part 1 MQL4 COURSE By Coders guru www.forex-tsd.com -5 Smyčky & Rozhodnutí Part 1 Vítejte v páté lekci mého kurzu MQL4. Předchozí lekci si můžete stáhnout z tohoto odkazu: http://forex-tsd.com /attachment.php?attachmentid=399

Více