1 Píklady popisu typických konstrukcí
|
|
- Daniela Křížová
- před 5 lety
- Počet zobrazení:
Transkript
1 1 Píklady popisu typických konstrukcí V tomto odstavci se pokusíme ilustrovat denotaní popis sémantiky ve funkcionálním modelu pro typické píklady jazykových konstrukcí. Popisované konstrukce budou fragmenty jazyk PL0 a ILPL0, zjednodušené maximáln pro úely demonstrace. 1.1 Popis sémantiky výraz Jednou ze syntaktických konstrukcí jazyka PL0 jsou výrazy. Uvažme fragment gramatiky, popisující syntaxi výraz. p 1 : Výraz konst p 2 : Výraz ident p 3 : Výraz Výraz + Výraz Výrazy jazyka se skládají ze symbol konstant (jisté signatury), identifikátor promnných a operátoru "+". Nap. zápis "x+1" je správn vytvoený výraz. Každý takový výraz nabývá jisté hodnoty v závislosti na stavu promnných, které se v nm vyskytují. Význam výrazu proto obecn mže záviset na stavu pamti, ve kterém výraz vyhodnocujeme. Uživatel jazyka PL0 má k dispozici pam skládající se z bunk, do nichž lze ukládat celá ísla. Jednotlivé buky pamti (promnné) jsou oznaeny identifikátory. Aktuální stav pamti jazyka PL0 pak lze modelovat jako zobrazení: Pam = Id Val, kde Id je množina pípustných identifikátor a Val je množina pípustných hodnot, tj. Val = Int. Význam výraz závisí na aktuálním stavu pamti a má tedy charakter zobrazení: M Výraz = Pam Val = (Id Val) Val. Sémantika výraz bude zobrazení, které každému výrazu piadí jeho význam, tj. Sem Výraz : Výraz M Výraz. Popíšeme ji sadou sémantických rovností ízenou popisem syntaxe výraz. rp 1 : Sem Výraz [konst] = λp:pam.konst (konstanta oznauje sebe sama, bez ohledu na stav pamti) rp 2 : Sem Výraz [ident] = λp:pam.p(ident) (promnná ve výrazu oznauje obsah píslušné buky pamti) rp 3 : Sem Výraz [v 1 +v 2 ] = λp:pam.sem Výraz [v 1 ](p)+sem Výraz [v 2 ](p) (výraz s operátorem + oznauje souet hodnot operand). Karel Richta 1
2 1.1.1 Píklad Sémantickou interpretaci výrazu "x+1" získáme: Sem Výraz [x+1] = = λp:pam.(semvýrazx(p)+semvýraz1(p)) = = λp:pam.((λq:pam.q(x))(p)+(λr:pam.1)(p)) = = λp:pam.(p(x)+1). Výrazem tedy bude funkce, jejíž hodnotu pro aktuální stav pamti p získáme jako souet obsahu pamti na adrese x a konstanty 1. Poznámka: Použitý fragment gramatiky popisující syntaxi výraz není jednoznaný, nebo nap. pro výraz "x+y+z" existují dv možné derivace p 3 (p 3 (p 2,p 2 ),p 2 ) a p 3 (p 2,p 3 (p 2,p 2 )). Vzhledem k asociativit sítání však v obou pípadech dospíváme ke stejnému významu. Sem [x+y+z] = λp:pam.sem[x+y](p)+sem[z](p) = = λp:pam.sem[x](p)+sem[y](p)+sem[z](p) = = λp:pam.sem[x](p)+sem[y+z](p) Nejednoznanost této gramatiky pak pi popisu sémantiky není na závadu, naopak pináší zjednodušené vyjádení. Pevod na jednoznanou gramatiku a odpovídající úpravu sémantických rovností ponecháme jako cviení tenái. 1.2 Popis statické sémantiky Jazyk PL0 je kontextový. Jeden z dvod kontextového charakteru jazyka je podmínka, aby každý identifikátor byl nejdíve deklarován a teprve poté použit. Tuto kontextovou závislost korektnosti výskytu identifikátoru nejsme schopni zachytit bezkontextovou gramatikou. Vyjádíme ji proto statickou sémantikou jazyka, jako doplující podmínky k bezkontextové gramatice. Uvažme opt fragment gramatiky: p 4 : Deklarace var ident Pi zpracování deklarace "var x" je nutno si poznamenat, že výskyt identifikátoru x v dalším textu programu je korektní. Rozšííme proto model stavu výpoetních prostedk o tabulku identifikátor: Tab = Id Bool, kde pro t:tab fakt t(x)=true vyjaduje, že identifikátor x již byl deklarován. Významy výraz modelujeme opt zobrazením ze stavu do hodnot. Významy deklarací modelujeme jako zmnu stavu, kdy do tabulky identifikátor zaneseme informaci o píslušné deklaraci. Stav = Pam Tab M výraz = Stav Val M deklarace = Stav Stav. Význam deklarace definujeme: rp 4 : Sem Deklarace [var ident] = λs:stav.<s.1,s.2[ident true]> Karel Richta 2
3 nebo alternativn zapsáno: rp 4 : Sem Deklarace [var ident](<p,t>) = <p,t[ident true]>. Sémantická rovnost rp 4 vyjaduje fakt, že deklarací "var x" se nemní stav pamti, ale do tabulky identifikátor se deklarace poznamená. Novému modelu je samozejm nutno pizpsobit i ostatní sémantické rovnosti, nap.: rp 2 : Sem Výraz [ident](<p,t>) = if t(ident) then p(ident) else Val {chyba kontextové syntaxe - výskyt nedeklarovaného identifikátoru ve výrazu}. 1.3 Popis sémantiky operaních píkaz Základními operaními píkazy jazyka PL0 jsou piazení, vstup a výstup. Ostatní píkazy slouží pro ízení výpotu, tj. správné uspoádání operaních píkaz tak, aby se dosáhlo zamýšleného efektu programu. Pro každý píkaz použijeme zjednodušený model, nutný pro popis jeho sémantiky. Popis sémantiky piazovacího píkazu musí vyjadovat fakt, že tento píkaz slouží pro zmnu stavu pamti. Nech tedy: p 5 : Píkaz ident := Výraz M píkaz = Pam Pam M Výraz = Pam Val rp 5 : Sem Píkaz [ident := V] = λp:pam.p[ident SemVýraz[V](p)] Pro popis sémantiky vstupu a výstupu musíme rozšíit model stavu o vstupní a výstupní zaízení: Stav = Pam Vstup Výstup. Vstupní i výstupní zaízení použitelná v jazyce PL0 jsou zaízení se sekvenním pístupem bez možnosti návratu. Vstupující i vystupující údaje jsou celá ísla. Stav vstupu proto mžeme modelovat jako posloupnost i Val*, zastupující soubor dosud nepetených dat. Podobn stav výstupu lze modelovat jako posloupnost o Val*, zastupující soubor již zapsaných dat. Vstup = Val* Výstup = Val* Stav = Pam Vstup Výstup. M Píkaz = Stav Stav Zavedeme nový píkaz pro vstup: p 6 : Píkaz read ident Nech <p,i,o> Pam Vstup Výstup je stav ped provedením píkazu "read x". Popis sémantiky píkazu read vyjádí fakt, že píkaz pete jedno íslo ze vstupu a uloží jej na adresu x. Pokud byl vstup, tj. posloupnost i prázdná, dojde pi provádní píkazu read k chyb. Karel Richta 3
4 rp 6 : Sem Píkaz [read ident](<p,i,o>) = = if not null(i) then <p[ident head(i)],tail(i),o> else chyba(<p,i,o>) {chyba dynamické sémantiky - tení za koncem vstupních dat}, kde chyba je funkce pro hlášení chyb dynamické sémantiky definovaná nap. chyba = λs:stav.s. Pro výstup údaj zavedeme píkaz: p 7 : Píkaz write Výraz Nech opt <p,i,o> je stav ped provedením píkazu "write V". Sémantický efekt píkazu zpsobí pipsání hodnoty výrazu V na konec výstupní posloupnosti o. rp 7 : Sem Píkaz [write V](<p,i,o>) = <p,i,append(o,sem Výraz [V](p))> 1.4 Popis sémantiky ídících píkaz Základní ídící strukturou procedurálních jazyk je zetzení píkaz, nap.: p 8 : Píkaz Píkaz ; Píkaz. Poznámka: Nejednoznanost jsme již diskutovali u výraz. Provedení posloupnosti píkaz "P;Q" znamená nejprve provedení píkazu P a poté píkazu Q. kde: rp 8 : Sem Píkaz [P;Q] = Sem Píkaz [P].SemPíkaz[Q], f.q = λx:t.q(f(x)), pro f,q:t T, je kompozice zobrazení (kompozice zobrazení je asociativní). Strukturované jazyky dále zavádjí strukturované ídící konstrukce - podmínný píkaz a píkaz cyklu. p 9 : Píkaz if Výraz then Píkaz else Píkaz Kvli zjednodušení jsme nezavádli nový neterminální symbol "Logický-výraz". Jako podmínku použijeme test na nulu. rp 9 : Sem Píkaz [if V then P 1 else P 2 ] = = λs:stav.if Sem Výraz [V](s)==0 then Sem Píkaz [P 1 ](s) else Sem Píkaz [P 2 ](s). Podobn zavedeme píkaz cyklu: p 10 : Píkaz while Výraz do Píkaz rp 10 : Sem Píkaz [while V do P] = = λs:stav.if Sem Výraz [V](s)==0 then Sem Píkaz [while V do P](Sem Píkaz [P](s)) else s. S využitím znalostí modelu λ-kalkulu lze ešení této rekurzivní rovnosti zapsat explicitn Karel Richta 4
5 pomocí operátoru pevného bodu následovn: rp 10 : Sem Píkaz [while V do P] = = fix(λf:(stav Stav).λs:Stav.if Sem Výraz [V](s)==0 then f(sem Píkaz [P](s)) else s). 1.5 Popis sémantiky výjimek Nestrukturované jazyky používají jako základní ídící konstrukci píkaz skoku (podmínného skoku). Obvykle i strukturované jazyky pipouštjí konstrukce pro ešení výjimek, nap. práv píkaz skoku. Popis sémantiky píkazu skoku si vynucuje komplikovanjší sémantický model, než jsme dosud využívali. Uvažme nap. popis sémantiky zetzení píkaz rovností rp 8. Pokud píkaz P v konstrukci "P;Q" bude píkaz skoku, nebude význam konstrukce "P;Q" závislý na významu píkazu Q, ale bude záviset na významu cílového místa skoku P. Rozšime tedy jazyk o možnost oznaení píkaz návštím a o píkaz skoku na návští. p 11 : Píkaz Návští: Píkaz p 12 : Píkaz goto Návští. Pro vyjádení významu píkazu "goto n" bude podstatné, jaký píkaz je oznaen návštím n. Význam skoku bude pímo význam programu, který zaíná píkazem, oznaeným odpovídajícím návštím. Zavedeme proto tabulku význam návští jako zobrazení: Env = (Návští C), kde: C = Stav Stav je model význam program. Tabulku Env budeme nazývat prostedí programu (environment). Pi urení významu konstrukce "goto n;q" budeme ignorovat "normální" pokraování Q a význam najdeme pímo v odpovídajícím prostedí. Pokud ovšem v konstrukci "P;Q" není P píkaz skoku, musíme do celkového významu zapoítat i význam pokraování Q. To nás pivádí k myšlence, abychom význam píkazu popsali pomocí jeho efektu na význam programu, který pipojíme za nj. Bude-li nap. Q píkaz takový, že: c = Sem[Q]: (Stav Stav), pak význam konstrukce "x:=1;q" získáme aplikací c na stav, který vznikne provedením píkazu "x:=1", tj. c(sem[x:=1]). Význam "goto n;q" však na c závislý nebude. Významy píkaz proto popíšeme zobrazením, které bude závislé na prostedí (Env) a významu pokraování píkazu (C). Výsledkem bude opt dvojice: nové prostedí a význam celku. M Píkaz = (Env C Env C) Sem Píkaz : Píkaz (Env C Env C) Nejprve vyjádíme význam píkazu oznaeného návštím: rp 11 : Sem Píkaz [n:p](<e,c>) = Sem Píkaz [P](<e',c>) kde e' = e[n Sem Píkaz [P](<e',c>)]. Karel Richta 5
6 Návští tedy nemní význam píkazu, ale mní prostedí, ve kterém se význam programu hledá. Píkaz skoku prostedí nemní, ale využívá pro zjištní významu cílového návští. rp 12 : Sem Píkaz [goto a](<e,c>) = <e,e(n)> Skok ignoruje význam pokraování c a pímo vybírá význam z prostedí. Pro nový sémantický model by samozejm bylo nutné upravit i všechny ostatní rovnosti, nap. sémantické rovnosti pro piazení a zetzení píkaz by mly tvar: rp 5 ': Sem Píkaz [ident := V](<e,c>) = <e,λs:stav.c(s[ident Sem Výraz [V](s)])> rp 8 ': Sem Píkaz [P;Q](<e,c>) = Sem Píkaz [P](Sem Píkaz [Q](<e,c>)). V pípadech sémantických rovností jsme nkdy použili rekurze (nap. rp 11 ). Aby bylo použití rekurzivních definic oprávnné, musí být zaruena jejich jednoznaná interpretace. Pi použití doménového modelu λ kalkulu má však každá soustava rekurzivních rovností jednoznané ešení. Karel Richta 6
Programovací jazyky, syntaxe, sémantika, zpsoby popisu
Sémantika programovacích jazyk: Syntaxe a sémantika Syntaxe a sémantika Programovací jazyky, syntaxe, sémantika, zpsoby popisu Ti hlavní charakteristiky jazyka (sémiotika) jsou: - syntax, sémantika a pragmatika
Více1 Sémantika a její vztah k syntaxi
1 Sémantika a její vztah k syntaxi Mjme formální jazyk L T nad abecedou T. Tento formální jazyk je vymezen popisem syntaxe, která stanoví množinu všech syntakticky správných etzc jazyka. V dalším textu
VíceObsah 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
VíceProgramovací 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
VíceDenotační sémantika. Marek Běhálek
Denotační sémantika Marek Běhálek Katedra informatiky, FEI, Vysoká škola báňská Technická universita Ostrava 17. listopadu 15, Ostrava-Poruba 708 33 Česká republika 29. listopadu 2015 M. Běhálek (VŠB-TUO)
Více1. Signatura datového typu
1. Signatura datového typu a) popisuje vlastnosti operací datového typu b) popisuje sémantiku datového typu c) popisuje jména druh a operací a druhy argument a výsledku d) je grafickým vyjádením implementace
VíceVirtuální počítač. Uživatelský program Překladač programovacího jazyka Operační systém Interpret makroinstrukcí Procesor. PGS K.
Virtuální počítač Uživatelský program Překladač programovacího jazyka Operační systém Interpret makroinstrukcí Procesor Virtuální počítač Překladač Překladač : Zdrojový jazyk Cílový jazyk Analytická část:
VíceSpráva obsahu ízené dokumentace v aplikaci SPM Vema
Správa obsahu ízené dokumentace v aplikaci SPM Vema Jaroslav Šmarda, smarda@vema.cz Vema, a. s., www.vema.cz Abstrakt Spolenost Vema patí mezi pední dodavatele informaních systém v eské a Slovenské republice.
VíceKaždý datový objekt Pythonu má minimáln ti vlastnosti. Identitu, datový typ a hodnotu.
Datový objekt [citováno z http://wraith.iglu.cz/python/index.php] Každý datový objekt Pythonu má minimáln ti vlastnosti. Identitu, datový typ a hodnotu. Identita Identita datového objektu je jedinený a
VíceCykly Intermezzo. FOR cyklus
Cykly Intermezzo Rozhodl jsem se zaadit do série nkolika lánk o základech programování v Delphi/Pascalu malou vsuvku, která nám pomže pochopit principy a zásady pi používání tzv. cykl. Mnoho ástí i jednoduchých
VíceKonzistentnost. Pro a proti replikaci. Vztah ke škálovatelnosti (1)
Konzistentnost Pednášky z distribuovaných systém Pro a proti replikaci 1. Zvýšení spolehlivosti. 2. Zvýšení výkonnosti. 3. Nutnost zachování škálovatelnosti systému co do potu komponent i geografické rozlehlosti.
VícePromnné. [citováno z
Promnné [citováno z http://wraith.iglu.cz/python/index.php] Abychom s datovým objektem mohli v programu njak rozumn pracovat, potebujeme se na nj njakým zpsobem odkázat. Potebujeme Pythonu íct, aby napíklad
VíceÚvod do programovacích jazyků (Java)
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích
VíceAutomaty a gramatiky(bi-aag) Formální překlady. 5. Překladové konečné automaty. h(ε) = ε, h(xa) = h(x)h(a), x, x T, a T.
BI-AAG (2011/2012) J. Holub: 5. Překladové konečné automaty p. 2/41 Formální překlady BI-AAG (2011/2012) J. Holub: 5. Překladové konečné automaty p. 4/41 Automaty a gramatiky(bi-aag) 5. Překladové konečné
VíceLogické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false
Logické operace Datový typ bool může nabýt hodnot: o true o false Relační operátory pravda, 1, nepravda, 0, hodnoty všech primitivních datových typů (int, double ) jsou uspořádané lze je porovnávat binární
VíceC++ Akademie SH. 2. Prom nné, podmínky, cykly, funkce, rekurze, operátory. Michal Kvasni ka. 20. b ezna Za áte níci C++
C++ Akademie SH 2. Prom nné, podmínky, cykly, funkce, rekurze, operátory Za áte níci C++ 20. b ezna 2011 Obsah 1 Prom nné - primitivní typy Celá ísla ƒísla s pohyblivou desetinnou árkou, typ bool 2 Podmínka
Více4 - Architektura poítae a základní principy jeho innosti
4 - Architektura poítae a základní principy jeho innosti Z koncepního hlediska je mikropoíta takové uspoádání logických obvod umožující provádní logických i aritmetických operací podle posloupnosti povel
Více2. PÍKLAD DÍLÍ ÁSTI SOUSTAVY - DÍLÍ ÁST SDÍLENÍ TEPLA
2. PÍKLAD DÍLÍ ÁSTI SOUSTAVY - DÍLÍ ÁST SDÍLENÍ TEPLA 2.1. OBECN Tepelné požadavky na dílí ást sdílení tepla zahrnují mimoádné ztráty pláštm budovy zpsobené: nerovnomrnou vnitní teplotou v každé tepelné
VíceVyuč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é
VíceAlgoritmizace a programování
Algoritmizace a programování Řídicí struktury jazyka Java Struktura programu Příkazy jazyka Blok příkazů Logické příkazy Ternární logický operátor Verze pro akademický rok 2012/2013 1 Struktura programu
VíceProgramovací 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á
Více27. asové, kmitotové a kódové dlení (TDM, FDM, CDM). Funkce a poslání úzkopásmových a širokopásmových sítí.
Petr Martínek martip2@fel.cvut.cz, ICQ: 303-942-073 27. asové, kmitotové a kódové dlení (TDM, FDM, CDM). Funkce a poslání úzkopásmových a širokopásmových sítí. Multiplexování (sdružování) - jedná se o
VíceAlgoritmizace 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 Algoritmus Daniela Szturcová Tento
VícePravdpodobnost výskytu náhodné veliiny na njakém intervalu urujeme na základ tchto vztah: f(x)
NÁHODNÁ VELIINA Náhodná veliina je veliina, jejíž hodnota je jednoznan urena výsledkem náhodného pokusu (je-li tento výsledek dán reálným íslem). Jde o reálnou funkci definovanou na základním prostoru
VíceAlgoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44
Algoritmizace a programování Ak. rok 2012/2013 vbp 1. ze 44 Vladimír Beneš Petrovický K101 katedra matematiky, statistiky a informačních technologií vedoucí katedry E-mail: vbenes@bivs.cz Telefon: 251
VíceImplementace LL(1) překladů
Překladače, přednáška č. 6 Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz Poslední aktualizace: 30. října 2007 Postup Programujeme syntaktickou analýzu: 1 Navrhneme vhodnou LL(1) gramatiku
Více1 KOMBINATORIKA, KLASICKÁ PRAVDPODOBNOST
1 KOMBINATORIKA, KLASICKÁ PRAVDPODOBNOST Kombinatorické pravidlo o souinu Poet všech uspoádaných k-tic, jejichž první len lze vybrat n 1 zpsoby, druhý len po výbru prvního lenu n 2 zpsoby atd. až k-tý
VíceVYTVÁENÍ VÝBROVÝCH DOTAZ
VYTVÁENÍ VÝBROVÝCH DOTAZ V PRODUKTECH YAMACO SOFTWARE PÍRUKA A NÁVODY PRO ÚELY: - VYTVÁENÍ VÝBROVÝCH SESTAV YAMACO SOFTWARE 2003-2004 1. ÚVODEM Standardní souástí všech produkt Yamaco Software jsou prostedky
VíceŘÍKÁME, ŽE FUNKCE JE ČÁSTEČNĚ SPRÁVNÁ (PARTIALLY CORRECT), POKUD KDYŽ JE SPLNĚNA PRECONDITION
ŘÍKÁME, ŽE FUNKCE JE ČÁSTEČNĚ SPRÁVNÁ (PARTIALLY CORRECT), POKUD KDYŽ JE SPLNĚNA PRECONDITION FUNKCE PŘI JEJÍM ZAVOLÁNÍ, JEJÍ POSTCONDITION JE SPLNĚNA PŘI NÁVRATU Z FUNKCE (POKUD NASTANE) OBECNĚ FUNKCE
VíceIMPORT DAT Z TABULEK MICROSOFT EXCEL
IMPORT DAT Z TABULEK MICROSOFT EXCEL V PRODUKTECH YAMACO SOFTWARE PÍRUKA A NÁVODY PRO ÚELY: - IMPORTU DAT DO PÍSLUŠNÉ EVIDENCE YAMACO SOFTWARE 2005 1. ÚVODEM Všechny produkty spolenosti YAMACO Software
VícePROGRAMOVACÍ JAZYKY A PŘEKLADAČE LL SYNTAKTICKÁ ANALÝZA DOKONČENÍ, IMPLEMENTACE.
PROGRAMOVACÍ JAZYKY A PŘEKLADAČE LL SYNAKICKÁ ANALÝZA DOKONČENÍ, IMPLEMENACE. VLASNOSI LL GRAMAIK A JAZYKŮ. 2011 Jan Janoušek BI-PJP Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Gramatika
VíceAlgoritmizace 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 Algoritmus Daniela Szturcová Tento
VíceKUSOVNÍK Zásady vyplování
KUSOVNÍK Zásady vyplování Kusovník je základním dokumentem ve výrob nábytku a je souástí výkresové dokumentace. Každý výrobek má svj kusovník. Je prvotním dokladem ke zpracování THN, objednávek, ceny,
VícePřekladač a jeho struktura
Překladač a jeho struktura Překladače, přednáška č. 1 Šárka Vavrečková Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz http://fpf.slu.cz/ vav10ui Poslední aktualizace: 23. září 2008 Definice
VícePODOBÁ SE JAZYKU C S NĚKTERÝMI OMEZENÍMI GLOBÁLNÍ PROMĚNNÉ. NSWI162: Sémantika programů 2
PI JE JEDNODUCHÝ IMPERATIVNÍ PROGRAMOVACÍ JAZYK OBSAHUJE PODPORU ANOTACÍ NEOBSAHUJE NĚKTERÉ TYPICKÉ KONSTRUKTY PROGRAMOVACÍCH JAZYKŮ JAKO JSOU REFERENCE, UKAZATELE, GLOBÁLNÍ PROMĚNNÉ PODOBÁ SE JAZYKU C
VíceGENEROVÁNI KÓDU jazyk Mila
Czech Technical University in Prague Faculty of Information Technology Department of Theoretical Computer Science GENEROVÁNI KÓDU jazyk Mila Jan Janoušek Evropský sociální fond. Praha & EU: Investujeme
VíceTabulkový procesor Excel
Tabulkový procesor Excel Excel 1 SIPVZ-modul-P0 OBSAH OBSAH...2 ZÁKLADNÍ POJMY...4 K EMU JE EXCEL... 4 UKÁZKA TABULKOVÉHO DOKUMENTU... 5 PRACOVNÍ PLOCHA... 6 OPERACE SE SOUBOREM...7 OTEVENÍ EXISTUJÍCÍHO
VíceVyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.
Vyhledávání doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 21. září 2018 Jiří Dvorský (VŠB TUO) Vyhledávání 242 / 433 Osnova přednášky
VíceObsah. 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é
VíceLogika. 2. Výroková logika. RNDr. Luděk Cienciala, Ph. D.
Logika 2. Výroková logika RNDr. Luděk Cienciala, Ph. D. Tato inovace předmětu Úvod do logiky je spolufinancována Evropským sociálním fondem a Státním rozpočtem ČR, projekt č. CZ. 1.07/2.2.00/28.0216, Logika:
VícePROGRAMOVACÍ JAZYKY A PŘEKLADAČE LEXIKÁLNÍ ANALÝZA
PROGRAMOVACÍ JAZYKY A PŘEKLADAČE LEXIKÁLNÍ ANALÝZA 2011 Jan Janoušek BI-PJP Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti LEXIKÁLNÍ ANALÝZA Kód ve vstupním jazyku Lexikální analyzátor
VíceDUM. Databáze - úvod
DUM Název projektu íslo projektu íslo a název šablony klíové aktivity Tematická oblast - téma Oznaení materiálu (pílohy) Inovace ŠVP na OA a JŠ Tebí CZ.1.07/1.5.00/34.0143 III/2 Inovace a zkvalitnní výuky
Více4. Lineární diferenciální rovnice rovnice 1. ádu
4. Lineární diferenciální rovnice rovnice. ádu y + p( ) y = (4.) L[ y] = y + p( ) y p q jsou spojité na I = (ab) a < b. Z obecné teorie vyplývá že množina všech ešení rovnice (4.) na intervalu I (tzv.
VícePŘ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
VíceČasová a prostorová složitost algoritmů
.. Časová a prostorová složitost algoritmů Programovací techniky doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Hodnocení algoritmů Programovací techniky Časová a prostorová
VíceFormální systém výrokové logiky
Formální systém výrokové logiky 1.Jazyk výrokové logiky Nechť P = {p,q,r, } je neprázdná množina symbolů, které nazýváme prvotní formule. Symboly jazyka L P výrokové logiky jsou : a) prvky množiny P, b)
VíceSyntaktická analýza. Implementace LL(1) překladů. Šárka Vavrečková. Ústav informatiky, FPF SU Opava
Implementace LL(1) překladů Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz Poslední aktualizace: 6. ledna 2012 Postup Programujeme syntaktickou analýzu: 1 Navrhneme vhodnou LL(1) gramatiku
VíceRzné algoritmy mají rznou složitost
X36DSA 25 / 3 DSA Rzné algoritmy mají rznou složitost X36DSA 25 2 / 3 DSA The complexity of different algorithms varies X36DSA 25 3 / 3 Abeceda Jazyk Abeceda konená (neprázdná) množina symbol A mohutnost
VícePÍRUKA A NÁVODY PRO ÚELY: - RUTINNÍ PRÁCE S DATY
PÍRUKA A NÁVODY PRO ÚELY: - RUTINNÍ PRÁCE S DATY YAMACO SOFTWARE 2006 1. ÚVODEM Nové verze produkt spolenosti YAMACO Software pinášejí mimo jiné ujednocený pístup k použití urité množiny funkcí, která
Více2 Formální jazyky a gramatiky
2 Formální jazyky a gramatiky 2.1 Úvod Teorie formálních gramatik a jazyků je důležitou součástí informatiky. Její využití je hlavně v oblasti tvorby překladačů, kompilátorů. Vznik teorie se datuje přibližně
VíceStanovení požadavk protismykových vlastností vozovek s ohledem na nehodovost
VUT Brno Fakulta stavební Studentská vdecká a odborná innost Akademický rok 2005/2006 Stanovení požadavk protismykových vlastností vozovek s ohledem na nehodovost Jméno a píjmení studenta : Roník, obor
VíceModely Herbrandovské interpretace
Modely Herbrandovské interpretace Petr Štěpánek S využitím materialu Krysztofa R. Apta 2006 Logické programování 8 1 Uvedli jsme termové interpretace a termové modely pro logické programy a také nejmenší
Více6 Příkazy řízení toku
6 Příkazy řízení toku 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 pro řízení toku programu. Pro všechny tyto základní
Víceíslo jednací: /14 íslo žádosti: Dvod vydání Vyjádení : Stavební ízení
VYJÁDENÍ O EXISTENCI SÍT ELEKTRONICKÝCH KOMUNIKACÍ A VŠEOBECNÉ PODMÍNKY OCHRANY SÍT ELEKTRONICKÝCH KOMUNIKACÍ SPOLENOSTI O2 CZECH REPUBLIC A.S. vydané podle 101 zákona. 127/2005 Sb., o elektronických komunikacích
Více3 Co je algoritmus? 2 3.1 Trocha historie... 2 3.2 Definice algoritmu... 3 3.3 Vlastnosti algoritmu... 3
Obsah Obsah 1 Program přednášek 1 2 Podmínky zápočtu 2 3 Co je algoritmus? 2 3.1 Trocha historie............................ 2 3.2 Definice algoritmu.......................... 3 3.3 Vlastnosti algoritmu.........................
VícePascal. 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í
VíceE. Niklíková, J.Tille, P. Stránský Státní ústav pro kontrolu léiv Seminá SLP
1 2 Význam použitých zkratek Správná laboratorní praxe SLP Organizace pro ekonomickou spolupráci a rozvoj OECD Testovací zaízení TZ Vedoucí testovacího zaízení VTZ Zabezpeování jakosti QA Vedoucí studie
Více2) 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
VíceLogické programy Deklarativní interpretace
Logické programy Deklarativní interpretace Petr Štěpánek S využitím materialu Krysztofa R. Apta 2006 Logické programování 7 1 Algebry. (Interpretace termů) Algebra J pro jazyk termů L obsahuje Neprázdnou
VíceReplikace. Pro a proti replikaci. Vztah ke škálovatelnosti (1)
Replikace Pednášky z distribuovaných systém Pro a proti replikaci 1. Zvýšení spolehlivosti. 2. Zvýšení výkonnosti. 3. Nutnost zachování škálovatelnosti systému co do potu komponent i geografické rozlehlosti.
VíceÚvodní studie (pokraov
Úvodní studie (pokraov ování) Model jednání a kontext Model jednání (use case model) slouží pro evidenci aktér a služeb systému. Kontextový diagram slouží pro evidenci aktér a datových tok. Oba modely
VíceInterpret jazyka IFJ2011
Dokumentace projektu Interpret jazyka IFJ2011 Tým číslo 093, varianta b/3/i: 20 % bodů: Cupák Michal (xcupak04) vedoucí týmu 20 % bodů: Číž Miloslav (xcizmi00) 20 % bodů: Černá Tereza (xcerna01) 20 % bodů:
VíceOCR (optical character recognition) - rozpoznávání textu v obraze
OCR (optical character recognition) - rozpoznávání textu v obraze Martin Koníek, I46 programová dokumentace 1. Úvod Tento projekt vznikl na MFF UK a jeho cílem bylo vytvoit algoritmus schopný rozpoznávat
VíceVLASTNOSTI KOMPONENT MICÍHO ETZCE -ÍSLICOVÁÁST
VLASTNOSTI KOMPONENT MICÍHO ETZCE -ÍSLICOVÁÁST 6.1. Analogovíslicový pevodník 6.2. Zobrazovací a záznamové zaízení 6.1. ANALOGOVÍSLICOVÝ PEVODNÍK Experimentální metody pednáška 6 Napájecí zdroj Sníma pevod
VíceNPRG030 Programování I, 2010/11
Podmínka = něco, co JE, nebo NENÍ splněno typ Boolean hodnoty: TRUE pravda FALSE lež domluva (optimistická): FALSE < TRUE když X, Y jsou (číselné) výrazy, potom X = Y X Y X < Y X > Y X = Y jsou
VíceOdvozené 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
VíceSlepé prohledávání do šířky Algoritmus prohledávání do šířky Při tomto způsobu prohledávání máme jistotu, že vždy nalezneme koncový stav, musíme ale p
Hanojská věž Stavový prostor 1. množina stavů S = {s} 2. množina přechodů mezi stavy (operátorů) Φ = {φ} s k = φ ki (s i ) zadání [1 1 1] řešení [3 3 3] dva možné první tahy: [1 1 2] [1 1 3] který tah
VíceO 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
VíceDiagnostika u voz s 2-místnými diagnostickými kódy
Zobrazení Diagnostické y jsou zobrazovány jako impulsy (blikání). Uživatel musí spoítat poet impuls LED diody na diagnostickém zaízení. Nap. íslice 5 je vysláno jako pt impuls (bliknutí), následuje krátká
Vícetype 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á
VíceNáznak ukázky syntaxe a sémantiky pro projekt. 1 Syntaktické prvky. Poslední aktualizace: 8.
Jednoduchý interpretační překladač Náznak ukázky syntaxe a sémantiky pro projekt Šárka Vavrečková Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz Poslední aktualizace: 8. ledna 2008 1 Syntaktické
Víceint t1, t2, t3, t4, t5, t6, t7, prumer; t1=sys.readint();... t7=sys.readint(); prume pru r = r = ( 1+t 1+t t3+ t3+ t4 t5+ t5+ +t7 +t7 )/ ;
Pole Příklad: přečíst teploty naměřené v jednotlivých dnech týdnu, vypočítat průměrnou teplotu a pro každý den vypsat odchylku od průměrné teploty Řešení s proměnnými typu int: int t1, t2, t3, t4, t5,
VícePárování. Nápovdu k ostatním modulm naleznete v "Pehledu nápovd pro Apollo".
Párování Modul Párování poskytuje pehled o došlých i vrácených platbách provedených bankovním pevodem i formou poštovní poukázky. Jedná se napíklad o platby za e-pihlášky, prkazy ISIC nebo poplatky za
VíceNPRG030 Programování I, 2016/17 1 / :58:13
NPRG030 Programování I, 2016/17 1 / 31 10. 10. 2016 10:58:13 Podmínka = něco, co JE, nebo NENÍ splněno typ Boolean hodnoty: TRUE pravda FALSE lež domluva (optimistická): FALSE < TRUE NPRG030 Programování
VícePoslední aktualizace: 14. října 2011
Lexikální analýza Překladače, přednáška č. 2 Šárka Vavrečková Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz http://fpf.slu.cz/ vav10ui Poslední aktualizace: 14. října 2011 Symboly Co je to
VíceMETODY OCEOVÁNÍ PODNIKU DEFINICE PODNIKU. Obchodní zákoník 5:
METODY OCEOVÁNÍ PODNIKU DEFINICE PODNIKU Obchodní zákoník 5: soubor hmotných, jakož i osobních a nehmotných složek podnikání. K podniku náleží vci, práva a jiné majetkové hodnoty, které patí podnikateli
VíceZbytky zákaznického materiálu
Autoi: V Plzni 31.08.2010 Obsah ZBYTKOVÝ MATERIÁL... 3 1.1 Materiálová žádanka na peskladnní zbytk... 3 1.2 Skenování zbytk... 7 1.3 Vývozy zbytk ze skladu/makulatura... 7 2 1 Zbytkový materiál V souvislosti
VíceE. Niklíková, J.Tille, P. Stránský Státní ústav pro kontrolu léiv Seminá SLP 4. 5.4.2012
1 2 Pístroje, materiály a inidla jsou jednou z kontrolovaných oblastí pi kontrolách úrovn správné laboratorní praxe, které provádí Státní ústav pro kontrolu léiv. Kontrolováno je jejich poizování, provoz,
VíceŘídicí struktury. alg3 1
Řídicí struktury Řídicí struktura je programová konstrukce, která se skládá z dílčích příkazů a předepisuje pro ně způsob provedení Tři druhy řídicích struktur: posloupnost, předepisující postupné provedení
VíceNPRG030 Programování I RNDr.Tomáš Holan, Ph.D. 4.patro, č
NPRG030 Programování I RNDr.Tomáš Holan, Ph.D. 4.patro, č.404 http://ksvi.mff.cuni.cz/~holan/ Tomas.Holan@mff.cuni.cz NPRG030 Programování I, 2014/15 1 / 37 6. 10. 2014 11:42:59 NPRG030 Programování I,
VíceVlastnosti algoritmu. elementárnost. determinovanost. rezultativnost. konečnost. hromadnost. efektivnost
Programování Algoritmus návod na vykonání činnosti, který nás od (měnitelných) vstupních dat přivede v konečném čase k výsledku přesně definovaná konečná posloupnost činností vedoucích k výsledku (postup,
VíceJazyk C# a platforma.net
Jazyk C# a platforma.net Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Syntaxe jazyka C# - 1. část BI-DNP Evropský sociální fond
VíceÚvod do TI - logika Predikátová logika 1.řádu (4.přednáška) Marie Duží marie.duzi@vsb.cz
Úvod do TI - logika Predikátová logika 1.řádu (4.přednáška) Marie Duží marie.duzi@vsb.cz Jednoduché úsudky, kde VL nestačí Všechny opice mají rády banány Judy je opice Judy má ráda banány Z hlediska VL
VíceČ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
VícePROGRAMOVACÍ JAZYKY A PŘEKLADAČE REALIZACE PŘEKLADAČE I
PROGRAMOVACÍ JAZYKY A PŘEKLADAČE REALIZACE PŘEKLADAČE I 2011 Jan Janoušek BI-PJP Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Programová realizace DKA typedef enum {q0, q1,... qn,
Více4.2 Syntaxe predikátové logiky
36 [070507-1501 ] 4.2 Syntaxe predikátové logiky V tomto oddíle zavedeme syntaxi predikátové logiky, tj. uvedeme pravidla, podle nichž se tvoří syntakticky správné formule predikátové logiky. Význam a
VíceLABORATORNÍ CVIENÍ Stední prmyslová škola elektrotechnická
Stední prmyslová škola elektrotechnická a Vyšší odborná škola, Pardubice, Karla IV. 13 LABORATORNÍ CVIENÍ Stední prmyslová škola elektrotechnická Píjmení: Hladna íslo úlohy: 3 Jméno: Jan Datum mení: 10.
VíceInternetový mapový server Karlovarského kraje
Internetový mapový server Karlovarského kraje Ing.Jií Heliks Karlovarský kraj Závodní 353/88 Karlovy Vary tel.: 353 502 365 e-mail: jiri.heliks@kr-karlovarsky.cz 1. Úvod Vývojem informa,ních systém. a
Vícefor (i = 0, j = 5; i < 10; i++) { // tělo cyklu }
5. Operátor čárka, - slouží k jistému určení pořadí vykonání dvou příkazů - oddělím-li čárkou dva příkazy, je jisté, že ten první bude vykonán dříve než příkaz druhý. Např.: i = 5; j = 8; - po překladu
Více1. Exponenciální rst. 1.1. Spojitý pípad. Rstový zákon je vyjáden diferenciální rovnicí
V tomto lánku na dvou modelech rstu - exponenciálním a logistickém - ukážeme nkteré rozdíly mezi chováním spojitých a diskrétních systém. Exponenciální model lze považovat za základní rstový model v neomezeném
VíceSémantika Tabulka symbolů Intermediální kód Typová kontrola, přetypování Statická a dynamická sémantika. Sémantická analýza.
Sémantická analýza Šárka Vavrečková Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz Poslední aktualizace: 19. listopadu 2009 Definice (Sémantická analýza) Vstup: konstrukce symbolů vytvořená
VíceGenerování vnitřní reprezentace programu
Generování vnitřní reprezentace programu Miroslav Beneš Dušan Kolář Možnosti překladu Interpretace Okamžité provádění programu Překlad do instrukcí procesoru Závislost na konkrétním typu procesoru Překlad
VíceVýrazy a operátory. Operátory Unární - unární a unární + Např.: a +b
Výrazy a operátory i = 2 i = 2; to je výraz to je příkaz 4. Operátory Unární - unární a unární + Např.: +5-5 -8.345 -a +b - unární ++ - inkrement - zvýší hodnotu proměnné o 1 - unární -- - dekrement -
VícePreprocesor. Karel Richta a kol. katedra počítačů FEL ČVUT v Praze. Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016
Preprocesor Karel Richta a kol. katedra počítačů FEL ČVUT v Praze Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016 Programování v C++, A7B36PJC 4/2016, Lekce 9b https://cw.fel.cvut.cz/wiki/courses/a7b36pjc/start
VíceŠANCE PRO SPOLENOST, obanské sdružení
ŠANCE PRO SPOLENOST, obanské sdružení ZADÁVACÍ DOKUMENTACE PRO PODLIMITNÍ VEEJNOU ZAKÁZKU TVORBA TELEVIZNÍHO CYKLU ZAMENÉHO NA PROPAGACI ROVNOSTI ŠANCÍ ŽEN A MUŽ DATUM: 20.PROSINEC 2005 ZADAVATEL Šance
VíceSoftware602 Form Designer
Software602 Form Designer Javascriptový vyhodnocovací mechanismus výrazů Aktualizováno: 17. 3. 2017 Software602 a.s. Hornokrčská 15 140 00 Praha 4 tel: 222 011 602 web: www.602.cz e-mail: info@602.cz ID
VíceIB015 Neimperativní programování. Seznamy, Typy a Rekurze. Jiří Barnat Libor Škarvada
IB015 Neimperativní programování Seznamy, Typy a Rekurze Jiří Barnat Libor Škarvada Sekce IB015 Neimperativní programování 02 str. 2/36 Uspořádané n-tice a seznamy Programování a data IB015 Neimperativní
Více2.1 Podmínka typu case Cykly Cyklus s podmínkou na začátku Cyklus s podmínkou na konci... 5
Obsah Obsah 1 Řídicí struktury 1 2 Podmínka 1 2.1 Podmínka typu case......................... 2 3 Příkaz skoku 3 4 Cykly 4 4.1 Cyklus s podmínkou na začátku................... 4 4.2 Cyklus s podmínkou
VíceDUM 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
VícePrbh funkce Jaroslav Reichl, 2006
rbh funkce Jaroslav Reichl, 6 Vyšetování prbhu funkce V tomto tetu je vzorov vyešeno nkolik úloh na vyšetení prbhu funkce. i ešení úlohy jsou využity základní vlastnosti diferenciálního potu.. ešený píklad
Více