Regulární výrazy. jemný úvod. Miloslav Brada

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

Download "Regulární výrazy. jemný úvod. Miloslav Brada"

Transkript

1 Regulární výrazy jemný úvod Miloslav Brada

2 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

3 Co RegExy umožňují odpovědět na otázku obsahuje daný text požadovaný vzor? vyhledávání textu shoda s maskou ( , telefonní číslo) provádět nahrazení nalezeného textu jiným textem zjistit, co vlastně bylo nalezeno někdy vlastně ani pořádně nevíme co hledáme obecně zjednodušit mnoho operací týkajících se hledání, ověřování a manipulace s textem, které by bylo jinak nutné provádět ručně/velice komplikovaně programovat 3

4 Setkání s RegExy pravděpodobě každý máme již zkušenost masky souborů (*.sh,???.iso, atd...) vyhledávání (*, % v SQL, atd...) v této podobě dosti omezené možnosti, regexy nám nabízejí mnohem víc!!! součástí mnoha nástrojů jazyky Perl, PHP, Java, Python, Javascript, BASH... GNU nástroje sed, awk, [ef]grep, vim... v mnoha dalších Eclipse, OpenOffice... 4

5 Příklady... 5

6 Možnosti specifikace vzorů můžeme si zvolit: přesně jaké znaky chceme či naopak nechceme mít na daných pozicích použít žolíky s omezujícími pravidly vyhledávání podle pozice na začátku, na konci na hranici slova, za bílým znakem, před libovolnou číslicí atd... limity na počet opakování, požadavek nutné přítomnosti, volitelné přítomnosti hledaní podle několika možných alternativ hledaní podle toho, co už bylo nalezeno 6

7 Začínáme... Testovací věta: $veta= Abeceda neni veda, a to ani pro medveda. Vyhodnocení pomocí $veta =~ /REGEXP/ $veta =~ /medved/ true $veta =~ /MeDved/ false $veta =~ /medvedi/ false v RegExech se rozlišují malá/velká písmena prohledávaný text musí odpovídat vzoru celý, nestačí jen část 7

8 Začínáme... prohledávání se děje zleva doprava první nález ukončuje hledání příklad $veta =~ /veda/ $veta =~ /a/ $veta =~ / a/ 8

9 Znakové alternativy znakové alternativy se specifikují pomocí [] rozsahy znaků pomocí intervalu, např. [a-z], [0-9] možnost kombinace [0-9a-fA-F] negace pomocí ^, platí pro celý obsah závorky [^0-9abcdef] žádná číslice, žádný ze znaků a, b, c, d, e, f příklad $veta =~ /[cv]eda/ $veta =~ /[^lcv]eda/ false 9

10 Žolík. reprezentuje libovolný znak neplést s? nebo * - to je něco jiného!!! příklad $veta =~ /n.n/ $veta =~ /... / 10

11 Určení pozice ^ znamená začátek řetězce neplést s [^a-z], tady ^ znamená negaci $ znamená konec řětězce \b znamená hranice slova příklad $veta =~ /^veda/ false $veta =~ /pro$/ false $veta =~ /\b[cv]eda\b/ true 11

12 Opakování u každého elementu výrazu můžeme specifikovat počet opakování * 0 -? {m,n} m - n {n,} n - {n} přesně n regulární výrazy jsou žravé vyhoví nejdelší možný podřetězec odpovídající výrazu 12

13 Opakování příklady příklad $veta =~ /Abec.*a/ $veta =~ /v?ed/ $veta =~ /v+ed/ $veta =~ /veda{2,}/ false 13

14 Opakování omezení žravosti připojením? *? 0 -, nejlépe 0?? 0-1, nejlépe 0 +? 1 -, nejlépe 1 {m,n}? m - n, nejlépe m {n,}? n -, nejlépe n snaha o nalezení co nejkratšího řetězce, ještě vyhovujícího výrazu 14

15 Opakování příklady příklad, $veta= aaaabbbccd ; $veta =~ /b*?/ true!!! aaaabbbccd $veta =~ /b+?/ aaaabbbccd $veta =~ /a{2,}/ aaaabbbccd $veta =~ /a{2,}?/ aaaabbbccd 15

16 \d, \D číslice, ^číslice - [0-9] \s, \S Metaznaky bílý znak, ^bílý znak - [ \t\r\n\f] \w, \W písmeno, číslíce v úvahu se berou I znaky národní abecedy, tj. není to to samé jako [a-za-z0-9] \ speciální znak, ruší význam znaků ()[]{}$^. *+?\ \ se zapisuje zdvojeně \\ 16

17 Metaznaky příklady příklad $veta =~ /./ $veta =~ /\./ $veta =~ /\sveda\b/ # \b není součástí nalezeného výrazu $veta =~ /veda./ $veta =~ /veda\./ 17

18 zápis pomocí () Skupiny definují alternativní podvýrazy dá se na ně zpětně odkazovat $veta =~ /(jo po)hanka/ odpovídá jak johanka tak I pohanka zpětné odkazy se zapisují \1, \2, \3... \1, \2... odpovídá první, druhé... skupině př. na nalezení pěti písmenného palindromu $text =~ /(.)(.).\2\1/ - najde např. kajak 18

19 Skupiny jako vedlejší efekt vznik proměnných $1, $2... pokud nechceme vznik zpětného odkazu, použijeme skupinu (?:REGEXP) příklady zjištění obsahu buňky v HTML $html =~ /<td>(.*?)<\/td>/; parsování telefonního čísla, (konečně něco aspoň trochu zajímavého) $cislo =~ /(?:\+ 00)\s?(\d{1,3})\s?((\d (?:\s))*)\b/ v $1 bude národní předvolba v $2 cislo 19

20 Nahrazení a příklad v perlu operací $text =~ s/regexp/nahrada/x; nahradí v textu výraz REGEXP textem v NAHRADA x mohou být další volby, např. ignore case, global zdokonalené parsování čísla $cislo =~ /(?:(?:\+ 00)\s?(\d{1,3})\s?)?(\d{1,3})\s?((\d (?:\s))*)\b/; $zeme=$1; $predvolba=$2; $ucastnik=$3; zbavení se mezer v $ucastnik $ucastnik =~ s/\s//g; příklady vstupů, které náš výraz spravně vyhnodnotí , , , , , , v tomto případě bude $1 nedefinované (správné chování!!!) 20

21 Shrnutí RegExpy jsou mocný nástroj základem je implementace v Perlu jinde je někdy obrácený význam speciálních znaků a musí se před ně psát \ ostatní nástroje často neumí vše, co Perl man perlretut další zdroje tutoriály na abclinuxu.cz, root.cz spousta dalších zdrojů (google napoví ;)) 21

22 \b[zz]ávěr(?:em)?\.\.\.\b Děkuji za pozornost... 22

Programování. Bc. Veronika Tomsová

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íce

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.

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. 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íce

Úvod do UNIXu. Okruh č. 4 - vi, regulární výrazy, grep a sed. Jakub Galgonek. verze r2. inspirováno materiály Davida Hokszy

Ú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íce

grep a regulární výrazy

grep 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íce

Algoritmizace a programování

Algoritmizace 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íce

Co 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í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

Přednáška 4. Regulární výrazy. Filtry grep, sed a awk. Úvod do Operačních Systémů Přednáška 4

Př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íce

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

1. 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

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

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 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íce

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2014 5, 5.1 a 5.2 8/14

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2014 5, 5.1 a 5.2 8/14 ZÁKLADY PROGRAMOVÁNÍ Mgr. Vladislav BEDNÁŘ 2014 5, 5.1 a 5.2 8/14 Co je vhodné vědět, než si vybereme programovací jazyk a začneme programovat roboty. 1 / 18 0:40 Algoritmus Algoritmem by se dal nazvat

Více

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

1. 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

Regulární výrazy. Vzory

Regulá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íce

Vyhledá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. 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íce

Regulární výrazy. Honza Vrbata

Regulá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íce

Konečný automat. Jan Kybic.

Koneč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íce

M - Výroková logika VARIACE

M - Výroková logika VARIACE M - Výroková logika Autor: Mgr. Jaromír Juřek Kopírování a další šíření povoleno pouze s uvedením odkazu na www.jarjurek.cz. VARIACE 1 Tento dokument byl kompletně vytvořen, sestaven a vytištěn v programu

Více

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Č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

Regulární výrazy. Filtry grep, sed a awk.

Regulá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íce

PROGRAMOVÁNÍ V SHELLU

PROGRAMOVÁ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íce

ŘÍDÍCÍ STRUKTURY - PODMÍNKY

ŘÍDÍCÍ STRUKTURY - PODMÍNKY ŘÍDÍCÍ STRUKTURY - PODMÍNKY Pokusíme se rozvětvit sktipt v Bashi ŘÍDÍCÍ STRUKTURY - PODMÍNKY V této lekci budeme probírat podmínkové, tj., které nám pomohou rozvětvit skript a provádět určité pouze při

Více

Textové, datumové a časové funkce

Textové, datumové a časové funkce Textové, datumové a časové funkce EU peníze středním školám Didaktický učební materiál Anotace Označení DUMU: VY_32_INOVACE_IT4.15 Předmět: IVT Tematická oblast: Microsoft Office 2007 Autor: Ing. Vladimír

Více

Standardní algoritmy vyhledávací.

Standardní algoritmy vyhledávací. Standardní algoritmy vyhledávací. Vyhledávací algoritmy v C++ nám umožňují vyhledávat prvky v datových kontejnerech podle různých kritérií. Také se podíváme na vyhledávání metodou půlením intervalu (binární

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

Inovace bakalářského studijního oboru Aplikovaná chemie http://aplchem.upol.cz

Inovace bakalářského studijního oboru Aplikovaná chemie http://aplchem.upol.cz Inovace bakalářského studijního oboru Aplikovaná chemie http://aplchem.upol.cz CZ.1.07/2.2.00/15.0247 Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. Tvorba

Více

Regulární výrazy a grep

Regulá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

Algoritmizace a programování

Algoritmizace 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íce

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: Číslo šablony: Název materiálu: Ročník: Identifikace materiálu: Jméno autora: Předmět: Tématický celek: Anotace: CZ.1.07/1.5.00/34.0410

Více

Regulá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 / 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íce

HROMADNÉ ÚPRAVY NAJÍT A NAHRADIT

HROMADNÉ Ú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í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

Ú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íce

KIV/ZIS cvičení 5. Tomáš Potužák

KIV/ZIS cvičení 5. Tomáš Potužák KIV/ZIS cvičení 5 Tomáš Potužák Úvod do SQL (1) SQL (Structured Query Language) je standardizovaný strukturovaný dotazovací jazyk pro práci s databází Veškeré operace v databázi se dají provádět pomocí

Více

LinuxDays 2017 Ondřej Guth GNU grep LD 17 1 / 14

LinuxDays 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íce

5 Přehled operátorů, příkazy, přetypování

5 Přehled operátorů, příkazy, přetypování 5 Přehled operátorů, příkazy, přetypování Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně budou uvedeny detaily týkající se operátorů. Doba nutná k nastudování

Více

Programovací jazyk Pascal

Programovací jazyk Pascal Programovací jazyk Pascal Syntaktická pravidla (syntaxe jazyka) přesná pravidla pro zápis příkazů Sémantická pravidla (sémantika jazyka) pravidla, která každému příkazu přiřadí přesný význam Všechny konstrukce

Více

Úvod do databázových systémů

Úvod do databázových systémů Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Úvod do databázových systémů Cvičení 3 Ing. Petr Lukáš petr.lukas@vsb.cz Ostrava, 2014 Opakování 4 fáze vytváření

Více

PHP - ú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. 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íce

Základy XML struktura dokumentu (včetně testových otázek)

Zá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íce

Paměť počítače. alg2 1

Paměť počítače. alg2 1 Paměť počítače Výpočetní proces je posloupnost akcí nad daty uloženými v paměti počítače Data jsou v paměti reprezentována posloupnostmi bitů (bit = 0 nebo 1) Připomeňme: paměť je tvořena řadou 8-mi bitových

Více

NPRG030 Programování I, 2010/11

NPRG030 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íce

Rozšíření ksh vůči sh při práci s proměnnými

Rozšíření ksh vůči sh při práci s proměnnými Rozšíření ksh vůči sh při práci s proměnnými (X36UNX, Jan Skalický, 2006) Pole homogenní lineární struktura implicitn ě s číselným rozsahem index ů 0...1023 (někde 4095) implicitn ě řetězcov ě orientovaná

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

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty Data v počítači Informační data (elementární datové typy) Logické hodnoty Znaky Čísla v pevné řádové čárce (celá čísla) v pohyblivé (plovoucí) řád. čárce (reálná čísla) Povelová data (instrukce programu)

Více

Obsah. O autorech 9 Earle Castledine 9 Myles Eftos 9 Max Wheeler 9 Odborný korektor 10. Předmluva 11 Komu je kniha určena 12 Co se v knize dočtete 12

Obsah. O autorech 9 Earle Castledine 9 Myles Eftos 9 Max Wheeler 9 Odborný korektor 10. Předmluva 11 Komu je kniha určena 12 Co se v knize dočtete 12 O autorech 9 Earle Castledine 9 Myles Eftos 9 Max Wheeler 9 Odborný korektor 10 Předmluva 11 Komu je kniha určena 12 Co se v knize dočtete 12 Poděkování 15 Earle Castledine 15 Myles Eftos 15 Max Wheeler

Více

NPRG030 Programování I, 2016/17 1 / :58:13

NPRG030 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íce

Abclinuxu.cz ITBiz AbcHost 64bit AbcPrace UnixShop Stickfish

Abclinuxu.cz ITBiz AbcHost 64bit AbcPrace UnixShop Stickfish Hlasuj Celkem 1236 hlasů AbcLinuxu:/ Administrace / Reklamy Správa reklam Na této stránce je moţné spravovat reklamní pozice. Kaţdá pozice má svůj název, popisek a jednu či více reklamních pozic, které

Více

3 Vývojová prostředí, základní prvky jazyka Java, konvence jazyka Java

3 Vývojová prostředí, základní prvky jazyka Java, konvence jazyka Java 3 Vývojová prostředí, základní prvky jazyka Java, konvence jazyka Java Studijní cíl V tomto bloku navážeme na konec předchozího bloku a seznámíme se s vývojovými prostředími, které se nejčastěji používají

Více

Formátování textu pomocí regulárních výrazů

Formá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íce

u odpovědí typu A, B, C, D, E: Obsah: jako 0) CLP Constraint Logic Programming

u odpovědí typu A, B, C, D, E: Obsah: jako 0) CLP Constraint Logic Programming Průběžná písemná práce Průběžná písemná práce Obsah: Průběžná písemná práce Aleš Horák E-mail: hales@fi.muni.cz http://nlp.fi.muni.cz/uui/ délka pro vypracování: 25 minut nejsou povoleny žádné materiály

Více

Inteligentní vyhledávač hodnocení knih

Inteligentní vyhledávač hodnocení knih MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY Inteligentní vyhledávač hodnocení knih Bakalářská práce Tomáš Kácel Brno, 2012 Prohlášení Prohlašuji, že tato práce je mým původním autorským dílem, které jsem

Více

Programování v jazyce JavaScript

Programová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 Operátory a příkazy BI-JSC Evropský sociální fond

Více

EVROPSKÝ 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 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íce

Automaty a gramatiky(bi-aag) Motivace. 1. Základní pojmy. 2 domácí úkoly po 6 bodech 3 testy za bodů celkem 40 bodů

Automaty 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íce

VISUAL BASIC. Práce se soubory

VISUAL BASIC. Práce se soubory VISUAL BASIC Práce se soubory Práce se soubory 1/2 2 Vstupní data pro programy bývají uloženy do souborů Vstupy pro výpočet, nastavení vzhledu aplikace Výsledky práce programu je potřeba uchovat uložit

Více

Metodický koncept k efektivní podpoře klíčových odborných kompetencí s využitím cizího jazyka ATCZ62 - CLIL jako výuková strategie na vysoké škole

Metodický koncept k efektivní podpoře klíčových odborných kompetencí s využitím cizího jazyka ATCZ62 - CLIL jako výuková strategie na vysoké škole Pattern matching Metodický koncept k efektivní podpoře klíčových odborných kompetencí s využitím cizího jazyka ATCZ62 - CI jako výuková strategie na vysoké škole Pattern matching porovnávání vzorů Hledání

Více

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

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

Více

Úvod do databázových systémů

Úvod do databázových systémů Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky Database Research Group Úvod do databázových systémů Cvičení 3 Ing. Petr Lukáš petr.lukas@vsb.cz

Více

Programování v jazyce JavaScript

Programová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íce

Konstruktory překladačů

Konstruktory 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íce

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA Metodický list č. 1 Způsob zakončení : Úvod Technologie webových aplikací Protokol HTTP Po zvládnutí tématického celku bude student mít základní přehled o problematice programování internetových (webových)

Více

A7B38UOS Ú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 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íce

Logika. 2. Výroková logika. RNDr. Luděk Cienciala, Ph. D.

Logika. 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íce

Sada 1 - Základy programování

Sada 1 - Základy programování S třední škola stavební Jihlava Sada 1 - Základy programování 04. Datové typy, operace, logické operátory Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284

Více

Program grep. predn_05.doc

Program 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íce

Funkcionální programování. Kristýna Kaslová

Funkcionální programování. Kristýna Kaslová Funkcionální programování Kristýna Kaslová Historie Alonzo Church (30. léta) Netypovaný lambda kalkul Základ prvních funkcionálních jazyků Jeho konstrukce i v mnoha současných programovacích jazycích (Python)

Více

2 Formální jazyky a gramatiky

2 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

ANOTACE vytvořených/inovovaných materiálů

ANOTACE vytvořených/inovovaných materiálů ANOTACE vytvořených/inovovaných materiálů Číslo projektu Číslo a název šablony klíčové aktivity Tematická oblast Formát Druh učebního materiálu Druh interaktivity CZ.1.07/1.5.00/34.0722 III/2 Inovace a

Více

13. Skriptovací jazyk PHP

13. Skriptovací jazyk PHP 13. Skriptovací jazyk PHP Co je to PHP? PHP řadíme do skupiny skriptovacích jazyků, které se provádějí na straně serveru. PHP je na serveru závislé, protože na něm běží jeho interpreter, které skripty

Více

Parsování v Haskellu, knihovna Parsec

Parsová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íce

Univerzita Karlova v Praze Pedagogická fakulta

Univerzita Karlova v Praze Pedagogická fakulta Univerzita Karlova v Praze Pedagogická fakulta SEMINÁRNÍ PRÁCE Z METOD ŘEŠENÍ 1 TEORIE ČÍSEL 000/001 Cifrik, M-ZT Příklad ze zadávacích listů 10 101 Dokažte, že číslo 101 +10 je dělitelné číslem 51 Důkaz:

Více

TNPW1 Cvičení 2 6.10.2015 aneta.bartuskova@uhk.cz

TNPW1 Cvičení 2 6.10.2015 aneta.bartuskova@uhk.cz 6.10.2015 aneta.bartuskova@uhk.cz TNPW1 Cvičení 1 Technologie pro tvorbu webu HTML, HTML5 značkovací jazyk struktura, obsah, odkazy - hypertext CSS, CSS3 kaskádové styly vzhled (rozvržení, formátování,

Více

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12. Vyhledávání doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 12. září 2016 Jiří Dvorský (VŠB TUO) Vyhledávání 201 / 344 Osnova přednášky

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

Da D to t v o é v ty t py IB111: Datové typy

Da D to t v o é v ty t py IB111: Datové typy Datové typy IB111: Datové typy Data a algoritmizace jaká data potřebuji pro vyřešení problému? jak budu data reprezentovat? jaké operaci s nimi potřebuji provádět? Navržení práce s daty je velice důležité

Více

Zadání soutěžních úloh

Zadání soutěžních úloh Zadání soutěžních úloh Kategorie žáci Soutěž v programování 24. ročník Krajské kolo 2009/2010 15. až 17. dubna 2010 Úlohy můžete řešit v libovolném pořadí a samozřejmě je nemusíte vyřešit všechny. Za každou

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

Úvod do programování 6. hodina

Ú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í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

Jak lze v korpusech hledat doklady pro výzkum morfologie?

Jak lze v korpusech hledat doklady pro výzkum morfologie? Seminář cjbb75 1. 4. 2015 Jak lze v korpusech hledat doklady pro výzkum morfologie? Vyhledávání podle morfologické značky problém spolehlivosti desambiguace Vyhledejte v korpusu SYN2010 všechny vokativy

Více

16. Goniometrické rovnice

16. Goniometrické rovnice @198 16. Goniometrické rovnice Definice: Goniometrická rovnice je taková rovnice, ve které proměnná (neznámá) vystupuje pouze v goniometrických funkcích. Řešit goniometrické rovnice znamená nalézt všechny

Více

Microsoft Office. Excel vyhledávací funkce

Microsoft Office. Excel vyhledávací funkce Microsoft Office Excel vyhledávací funkce Karel Dvořák 2011 Vyhledávání v tabulkách Vzhledem ke skutečnosti, že Excel je na mnoha pracovištích používán i jako nástroj pro správu jednoduchých databází,

Více

Identifikátory označují objekty v programu používané (proměnné, typy, podprogramy).

Identifikátory označují objekty v programu používané (proměnné, typy, podprogramy). JAZYK PASCAL ÚVOD materiály pro studenty Jiráskova gymnázia v Náchodě (verze 2005-10-28) RNDr Jan Preclík, PhD preclik@gymnachodcz Jazyk Pascal byl navržen profesorem curyšské univerzity Niklausem Wirthem

Více

Richtext editory. Filip Dvořák

Richtext editory. Filip Dvořák Richtext editory Filip Dvořák Průběh referátu Popis problému Přehled přístupů k řešení Od jednoduššího ke složitějšímu Zajímavé implementace FCKEditor Výhody, integrace, aktualizace, bezpečnost Zdroje

Více

Šablonovací systém htmltmpl vypracoval: Michal Vajbar, 2007. Šablonovací systém htmltmpl

Šablonovací systém htmltmpl vypracoval: Michal Vajbar, 2007. Šablonovací systém htmltmpl Šablonovací systém htmltmpl 1 Představení šablonovacích systémů Každý, kdo se zabývá tvorbou webových aplikací dříve nebo později zjistí, že je vhodné oddělovat obsah aplikace od jejího vzhledu. Pokud

Více

63. ročník Matematické olympiády 2013/2014

63. 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íce

Přednáška 3. Rekurze 1

Přednáška 3. Rekurze 1 Paradigmata programování 1 Přednáška 3. Rekurze 1 Michal Krupka KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI Obsah 1 Příklady 2 Rekurzivní procedury a rekurzivní výpočetní proces 3 Další příklady

Více

6. Příkazy a řídící struktury v Javě

6. Příkazy a řídící struktury v Javě 6. Příkazy a řídící struktury v Javě Příkazy v Javě Příkazy v Javě Řídicí příkazy (větvení, cykly) Přiřazovací příkaz = Řízení toku programu (větvení, cykly) Volání metody Návrat z metody - příkaz return

Více

Možnosti tisku v MarushkaDesignu

Možnosti tisku v MarushkaDesignu 0 Možnosti tisku v MarushkaDesignu OBSAH 1 CÍL PŘÍKLADU...2 2 PRÁCE S PŘÍKLADEM...2 3 UKÁZKA DIALOGOVÉHO OKNA...3 4 STRUČNÝ POPIS PŘÍKLADU V MARUSHKADESIGNU...5-1 - 1 Cíl příkladu V tomto příkladu si ukážeme

Více

Assembler - 5.část. poslední změna této stránky: Zpět

Assembler - 5.část. poslední změna této stránky: Zpět 1 z 5 19.2.2007 7:52 Assembler - 5.část poslední změna této stránky: 9.2.2007 1. Pseudoinstrukce a direktivy Zpět Kromě instrukcí můžete v Assembleru psát také další konstrukce, které se obšem nepřekládají

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

Základy algoritmizace. Pattern matching

Zá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íce

Formální systém výrokové logiky

Formá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íce

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

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 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íce

Složitost Filip Hlásek

Složitost Filip Hlásek Složitost Filip Hlásek Abstrakt. Příspěvek popisuje dva základní koncepty teoretické informatiky, Turingovy stroje a složitost. Kromě definic důležitých pojmů uvádí také několik souvisejících tvrzení,

Více

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.

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. 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íce

Problém, jehož různé instance je třeba často řešit Tyto instance lze vyjádřit větami v jednoduchém jazyce

Problém, jehož různé instance je třeba často řešit Tyto instance lze vyjádřit větami v jednoduchém jazyce Interpreter Interpreter Motivace Problém, jehož různé instance je třeba často řešit Tyto instance lze vyjádřit větami v jednoduchém jazyce Příklad: zda daný textový řetězec odpovídá nějakému vzoru (match)

Více

Funkce, podmíněný příkaz if-else, příkaz cyklu for

Funkce, 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íce

- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů.

- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů. Základní symboly - písmena A B C Y Z a b c y z - číslice 0 1 2 9 - speciální symboly + - * / =., < > = a další - klíčová slova and array begin case const a další Klíčová slova jsou chráněnými útvary,

Více

Předávání údajů do Informačního systému výzkumu, experimentálního vývoje a inovací ve formátu XML

Předávání údajů do Informačního systému výzkumu, experimentálního vývoje a inovací ve formátu XML Předávání údajů do Informačního systému výzkumu, experimentálního vývoje a inovací ve formátu XML Struktury dat pro rok 2010 Část A: Oblasti CEP, CEZ, RIV Verze 1.1 11.2.2010 1 / 55 Obsah OBSAH...2 DALŠÍ

Více