1-Úvod. Automaty a gramatiky(bi-aag) Plán přednášky. 8. Regulární výrazy - aplikace
|
|
- Jiří Marek
- před 7 lety
- Počet zobrazení:
Transkript
1 BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 2/51 BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 4/51 1-Úvod Automaty a gramatiky(bi-aag) 8. Regulární výrazy - aplikace Jan Holub Katedra teoretické informatiky Fakulta informačních technologií ČVUT v Praze Jak popsat množiny řetězců? Omezený regulární výraz (UNIX shell) Regulární výraz (RE) Rozšířený regulární výraz (ERE) Regulární výraz - jak poznat, o kterém typu se mluví: Regular expression = regulární výraz podle Kleena Regex, Regexp = posixový a perlový regulární výraz c Jan Holub, 2011 Evropský sociální fond. Praha & EU: Investujeme do vaší budoucnosti BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 1/51 Plán přednášky 1. Úvod jak popisovat množiny řetězců 2. Co je regulární výraz a co ještě není Shell pattern matching vs. grep, perl 3. Plnohodnotné regulární výrazy 4. Definice, příklady Posix RE BRE, ERE 5. Definice, příklady Perl RE 6. Shody a rozdíly vůči teorii (Kleene) 7. Podpora RE v programovacích jazycích 8. Implementace regexp enginů 1-Úvod Jak popsat a rozhodovat množiny řetězců? BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 3/51 Omezený regulární výraz (UNIX shell): pattern matching Plnohodnotný regulární výraz: konečný automat Rozšířený reguálrní výraz: matching engine s backtrackingem
2 BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 6/51 BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 8/ Coještěnení RE 2-UNIXShell Pattern UNIX shell pattern Popisuje množiny řetězců nad abecedou T, které jsou vlastní podmnožinou množiny regulárních jazyků (tzn. není tak silný, jako RE). Používá speciální metasymboly pro vyjádření libovolného řetězce, libovolného symbolu a libovolného symbolu ze zadané množiny Pattern je posloupnost symbolů a metasymbolů Použité metasymboly: [abc0-9], [ˆd-z] : popisuje množinu povolených, resp. zakázaných symbolů (pro zákaz se vedle ˆ dá použít také! ). Umožňuje pomocí pomlčky popsat rozsah.? : otazník znamená jakýkoli symbol : hvězdička znamená libovolný řetězec \ : escape symbol pro umožnění vkládání [,?,, \ do patternu Řetězec "vyhovuje"patternu, pokud se symbol po symbolu dá namapovat na symboly patternu BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 5/51 2-UNIXShell Pattern BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 7/51 2-UNIXShell Pattern Použité metasymboly: [ ], [ˆ ]? \ Příklady množin řetězců a patternů, které je popisují: řetězce pattern a.txt a.txt a.txt, b.txt [ab].txt a.<3 znaky> a.??? a na začátku a.txt na konci a.txt libovolný řetězec
3 BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 10/51 BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 12/51 2-UNIXShell Pattern 2-POSIX třídysymbolů Příklady patternů a množin řetězců, které jsou popsány: pattern řetězce main.c [a-ce].c?x?.txt Třídy symbolů, které nahrazují rozsahy v závorkách. Posix třídy jsou na rozdíl od rozsahů přesně definovány a je vhodné je používat, pokud vyžadujeme spolehlivé vyhodnocení patternu. Třídy jsou popsány pomocí [: name :] a samotné se dají použít jen uvnitř hranatých závorek. [[: alpha :]] je to samé co [a-za-z] [[: alnum :]] je to samé co [[: alpha :]01 9] [: alpha :] [: alnum :] [: ascii :] [: blank :] [: cntrl :] [: digit :] [: graph :] [: lower :] [: print :] [: punct :] [: space :] [: upper :] [: word :] [: xdigit :] BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 9/51 2-UNIXShell Pattern BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 11/51 2-UNIXShell Pattern Příklady patternů a množin řetězců, které jsou popsány: pattern řetězce main.c main.c [a-ce].c a.c, b.c, c.c, e.c?x? axa, axb, axc,....txt cokoli na začátku a.txt na konci libovolný řetězec Pokud chceme popsat řetězec, co obsahuje znak(y), \, [,?, potřebujeme před tyto symboly v patternu vložit escape symbol \ nebo použít Nadto pozor na způsob, jakým shell interpretuje neescapované metasymboly: ls [a].txt: existuje-li a.txt, nalezne pouze jej. ls [a].txt: nalezne [a].txt, pokud tento existuje a zároveň neexistuje a.txt
4 2-Pattern-poznámky na závěr BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 14/ Plnohodnotné regulární výrazy BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 16/51 Definice významu metasymbolů se mezi Unixovými nástroji liší v závislosti na použití. Některé například vyhledají s pomocí řetězce obsahující / a jiné nástroje zase ne. Při vyhledávání souborů patterny a? nenaleznou soubory začínající tečkou. Použijte. Vyhledávanému vzorku se často říká glob Dělení symbolů v regulárních výrazech: Literály (ordinary characters) Metasymboly (special characters) 1. Kotvy (anchors) 2. Zástupné symboly (character sets) 3. Modifikátory a kvantifikátory (modifiers, quantifiers) Escape symbol BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 13/ Plnohodnotné regulární výrazy BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 15/ Plnohodnotné regulární výrazy V praxi se regulární výrazy používají velmi běžně. Přímo vycházejí z Kleeneovy teorie a podle potřeb ji dále rozvíjejí. Vyvinuly se dva hlavní standardy: Posixové základní a rozšířené RE (BRE a ERE) Perlové regexpy Význam symbolů v regulárních výrazech: Literály: znamenají samy sebe Metasymboly: mají speciální význam 1. Kotvy: určují pozici výskytu v textu 2. Zástupné symboly: znamenají libovolný literál z dané množiny 3. Modifikátory a kvantifikátory: Umožňují operace na regulárních výrazech jako je sjednocení nebo iterace Escape symbol: dělá z metasymbolu literál
5 3 - Plnohodnotné regulární výrazy BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 18/51 4-BRE-Zástupné symboly BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 20/51 Řetězec x je výskyt regulárního výrazu r, pokud řetězec x patří do množiny řetězců definované regulárním výrazem r. Popis množiny symbolů v BRE: x symbol x. jakýkoli symbol [abc] a nebo b nebo c [a-c] a nebo b nebo c [ˆa-c] jakýkoli symbol kromě a, b a c [[: alpha :][: space :]#] jakýkoli symbol abecedy, mezerový symbol nebo # BRE akceptuje posixové třídy symbolů BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 17/ PosixovéBRE BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 19/51 4-BRE-Kvantifikátory BRE = Basic Regular Expressions Základní norma pro UNIXové regulární výrazy Tuto normu splňuje většina UNIXových nástrojů, které pracují s RE. Kvantifikátory následují za regulárním výrazem. Odpovídají operaci iterace, ale umí být i jemnější: \{m, n\} \{m, \} \{m\} 0 nebo víc výskytů za sebou od m po n výskytů za sebou m a víc výskytů za sebou m výskytů za sebou \ před { a } je nutný.
6 4 - BRE-Kvantifikátory-příklady BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 22/51 4-BRE-Kotvy-příklady BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 24/51 Kvantifikátory následují za regulárním výrazem. Odpovídají operaci iterace, ale umí být i jemnější: Regulární výraz popsané řetězce ba b, ba, baa, baaa,... [ba] libovolně dlouhý řetězec symbolů a a b \(ba\) [ba]\{1, 2\} ε, ba, baba, bababa b, a, bb, ba, ab, aa a\{3, \} aaa, aaaa, aaaaa,... [ba]\{2\} bb, ba, ab, aa Kotvy slouží k popisu pozice výskytu na řádku. Regulární výraz Nalezne Zavrhne ˆkop kopáč Franta známý kopytník chod$ dlouhý podchod pochod na jih \<kol kolo okolo tok\> roztok stokrát \ před { a } je nutný. BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 21/51 4-BRE-Kotvy BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 23/ BRE-Speciálníznaky Kotvy slouží k popisu pozice výskytu na řádku. Kotva Význam ˆ Začátek řádku $ Konec řádku \< Začátek slova (nestandardní, původem z vi) \> Konec slova (nestandardní, původem z vi) \ před < a > je nutný. Další znaky v BRE: Znak Význam \(\) Vytvoření skupiny; skupiny jsou implicitně číslovány, aby se na ně dalo odkazovat \čislo Opakovaný výskyt vzorku z odpovídající závorky (mechanismus pro pamatování!) \n Znak nové řádky (nestandardní; používá například sed) \ před ( a ) je nutný.
7 4 - BRE-Speciálníznaky BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 26/51 4-BRE-různý významescape \ BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 28/51 Další znaky v BRE: Regulární výraz \(hrad\) \(hrad \)\1 popsané řetězce hrad hrahra, hradhrad, hraddhradd,... Pokud je znak \ před, [,., \, ˆ, $, "vypíná" speciální význam těchto znaků. Pokud je znak \ před (, ), <, >, {, }, "zapíná" speciální význam těchto znaků. Co popisuje [\ \[ ]\{2\}? \ před ( a ) je nutný. BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 25/51 4-BRE, ERE-POZOR! BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 27/ PosixERE Veškeré RV, pokud není řečeno jinak, jsou "hladové" (greedy). To znamená, že se budou snažit najít nejdelší možný vzorek: Text: Pattern: Nalezený vzorek: aabcaabcde a. b aabcaab BRE dovolují popisovat některé neregulární jazyky a zároveň neumí všechny regulární Chybí možnost popsat alternativu - sjednocení BRE nejednotně používají escape znak Proto existují Extended Regular Expressions (ERE), které se (s diskutabilní úspěšností) snaží řešit problémy BRE
8 4-ERE-změny oprotibre BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 30/51 4-ERE-změny oprotibre BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 32/51 Ruší se následující speciální znaky: \{\} \<\> \(\) \cislo Nové metasymboly pro skupinu: ( ) skupinové závorky alternativa ve skupině ERE (ab bc cd) (hrad zamek) popsaná množina řetězců {ab, bc, cd} {hrad, zamek} Kvantifikátory - příklady: Regulární výraz popsané řetězce ba b, ba, baa, baaa,... ba+ ba, baa, baaa,... ba? b, ba [ba] libovolně dlouhý řetězec symbolů a a b (ba) ε, ba, baba, bababa [ba]{1, 2} b, a, bb, ba, ab, aa a{3, } aaa, aaaa, aaaaa,... [ba]{2} bb, ba, ab, aa BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 29/51 4-ERE-změny oprotibre BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 31/ BREaERE-výskyt Nové kvantifikátory: kvantifikátor význam 0 nebo víc opakování + 1 a víc opakování? 0 nebo 1 výskyt {m, n} od m po n výskytů {m, } m a víc výskytů {m} m výskytů Výskyt v UNIXových nástrojích: BRE ERE vi awk more nawk ed egrep grep grep -E sed sed -r......
9 4-BREaERE - kontroverze BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 34/51 BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 36/51 Ačkoli se norma pokouší definovat "správné" regulární výrazy, nepředkládá přehledný a snadno použitelný formalismus Téměř každý UNIXový nástroj používá vlastní variantu regulárních výrazů - je důležité otestovat RE před jeho pracovním nasazením Zjištění, zda řetězec $string obsahuje výskyt regulárního výrazu regex: $string =~m/regex/; Náhrada prvního výskytu za jiný: $string =~s/regex/replacement/; Náhrada všech výskytů za jiný: $string =~s/regex/replacement/g; BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 33/51 BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 35/51 Perl je skriptovací jazyk (počátek 90. let) Má přímo zabudovanou podporu regulárních výrazů Staví na posixových RE, rozšiřuje je a zpříjemňuje práci s nimi Některá rozšíření způsobila, že perlový regexp popisuje striktně více než třídu regulárních jazyků (podobnost s BRE) Za standard se bere Perl 5.10 regexp Perl navazuje na ERE a přidává další funkcionalitu: Opět zavádí pamatování a odkazování pomocí \cislo Lazy kvantifikátory (vedle greedy) Umožňuje lookahead, lookbehind Vlastní, "shorthand" třídy symbolů Nové kotvy
10 BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 38/51 BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 40/51 Sjednocené metasymboly: { }[ ]( )ˆ$. +?\ mají speciální význam Pokud je chceme vyhledat jako literály, musí jim předcházet \ Escape sekvence pro ASCII znaky: \n, \r, \t, \x[hexa], \u[unicode], Modifikátory vyhledávání výskytu regulárního výrazu: i = ignore case g = v případě nahrazování vyhledat a nahradit všechny výskyty. Při opakovaném hledání hledat od posledního výskytu.... BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 37/51 BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 39/51 Sjednocené metasymboly - příklady: Regulární výraz popsané řetězce /(abc){1, 2}/ abc, abcabc /[ab]?d/ d, ad, bd /ˆ. $/ jakákoli celá řádka /a+b c+/ ab, aab,..., c, cc,... /\ \\\+/ \+ Příklady: Regulární výraz /hi\nworld/ popsané řetězce hi world /entry\t\x61\x74/ entry at /hello/i hello, Hello, hello,...
11 BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 42/51 BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 44/51 Vkládání proměnných do regulárních výrazů: $var = hr; /${var}ad/ nalezne výskyt řetězce hrad Nové třídy proměnných: \d, \D = [0-9], [ˆ0-9] \s, \S = [mezerové znaky], [ˆ\s] Zpětná reference na výskyt uzávorkovaný v regulárním výrazu pomocí ( ): Zevnitř regulárního výrazu: \<pořadové číslo otevírací závorky> Vně regulárního výrazu: $<pořadové číslo otevírací závorky> Závorka, která si nemá pamatovat, má formu (? : regex) \w, \W = [znaky slov], [ˆ\w] Nová kotva \b nalezne hranice slov. BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 41/51 BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 43/51 Příklady: Regulární výraz popsané řetězce $x = int; /${x}\s+\w+; / int a;, int b;, int ab;,... /\b\d+\b/ číslo (jen z číslic) Lookahead - pozitivní i negativní (za výskytem se má něco vyskytovat, nebo nesmí vyskytovat). (?=regexp) (?!regexp) Lookbehind - pozitivní i negativní (před výskytem se má něco vyskytovat, nebo nesmí vyskytovat). Regulární výraz použitý v lookbehindu musí mít fixní délku výskytu. (?<=regexp) (?<!regexp)
12 BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 46/51 BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 48/51 Příklady: Regulární výraz popsané řetězce /([abc]+)d\1/ ada, bdb, cdc, aadaa, abdab,... proměnná $1: a, b, c, aa, ab,... /(? : so ra)k/ sok, rak (pro připomenutí?) /auto(?=mat)/ auto (po kterém musí následovat mat ) /(?<=pod)chod/ chod (který musí předcházet pod ) Příklad: budeme vyhledávat v textu abcabcabcd regexp výskyt abc d ano (abc) (abc) d ano, $1 = abcabcabc, $2 = (abc)?(abc) d ano, $1 =, $2 = abcabcabc (abc) +(abc) d ano, $1 = abcabcabc, $2 = (abc) +(abc)+d ne BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 45/51 BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 47/51 6-Shody arozdílyvůči teorii Greedy, lazy a possessive kvantifikace Všechny kvantifikátory jsou ze základu greedy Pokud chceme lazy kvantifikátor, napíšeme za kvantifikátor?, pro possessive + greedy lazy possessive? + + +? ?...+ Posixové a perlové regulární výrazy vycházejí z Kleeneovy teorie, ale jsou zde odlišnosti: Kleene RE popisuje regulární jazyky Žádný kontext Nejjednodušší možný popis (bez +,?, { }, ˆ,..) BRE/ERE/Perl RE popisuje i něco navíc (díky odkazům) Kotvy, lookaround Popis co nejpříjemnější pro užití (Perl)
13 7 - PodporaREvjazycích BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 50/51 9-Závěr-odkazy adotazy Zabudována jako součást syntaxe přímo do jazyka Perl, Ruby, Awk, Tcl, PHP,... Prostřednictvím knihoven a funkcí Java, C, C++,... Za vzor se berou Perl 5.10 regulární výrazy /html_node/regular-expressions.html BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 49/51 8- Regexp vyhledávací enginy BI-AAG (2011/2012) J. Holub: 8. Regulární výrazy - aplikace p. 51/51 DKA (převod RV na DKA) NKA (převod RV na NKA, Thompsonova metoda) Backtracking vyhledávání (nutné pro neregulární jazyky). Pozor, až exponenciální složitost ve srovnání s automaty!
Programování. Bc. Veronika Tomsová
Programování Bc. Veronika Tomsová Regulární výrazy Regulární výrazy slouží k porovnání a zpracovaní textu PHP podporuje syntaxi POSIX-Extended Regulární výrazy jsou velice vhodné například k ověření emailové
VíceRegulární výrazy. Honza Vrbata
Regulární výrazy Honza Vrbata honza@vrbata.cz CO TO JE? Regulární výraz (regular expression) je speciálně zkonstruovaný řetězec popisující celou množinu řetězců, konkrétně regulární jazyk. Prakticky se
Vícegrep a regulární výrazy
grep a regulární výrazy Josef Hajas hajasj1@fel.cvut.cz http://cs.felk.cvut.cz/~hajasj1/unix/ Vysázeno v LAT E Xu p.1/1 Co nás čeká grep: K čemu slouží? Jak používat? nejpoužívanější přepínače grepu regulární
VíceAutomaty a gramatiky(bi-aag) Motivace. 1. Základní pojmy. 2 domácí úkoly po 6 bodech 3 testy za bodů celkem 40 bodů
BI-AAG (2011/2012) J. Holub: 1. Základní pojmy p. 2/29 Hodnocení předmětu BI-AAG (2011/2012) J. Holub: 1. Základní pojmy p. 4/29 Automaty a gramatiky(bi-aag) 1. Základní pojmy Jan Holub Katedra teoretické
VíceRegulární výrazy. Filtry grep, sed a awk.
Přednáška 5 Regulární výrazy. Filtry grep, sed a awk. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2011 Příprava studijního programu Informatika je podporována projektem
VíceRegulární výrazy. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 14. března / 20
Regulární výrazy M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 14. března 2007 1/ 20 Regulární výrazy Jako například v aritmetice můžeme pomocí operátorů + a vytvářet výrazy jako (5+3)
VíceDUM č. 5 v sadě. 34. Inf-10 Praktická typografie s LO Writer/MS Word
projekt GML Brno Docens DUM č. 5 v sadě 34. Inf-10 Praktická typografie s LO Writer/MS Word Autor: Lukáš Rýdlo Datum: 30.01.2014 Ročník: 4AV, 4AF Anotace DUMu: Nahrazování textu a opravy pomocí regulárních
VíceÚvod do UNIXu. Okruh č. 4 - vi, regulární výrazy, grep a sed. Jakub Galgonek. verze r2. inspirováno materiály Davida Hokszy
Okruh č.4 Okruh č. 4 - vi, regulární výrazy, grep a sed verze 1.0.0-r2 inspirováno materiály Davida Hokszy Textové editory Okruh č.4 vi(m) prastarý textový editor (1976) dostupný v podstatě na každém UNIXovém
VíceRegulární výrazy. jemný úvod. Miloslav Brada
Regulární výrazy jemný úvod Miloslav Brada Regulární výrazy - RegExy K čemu vůbec jsou? Nástin možností Jednoduché vzory, pravidla regexpů Metaznaky Opakování Skupiny Jednoduchý příklad na závěr 2 Co RegExy
VíceCo jsou to regulární výrazy? Regulárními výrazy se používají ke zpracovávání textových řetězců. Vytvoříme si tzv. masku a zjišťujeme, zda jí textový řetězec vyhovuje (např. zda se skládá ze samých čísel
VíceRegulární výrazy. Definice Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto:
IB102 Automaty, gramatiky a složitost, 6. 10. 2014 1/29 Regulární výrazy Definice 2.58. Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto: 1 ε, a a pro každé a
VíceFormální jazyky. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 2. března / 32
Formální jazyky Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 2. března 2017 1/ 32 Abeceda a slovo Definice Abeceda je libovolná neprázdná konečná množina symbolů(znaků). Poznámka: Abeceda se často
VíceFormální jazyky a gramatiky Teorie programovacích jazyků
Formální jazyky a gramatiky Teorie programovacích jazyků doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Připomenutí základních pojmů ABECEDA jazyk je libovolná podmnožina
VíceB A B A B A B A A B A B B
AB ABA BA BABA B AB A B B A A B A B AB A A B B B B ABA B A B A A A A A B A A B A A B A A B A BA B A BA B D A BC A B C A B A B C C ABA B D D ABC D A A B A B C D C B B A A B A B A B A A AB B A AB A B A A
VíceJednoznačné a nejednoznačné gramatiky
BI-AAG (2011/2012) J. Holub: 11. Bezkontextové gramatiky p. 2/36 Jednoznačné a nejednoznačné gramatiky BI-AAG (2011/2012) J. Holub: 11. Bezkontextové gramatiky p. 4/36 Automaty a gramatiky(bi-aag) 11.
VícePřednáška 4. Regulární výrazy. Filtry grep, sed a awk. Úvod do Operačních Systémů Přednáška 4
1 Přednáška 4 Regulární výrazy. Filtry grep, sed a awk. 2 grep grep [přepínače] vzor [soubory] Implicitně vypíše na standardní výstup řádky, které obsahují zadaný vzor. Vzor může být definován základním
VíceRegulární výrazy. Vzory
Regulární výrazy Regulární výrazy jsou určeny pro práci s textovými řetězci, jsou součástí J2SDK až od verze 1.4, v předchozích verzích je potřeba použít některou z externích knihoven, např. knihovnu ORO
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í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í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í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í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ícemore Program se zastaví vždy po vypsání jedné stránky textu. Ukončení Ctrl+C less Umožňuje pohybovat se v souboru dopředu i dozadu.
GREP, AWK, SED a jiné filtry v LINUXu Vybrané filtry more Program se zastaví vždy po vypsání jedné stránky textu. Ukončení Ctrl+C less Umožňuje pohybovat se v souboru dopředu i dozadu. head [-n] tail [-n]
VíceKonečný automat. Jan Kybic.
Konečný automat Jan Kybic http://cmp.felk.cvut.cz/~kybic kybic@fel.cvut.cz 2016 2017 1 / 33 Konečný automat finite state machine Konečný automat = výpočetní model, primitivní počítač Řídící jednotka s
VíceParsování v Haskellu, knihovna Parsec
Parsování v Haskellu, knihovna Parsec IB016 Seminář z funkcionálního programování Vladimír Štill, Martin Ukrop Fakulta informatiky, Masarykova univerzita Jaro 2016 IB016: Cvičení 09 Jaro 2016 1 / 12 Regulární
Více63. ročník Matematické olympiády 2013/2014
63. ročník Matematické olympiády 2013/2014 Úlohy ústředního kola kategorie P 2. soutěžní den Na řešení úloh máte 4,5 hodiny čistého času. Při soutěži je zakázáno používat jakékoliv pomůcky kromě psacích
VíceTabulkový procesor. Základní rysy
Tabulkový procesor Tabulkový procesor je počítačový program zpracovávající data uložená v buňkách tabulky. Program umožňuje použití vzorců pro práci s daty a zobrazuje výsledné hodnoty podle vstupních
Více1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:
1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.
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íceHROMADNÉ ÚPRAVY NAJÍT A NAHRADIT
HROMADNÉ ÚPRAVY NAJÍT A NAHRADIT Funkce Najít a nahradit slouží k rychlému vyhledávání určitých slov a jejich nahrazování jinými slovy. Lze hledat i určité varianty slov a nahrazovat je buď hromadně (všechny
VícePumping lemma - podstata problému. Automaty a gramatiky(bi-aag) Pumping lemma - problem resolution. Pumping lemma - podstata problému
BI-AAG (2011/2012) J. Holub: 10. Vlastnosti regulárních jazyků p. 2/22 Pumping lemma - podstata problému BI-AAG (2011/2012) J. Holub: 10. Vlastnosti regulárních jazyků p. 4/22 Automaty a gramatiky(bi-aag)
VíceEVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI
EVROPSKÝ SOCIÁLNÍ FOND Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI Úvod do PHP PHP Personal Home Page Hypertext Preprocessor jazyk na tvorbu dokumentů přípona: *.php skript je součást HTML stránky!
VíceUNIVERZITA PARDUBICE ÚSTAV ELEKTROTECHNIKY A INFORMATIKY VYUŽITÍ REGULÁRNÍCH VÝRAZŮ PŘI OPRAVÁCH TEXTU, ÚPRAVÁCH A GENEROVÁNÍ SOUBORŮ BAKALÁŘSKÁ PRÁCE
UNIVERZITA PARDUBICE ÚSTAV ELEKTROTECHNIKY A INFORMATIKY VYUŽITÍ REGULÁRNÍCH VÝRAZŮ PŘI OPRAVÁCH TEXTU, ÚPRAVÁCH A GENEROVÁNÍ SOUBORŮ BAKALÁŘSKÁ PRÁCE 2007 Miloš Kukla UNIVERZITA PARDUBICE ÚSTAV ELEKTROTECHNIKY
VíceA7B38UOS Úvod do operačních systémů. 6. Cvičení. Příkazy sed a awk
A7B38UOS Úvod do operačních systémů 6. Cvičení Příkazy sed a awk sed sed [přepínače] 'příkaz' [soubory] sed [přepínače] -f skript [soubory] Stream editor - edituje neinteraktivně jeden nebo více souborů.
VíceFormální jazyky. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 21. března / 50
Formální jazyky Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 21. března 2013 1/ 50 Abeceda a slovo Definice Abeceda je libovolná neprázdná konečná množina symbolů(znaků). Poznámka: Abeceda se často
VíceZáklady algoritmizace. Pattern matching
Základy algoritmizace Pattern matching 1 Pattern matching Úloha nalézt v nějakém textu výskyty zadaných textových vzorků patří v počítačové praxi k nejfrekventovanějším. Algoritmy, které ji řeší se používají
VíceProgramování v jazyce JavaScript
Programování v jazyce JavaScript Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Syntaxe 1. část BI-JSC Evropský sociální fond
VíceAlgoritmizace a programování
Algoritmizace a programování Výrazy Operátory Výrazy Verze pro akademický rok 2012/2013 1 Operace, operátory Unární jeden operand, operátor se zapisuje ve většině případů před operand, v některých případech
VíceLexikální analýza. Rozhraní lexikálního analyzátoru. Miroslav Beneš Dušan Kolář. M. Beneš, D. Kolář: Lexikální analýza 1. Lexikální analýza 2
Lexikální analýza Miroslav Beneš Dušan Kolář Rozhraní lexikálního analyzátoru Lexikální analýza 2 M. Beneš, D. Kolář: Lexikální analýza 1 Úkoly Čtení zdrojového textu Sestavování symbolů Odstranění mezer
VíceLexikální analýza. Miroslav Beneš Dušan Kolář
Lexikální analýza Miroslav Beneš Dušan Kolář Rozhraní lexikálního analyzátoru Lexikální analýza 2 Úkoly Čtení zdrojového textu Sestavování symbolů Odstranění mezer a poznámek Normalizace symbolů (velká/malá
VíceZáklady algoritmizace a programování
Základy algoritmizace a programování Přednáška 1 Olga Majlingová Katedra matematiky, ČVUT v Praze 19. září 2011 Obsah Úvodní informace 1 Úvodní informace 2 3 4 Doporučená literatura web: http://marian.fsik.cvut.cz/zapg
VíceProlog PROgramming in LOGic část predikátové logiky prvního řádu rozvoj začíná po roce 1970 Robert Kowalski teoretické základy Alain Colmerauer, David
Úvod do Prologu Prolog PROgramming in LOGic část predikátové logiky prvního řádu rozvoj začíná po roce 1970 Robert Kowalski teoretické základy Alain Colmerauer, David Warren (Warren Abstract Machine) implementace
VíceProměnné a parametry. predn_08.odt :00:38 1
Proměnné a parametry predn_08.odt 16.04.2007 14:00:38 1 Proměnné a parametry Jméno proměnné - identifikátor [a-za-z_][a-za-z_0-9]* Hodnota proměnné textový řetězec celočíselná hodnota - ne v sh Přesun
Více1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:
1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.
VícePROGRAMOVÁNÍ V SHELLU
PROGRAMOVÁNÍ V SHELLU Prostředí, jazyk, zdrojový kód chceme-li posloupnost jistých příkazů používat opakovaně, případně z různých míst adresářové struktury, můžeme tuto posloupnost uložit souboru, který
VíceHardwarová realizace konečných automatů
BI-AAG - Automaty a gramatiky Katedra teoretické informatiky ČVUT FIT 11.1.21 Co potřebujeme Úvod Potřebujeme: zakódovat vstupní abecedu, zakódovat stavy automatu, pamatovat si současný stav, realizovat
VíceJazyk C++, některá rozšíření oproti C
Karel Müller, Josef Vogel (ČVUT FIT) Jazyk C++, některá rozšíření oproti C BI-PA2, 2011, Přednáška 1 1/22 Jazyk C++, některá rozšíření oproti C Ing. Josef Vogel, CSc Katedra softwarového inženýrství Katedra
VíceÚvod do programování 6. hodina
Úvod do programování 6. hodina RNDr. Jan Lánský, Ph.D. Katedra informatiky a matematiky Fakulta ekonomických studií Vysoká škola finanční a správní 2015 Umíme z minulé hodiny Algoritmy Třídění pole: Selection
VíceWSH 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ícePřednáška 7. Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu.
Přednáška 7 Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu. 1 Příkaz expr výraz Celočíselná aritmetika I Zašle na standardní výstup vyhodnocení výrazu
VíceFUNKCE 3. Autor: Mgr. Dana Kaprálová. Datum (období) tvorby: září, říjen 2013. Ročník: sedmý. Vzdělávací oblast: Informatika a výpočetní technika
FUNKCE 3 Autor: Mgr. Dana Kaprálová Datum (období) tvorby: září, říjen 2013 Ročník: sedmý Vzdělávací oblast: Informatika a výpočetní technika 1 Anotace: Žáci se seznámí se základní obsluhou tabulkového
VíceProgram grep. predn_05.doc
Program grep je filtr, který předává na výstup řádky obsahující resp. neobsahující zadaný vzor. Název grep je zkratka pro skupinu příkazů ex editoru: globally search for regular expression and print result
VíceFAKULTA INFORMAČNÍCH TECHNOLOGIÍ
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÝCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER SYSTEMS SROVNÁNÍ RYCHLOSTI
VíceZáklady XML struktura dokumentu (včetně testových otázek)
Základy XML struktura dokumentu (včetně testových otázek) Otakar Čerba Oddělení geomatiky Katedra matematiky Fakulta aplikovaných věd Západočeská univerzita v Plzni Přednáška z předmětu Počítačová kartografie
VíceSPJA, cvičení 1. ipython, python, skripty. základy syntaxe: základní datové typy, řetězce. podmínky: if-elif-else, vyhodnocení logických výrazů
SPJA, cvičení 1 ipython, python, skripty základy syntaxe: základní datové typy, řetězce podmínky: if-elif-else, vyhodnocení logických výrazů cykly: for, while kolekce: seznam, n-tice, slovník funkce, list
VícePráce s textem. Třída Character. Třída Character. Třída Character. reprezentuje objekty zapouzdřující hodnotu typu char (boxing / unboxing)
Třída Character Práce s textem doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz reprezentuje objekty zapouzdřující hodnotu
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íceLinuxDays 2017 Ondřej Guth GNU grep LD 17 1 / 14
Používáte GNU grep? A víte, jak funguje uvnitř? Ondřej Guth ondrej.guth@fit.cvut.cz LinuxDays 2017 Ondřej Guth GNU grep LD 17 1 / 14 1 Úvod 2 Přehled zpracování vstupu 3 Obyčejný řetězec jako regulární
VícePHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky.
PHP - úvod Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky. Klíčové pojmy: PHP, webový prohlížeč, HTTP, FTP Základní pojmy služba WWW = 1990 první prototyp serveru, od roku 1994
VícePoslední nenulová číslice faktoriálu
Poslední nenulová číslice faktoriálu Kateřina Bambušková BAM015, I206 Abstrakt V tomto článku je popsán a vyřešen problém s určením poslední nenulové číslice faktoriálu přirozeného čísla N. Celý princip
VíceRegulární výrazy v Mergadu
Regulární výrazy v Mergadu aneb Reguláry pro začátečníky i pokročilé Regulární výrazy mají v IT široké uplatnění. V aplikaci Mergado si s jejich pomocí ušetříte práci při vyhledávání skupin produktů a
VíceAlgoritmizace Dynamické programování. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010
Dynamické programování Jiří Vyskočil, Marko Genyg-Berezovskyj 2010 Rozděl a panuj (divide-and-conquer) Rozděl (Divide): Rozděl problém na několik podproblémů tak, aby tyto podproblémy odpovídaly původnímu
VíceRegulární výrazy a grep
A7B38UOS Úvod do operačních systémů 5. Cvičení Regulární výrazy a grep Grep grep [přepínače] vzor [soubory] Implicitně vypíše na standardní výstup řádky, které vyhoví zadanému vzoru. -i nerozlišuje malá
VíceÚloha 3 editor a skripty. připojte se vzdáleně na dray6.feld.cvut.cz heslo získáte na adrese https://service.felk.cvut.cz/heslo
Domácí příprava k předmětu YD38UOS Úloha 1 vzdálené připojení připojte se vzdáleně na dray6.feld.cvut.cz heslo získáte na adrese https://service.felk.cvut.cz/heslo pro připojení použijte protokol ssh (pokud
VíceStefan Ratschan. Fakulta informačních technologíı. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
Logika pro každodenní přežití Stefan Ratschan Katedra číslicového návrhu Fakulta informačních technologíı České vysoké učení technické v Praze Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
VíceZáklady algoritmizace a programování
Základy algoritmizace a programování Přednáška 1 Olga Majlingová Katedra matematiky, ČVUT v Praze 21. září 2009 Obsah Úvodní informace 1 Úvodní informace 2 3 4 Organizace předmětu Přednášky 1. 5. Základní
VíceLekce 2. Řetězce a práce s nimi. Vstup a výstup. C2184 Úvod do programování v Pythonu podzim 2016
. Vstup/výstup Lekce 2. Vstup/výstup. a práce s nimi. Vstup a výstup. C2184 Úvod do programování v Pythonu podzim 2016 Formátování Národní centrum pro výzkum biomolekul Masarykova univerzita 2.1 Char (znak)
VíceÚvod do programování. Lekce 1
Úvod do programování Lekce 1 Základní pojmy vytvoření spustitelného kódu editor - psaní zdrojových souborů preprocesor - zpracování zdrojových souborů (vypuštění komentářů atd.) kompilátor (compiler) -
VícePROGRAMOVACÍ JAZYKY A PŘEKLADAČE FORMALISMY PRO SYNTAXÍ ŘÍZENÝ PŘEKLAD: PŘEKLADOVÉ A ATRIBUTOVÉ GRAMATIKY.
PROGRAMOVACÍ JAZYKY A PŘEKLADAČE FORMALISMY PRO SYNTAXÍ ŘÍZENÝ PŘEKLAD: PŘEKLADOVÉ A ATRIBUTOVÉ GRAMATIKY. 2011 Jan Janoušek BI-PJP Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Formální
Více- 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íceC2110 Operační systém UNIX a základy programování
C2110 Operační systém UNIX a základy programování 6. lekce Petr Kulhánek, Jakub Štěpán kulhanek@chemi.muni.cz Národní centrum pro výzkum biomolekul, Přírodovědecká fakulta Masarykova univerzita, Kotlářská
VícePHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě
PHP PHP původně znamenalo Personal Home Page a vzniklo v roce 1996, od té doby prošlo velkými změnami a nyní tato zkratka znamená Hypertext Preprocessor. PHP je skriptovací programovací jazyk, určený především
VíceVyhledávání v textu. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava
Vyhledávání v textu doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 9. března 209 Jiří Dvorský (VŠB TUO) Vyhledávání v textu 402
VíceLOGICKÉ OBVODY 2 kombinační obvody, minimalizace
LOGICKÉ OBVODY 2 kombinační obvody, minimalizace logické obvody kombinační logické funkce a jejich reprezentace formy popisu tabulka, n-rozměrné krychle algebraický zápis mapy 9..28 Logické obvody - 2
VícePB071 Úvod do jazyka C
PB071 Úvod do jazyka C Překladové systémy Jiri Slaby Fakulta informatiky Masarykova univerzita 2. 5. 2016 Jiri Slaby (Fakulta informatiky, MU) PB071 Překlad 2. 5. 2016 1 / 23 Obsah přednášky 1 Úvod a motivace
VíceStručné shrnutí v bodech
ISDS Instrukce pro vývojáře aplikací třetích stran Nové SSL certifikáty s SHA-256 Aktualizovaná a doplněná verze ze dne 4.8.2015, která nahrazuje verzi 1.1 ze dne 28.7.2015 Předkládá O2 Czech Republic
VíceCvičení 1. Úvod do teoretické informatiky(2014/2015) cvičení 1 1
Úvod do teoretické informatiky(2014/2015) cvičení 1 1 Cvičení 1 Příklad 1: Pro každý z následujících formálních zápisů množin uveďte(svými slovy), jaké prvky daná množina obsahuje: a) {1,3,5,7,...} b)
VíceProgramování v Pythonu
ƒeské vysoké u ení technické v Praze FIT Programování v Pythonu Ji í Znamená ek P íprava studijního programu Informatika je podporována projektem nancovaným z Evropského sociálního fondu a rozpo tu hlavního
Vícedovolují 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
VíceKonstruktory překladačů
Konstruktory překladačů Miroslav Beneš Dušan Kolář Konstruktor Lex generátor lexikálních analyzátorů M. E. Lesk, 1975 - pro OS Unix flex - Vern Paxson, 1990 - GNU verze určeno pro generování výstupu v
VíceKdy se narodil... Vypracovali: Mrkývka Vojtěch, Mrázek Ondřej, Novotná Marie. Předmět: PLIN08 Projekty II. Semestr: Jaro 2015
Kdy se narodil... Vypracovali: Mrkývka Vojtěch, Mrázek Ondřej, Novotná Marie Předmět: PLIN08 Projekty II Semestr: Jaro 2015 Vedoucí projektu: Mgr. Marek Grác, Ph.D. Úkolem tohoto projektu bylo vytvořit
Více5. Dynamické programování
5. Dynamické programování BI-EP1 Efektivní programování 1 ZS 2011/2012 Ing. Martin Kačer, Ph.D. 2010-11 Martin Kačer Katedra teoretické informatiky Fakulta informačních technologií České vysoké učení technické
VíceJazyk C++ II. STL knihovna kontejnery část 2
Jazyk C++ II STL knihovna kontejnery část 2 AR 2013/2014 Jazyk C++ II Asociativní kontejnery Slovníky u kterých pořadí dat nemá smysl. Kontejner si sám určuje, kam který údaj uloží. Údaje mají tvar klíč/hodnota.
Více1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5
Obsah Obsah 1 Programovací jazyk Pascal 1 1.1 Struktura programu v Pascalu.................... 1 2 Proměnné 2 2.1 Vstup a výstup............................ 3 3 Operátory a některé matematické funkce 5
VíceČVUT FIT: BI-SKJ: Perl
ČVUT FIT: BI-SKJ: Perl J. Škvor, březen - duben 2011 Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního 1 města Prahy. Praha
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íceLineární algebra : Násobení matic a inverzní matice
Lineární algebra : Násobení matic a inverzní matice (8. přednáška) František Štampach, Karel Klouda frantisek.stampach@fit.cvut.cz, karel.klouda@fit.cvut.cz Katedra aplikované matematiky Fakulta informačních
VíceNaproti tomu gramatika je vlastně soupis pravidel, jak
1 Kapitola 1 Úvod V přednášce se zaměříme hlavně na konečný popis obecně nekonečných množin řetězců symbolů dané množiny A. Prvkům množiny A budeme říkat písmena, řetězcům (konečným posloupnostem) písmen
VíceIB111 Úvod do programování skrze Python Přednáška 13
IB111 Úvod do programování skrze Python Přednáška 13 Programovací jazyky Nikola Beneš 14. prosinec 2016 IB111 přednáška 13: programovací jazyky 14. prosinec 2016 1 / 21 Osnova dnešní přednášky Programovací
VíceFormátování textu pomocí regulárních výrazů
Gymnázium Brno, třída Kapitána Jaroše, příspěvková organizace Formátování textu pomocí regulárních výrazů Závěrečná práce Vedoucí práce: Mgr. Marek Blaha Anna Řechtáčková Brno 2016 Děkuji Marku Blahovi
Víceumenugr JEDNOTKA PRO VYTVÁŘENÍ UŽIVATELSKÝCH GRAFICKÝCH MENU Příručka uživatele a programátora
umenugr JEDNOTKA PRO VYTVÁŘENÍ UŽIVATELSKÝCH GRAFICKÝCH MENU Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail: sofcon@sofcon.cz www:
VíceReranking založený na metadatech
České vysoké učení technické v Praze Fakulta informačních technologií Katedra softwarového inženýrství Reranking založený na metadatech MI-VMW Projekt IV - 1 Pavel Homolka Ladislav Kubeš 6. 12. 2011 1
VíceDatové struktury 2: Rozptylovací tabulky
Datové struktury 2: Rozptylovací tabulky prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy
VíceTvorba výrazu: speciální znaky shellu se uvádějí do apostrofů jednotlivé části výrazu se oddělují mezerou
Příkaz expr Tvorba výrazu: speciální znaky shellu se uvádějí do apostrofů jednotlivé části výrazu se oddělují mezerou výraz1 výraz2 vrátí první výraz, pokud není nulový a není prázdným řetězcem, jinak
VíceDynamické programování
Dynamické programování prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy (BI-EFA)
VícePříklad buňka tabulky
Realizováno za finanční podpory ESF a státního rozpočtu ČR v rámci v projektu Zkvalitnění a rozšíření možností studia na TUL pro studenty se SVP reg. č. CZ.1.07/2.2.00/29.0011 Pojmenované šablony Pojmenované
VíceFunkce, podmíněný příkaz if-else, příkaz cyklu for
Funkce, podmíněný příkaz if-else, příkaz cyklu for Definice funkce Funkce je pojmenovaná část programu, kterou lze dále zavolat v jiné části programu. V Pythonu je definována klíčovým slovem def. Za tímto
VíceMaturitní 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
VíceObsah přednášky. 12. Dokumentace zdrojového kódu Tvorba elektronické dokumentace UML. Co je diagram tříd. Ing. Ondřej Guth
Evropský sociální fond. 12. Dokumentace zdrojového kódu Tvorba elektronické dokumentace Ing. Ondřej Guth Katedra teoretické informatiky Fakulta informačních technologií České vysoké učení technické v Praze
VíceRegulární výrazy. Motto:
Regulární výrazy Motto: Programátor musel jednou řešit zajímavý problém. Rozhodl se jej vyřešit použitím regulárních výrazů. Nyní musel řešit dva problémy. Rudolf Pecinovský rudolf@pecinovsky.cz Copyright
Více