1.Charakterizujte křížový překladač 2.Objasněte pojem silikonový překladač 3.Co to jsou formátory textu? Uveďte příklad
|
|
- Vendula Kovářová
- před 9 lety
- Počet zobrazení:
Transkript
1 1.Charakterizujte křížový překladač Překlad pro jiný počítač, než na kterém je vytvářen. 2.Objasněte pojem silikonový překladač Pro návrh logických obvodů. Proměnné představují logické signály. Výsledkem je návrh log. obvodu. 3.Co to jsou formátory textu? Uveďte příklad Upravování podoby textu podle požadavků uživatele (TeX). Napři syntax highlighting, nebo přeformátování kódu odsazení apod. Takový překladač, který ze vstupního souboru definovaného určitým jazykem, vygeneruje výstup 4.Charakterizujte kaskádní překladač Máme překladač z B do C a chceme z A do C. Uděláme překladač z A do B. Jednodušší. Obtížné ladění. 5.Porovnejte výhody a nevýhody interpretačních a kompilačních překladačů Interpretry není nutná kompilace, lepší přenositelnost, pomalejší, nutnost opakovaného překladu u opakujících sekvencí Kompilátory okamžitý překlad do strojového jazyka, rychlý běh programu, složitější debugging 6.Jaký je rozdíl mezi fází a průchodem překladače Fáze logicky dekomponovaná část (může obsahovat víc růchodů) Průchod čtení vstupního řetězce-> zpracování-> zápis výstupního řetězce (může obsahovat více fází) 7.Charakterizujte vnitřní jazyky jednotlivých fází překladače 8.Jaké jsou důvody pro použití víceprůchodového překladače Překlad probíhá ve více fázích dříve kvůli paměti jen jedna část překladače je v paměti. Snadněji jde rozdělit práci mezi více programátorů Algoritmy pro optimalizaci jsou často složité mají proto vlastní průchod, často i více průchodů. Zajímají nás meziprodukty mezipřeklady: Průchod -> 1. meziprodukt n. průchod Finální produkt lze optimalizovat překládaný program kvůli dopředným skokům 9.Zdůvodněte, proč se nepoužívají čistě interpretační překladače Program prováděný čistě interpretačním překladačem je prováděn mnohem pomaleji něž odpovídající cílový program vytvořený kompilátorem. Nevhodné pro programy, kde výpočet je časově náročný. Proto JAVA tuto nevýhodu odstraňuje pomocí bytecode. 10.Co to jsou generátory překladačů, uveďte příklad Programy, které na základě symbolického popisu (např. pomocí gramatiky) vytvoří zdrojový kód překladače. Např. JavaCC, bison, yacc 11.Nakreslete schéma překladače kompilačního typu Lexikální analyzátor posloupnost symbolů programu Syntaktický analyzátor derivační strom Zpracování sémantiky program ve vnitřní formě Optimalizace: cyklů, redukce počtu registrů Generátor cílového programu cílový program 12.Jaká vlastnost gramatiky podmiňuje nekonečnost generovaného jazyka? Je to rekurzivnost gramatiky Př : A -> aa 13.Popište gramatilou reálná čísla s desetinnou částí C cc 1-1 -
2 C 1 cc 1.C 2 e C 2 cc 2 e 14.Jaký je nejvyšší možný počet stavů deterministického KA, má-li ekvivalentní nederm. KA 5 stavů Počet stavů = 2 N = Popište tvar identifikátoru levou lineární gramatikou I -> p Ip Ic 16.Zapište pravou lineární gramatiku čísla real v semilogaritmickém tvaru S +C -C C C cc c.d c cee D cd cee c E +E 1 -E 1 E 1 E 1 c ce 1 Pozn. : e NENÍ prázdný řetězec!! 17.Zapište s co nejmenším počtem pravidel gramatiku popisující binární čísla s lichým počtem jedniček. Lichý počet jedniček: Sudý počet jedniček: S 1 0S 1 1S 2 S 2 0S 2 1S 1 e S 1 0S 1 1S 2 e S 2 1S 1 0S 2 18.Uveďte obecný tvar překladových pravidel používaných v LEX Regulární_výraz1 {akce} Regulární_výraz2 {akce} 19.Jaký řetězec rozpoznává LEX, je-li překladové pravidlo dáno výrazem \+?[0-9][0-9]*$ Kladné číslo na konci řádky 20.Jak řeší lexik. analyzátory problém nalezení symbolu v případě, kdy je jeden symbol prefixem jiného? Testuje další znaky na výskyt v jiném delším symbolu. Hledá nejdelší možný. 21.Jaký řetězec rozpoznává LEX, je-li překladové pravidlo dáno výrazem (např. \*[1-9]* )? Začíná hvězdičkou a může následovat číslo bez 0 22.Popište princip způsobu zotavení ze syntaktické chyby v překladači PL/0 Panické; vynechání zdrojového textu až do místa, kde se nejsnadněji vzpamatuje (v místě s významným symbolem). Každá procedura má parametr-množina následujících symbolů. Na konci procedury je proveden test, který prověří, že příští symbol patří do množiny následovníků. Pro zmenšení přeskakovaných částí se mezi následovníky přidávají stop symboly. 23.Jaké vlastnosti musí splňovat jazyk analyzovatelný rekurzivním sestupem Musí splňovat vlastnosti LL gramatik, nesmí obsahovat levou rekurzi, na základě prvních několika symbolů se musí rozhodnout, jakou použije větev (pravidlo). 24.Vysvětlete funkci procedury Test(s1,s2: symset; n: integer); v překladači PL/0 Pokud načtený symbol není v povolené množině následujících symbolů s1, načítají se další symboly, dokud se nenarazí na povolený následující symbol s1, nebo tzv. stop symbol z množiny s2; přitom zahlásí chybu n. 25.Zapište gramatiku aritmetického výrazu s operátory +, *, a závorkami (, ). Zapište levou derivaci věty i + i E -> E+T T T -> T*F F F -> (E) i Levá derivace: E -> E+T -> T+T -> F+T -> i+t -> i +F -> i+i 26.Popište princip metody rekurzivního sestupu - 2 -
3 Každému neterminálnímu symbolu A odpovídá procedura A. Tělo procedury je dáno pravými stranami pravidel pro A: A-> X11 X12 X1n X21 X22... X2m... Xp1 Xp2... Xpq pravé strany musí být rozlišitelné na základě symbolů vstupního řetězce aktuálních v okamžiku uplatnění příslušné pravé strany. Je-li rozpoznána pravá strana Xi1 Xi2... Xik, pak prováděj pro j = 1.. k : 1. Je-li symbol Xij neterminální, vyvolá A proceduru Xij 2. Je-li " Xij terminální, ověří A přítomnost Xij ve vstupním řetězci a zajistí přečtení dalšího symbolu ze vstupu Rozpoznané pravidlo analyzátor oznámí (např. výpisem čísla pravidla). Chybnou strukturu vstupního řetězce oznámí chybovým hlášením. 27.Charakterizujte syntetizované atributy Atributy získané při procházení stromu od listů ke kořenu 28.Popište způsob vyhodnocování dědičných atributů Dědičné atributy se určují v závislosti na kontextu, ve kterém se daný překladový podstrom nachází, tedy dědičné atributy určujeme pro symboly na pravé straně pravidla v závislosti na atributech předcházejících symbolů v pravidle nebo na dědičných atributech symbolu na levé straně pravidla. 29.Popište zásady konstrukce postfixového výrazu z infixového Vytvoříme derivační strom výrazu a poté jej vypíšeme metodou postorder. 30.Zapište posloupnost postfixových instrukcí pro příkaz a 10 = - (x 20 + y 30 )/(x 20 - y 30 ) 31.Zapište výraz -2*(x + y) ^ 3 pro případ 1) nejvyšší, 2) nejnižší precedence operátoru unárního minus a) v prefixové, b) v postfixové notaci 1a) *, Un-, 2, ^, +, x, y, 3 1b) 2, Un-, x, y, +, 3, ^, * 2a) Un-, *, 2, 1, +, x, y, 3 2b) 2, x, y, +, 3, ^, *, Un- 32.Přeložte do posloupnosti postfix. instrukcí if (A10 < B 20) then C 30 = (A 10 + B 20 ) * ( A10 - B20 ); 33.Přeložte do postfixových instrukcí příkaz while x<y do x = (x+y) / (x-y); je-li x na adrese 100 a y na adrese Popište význam částí dynamické adresy (adresové dvojice) Adresová dvojice se skládá z Báze, která určuje hloubku zanoření aktuálního bloku ve vykonávaném programu) + offset (posun od začátku bloku/adres v daném bloku) - 3 -
4 35.Formulujte podmínku, kterou musí splňovat program, aby statický řetězec výpočtového zásobníku stále splýval s dynamickým řetězcem Podprogramy mohou volat pouze podprogramy, které jsou jim podřazené. 36.Jaké informace o proměnných jsou uloženy v tabulce symbolů překladače jazyka pascalského typu druh (návěští, konstanta, typ, proměnná, procedura, funkce) hladina popisu (udává hladinu bloku, ve kterém byla popsána) adresa použití (Ano/Ne) typ údaj o standardním jednoduchém typu - údaj o typu definovaném uživatelem - údaj o strukturovaném typu formální parametr druhy formálních parametrů způsob volání a hodnota 37.Jaká je časová složitost práce s rozptýleně organizovanou tabulkou symbolů v závislosti na počtu symbolů v programu? O(N 2 /k) 38.Jaká je závislost časové režie vyhledávání v netříděně uspořádané tabulce symbolů na počtu jmen v tabulce O(m*n) n počet symbolů, m počet výskytů 39.Popište způsob vytváření a práce s frekvenčně uspořádanou tabulkou symbolů Nejčastěji používaný symbol je nejvýš. 40.K čemu slouží mapovací funkce pole a z jakých se skládá částí Určuje umístění prvku vzhledem k počátku pole. K ukládání polí, adresace prvku. Adresa začátku pole + hodnota mapovací fce (posun prvku vzhledem k začátku pole). Mapovací fce obsahuje konstantní část -> lze připočítat k adrese začátku pole a tím urychlit přístup do pole. 41.Jakými vlastnostmi jazyka je podmíněno statické přidělování paměti Nesmí obsahovat rekurzi, proměnné musí být globální a pouze statické. Statické přidělování paměti pomocí zásobníku 42.Popište odlišnost obsahu aktivačního záznamu v případě jazyka s nemožností / možností vnořování podprogramů Jazyk bez možnosti vnořování podprogramů nepotřebuje mít v aktivačním záznamu položku pro statický ukazatel. 43.Uveďte, jaké údaje ukládá překladač v aktivačním záznamu lokální proměnné parametry návratovou hodnotu funkční hodnota, je-li podprogram funkcí Pomocné proměnné pro mezivýsledky Další informace potřebné k uspořádání aktivačních záznamů 44.Vysvětlete, jakým mechanismem překladač zajišťuje respektování lokality identifikátorů v blokově strukturovaném jazyce Při vytváření bloku uloží případné symboly (proměnné) do tabulky a při ukončování bloku je vyjme. 45.Uveďte datové struktury, které jsou použitelné k přidělování paměti pro - 4 -
5 a) rekurzivně volané procedury a funkce zásobník b) dynamické proměnné hromada c) dynamické typy hromada d) paralelně proveditelné programové jednotky zásobník 46.Popište způsob a důvod použití displeje. Nahrazuje statický řetězec. Výhodou je rychlý přístup k proměnným definovaným v nižších hladinách. Problém je-li v nějaké hladině volána procedura z nižší hladiny; musí se odkaz v displeji změnit na tuto proceduru -> v aktivačním záznamu je třeba mít místo pro uchování původní hodnoty displeje. 47.Jaká omezení budou důsledkem přístupu do výpočtového zásobníku pomocí displeje, který je realizován jako array[1..3] of adresa_v_zásobníku Viz 46, Ukazuje pouze na 3 aktivační záznamy. 48.Jaké informace jsou předávány při volání podprogramu, je-li formálním parametrem procedura a) v případě statického přidělování paměti, offset (adresa uložené procedury) b) v případě dynamického přidělování paměti hladina, offset (ukazatel na adresu uložené procedury) 49.Uveďte příklad víceznačné gramatiky. Víceznačnost dokažte. E -> E+E E*E i - například pro i*i+i lze nalézt dva derivační stormy 50.Kdy označujeme větu jazyka jako víceznačnou? Pokud lze pro stejný vstupní řetězec vytvořit víc jak jeden derivační strom. 51.Může pro víceznačnou gramatiku existovat ekvivalentní gramatika jednoznačná? Ano může, ale nemusí. Odstranit víceznačnost lze zavedením nových neterminálních symbolů. Jednoznačnost gramatik je algoritmicky nerozhodnutelná (důvodů může být nekonečně mnoho). Existují gramatiky, jejichž nejednoznačnost nelze odstranit (inherentně nejednoznačné). 52.Operátor umocnění je ve Fortranu pravorasociativní. Zapište G pro aritmetický výraz respektující tuto vlastnost U U ^ c, kde c je číslice a ^ je operátor umocnění,(umocnění umocnění^c) 53.Popište formálně zásobníkový automat a význam jeho částí Zásobníkový automat je sedmice R = (K, T, G, δ, q 0, Z 0, F), kde K konečná množina vnitřních stavů T konečná vstupní abeceda G konečná abeceda zásobníku δ přechodová funkce q 0 počáteční stav Z 0 počáteční symbol zásobníku F množina koncových stavů (podmnožina K) 54.Popište přechodovou funkci zásobníkového automatu akceptujícího s prázdným zásobníkem, který je ekvivalentní gramatice G [S]: S -> ( S ) S ( ) e 55.Jaký jazyk popisuje gramatika G [S]: S -> ( S ) S ( ) e Vnořené i nevnořené uzavřené kulaté závorky (počet otvíracích a zavíracích závorek bude stejný) např. ((()(()(()))()))() a prázdný řetězec
6 56.Jaký jazyk popisuje gramatika G [S]: S-> a S a b S b e Sudý počet znaků a a b (pravidelně, či nepravidelně se střídající), první polovina řetězce je stejná jako zrcadlově obrácená druhá polovina řetězce (Palindrom čte se stejně zepředu i zezadu), nebo prázdný řetězec. 57.Navrhněte gramatiku jazyka, jehož věty mají tvar w w reverzní, kde w {0,1} * S 0S1 1S0 e 58.Proveďte úpravu na zadané gramatice 59.Charakterizujte vztah mezi jazyky s LL(0) gramatikou a regulárními jazyky Vytvářejí derivační strom shora dolů. LL(0) jsou podmnožinou regulárních jazyků. 60.Uveďte formální definici LL(1) gramatiky Bezkontextová gramatika se nazývá jednoduchá LL (1) gramatika, jestliže platí: - pravá strana každého pravidla začíná terminálním symbolem - pokud mají 2 pravidla stejnou levou stranu, pak pravé strany začínají různými terminálními symboly 61.Zdůvodněte, proč je každá LL(1) gramatika silná Při analýze není třeba používat informace historie. Pro danou gramatiku G se vystačí při rozhodování o výběru pravidla pro expanzi s informací o dopředu prohlíženém řetězci délky Uveďte nutnou a postačující podmínku pro to, aby gramatika byla silná LL(k) Gramatika LL(k) je silná, jestliže pro všechna A z N platí: Jsou-li A -> α, A -> β různá pravidla v P, pak: FIRST k (αfollow k (A) AND FIRST k (βfollow k (A))) = 0 63.K čemu slouží úprava gramatiky zvaná "pohlcení terminálu"? Uveďte příklad. K odstraněni first first / first folow kolize 64.Uveďte příklady algoritmicky nerozhodnutelných problémů z teorie formálních jazyků Nejednoznačnost bezkontextových gramatik. Nelze rozhodnout, zda dojde k zacyklení programu na základě zdrojového kódu. Nelze určit, pro které k je gramatika LL(k) 65.Existuje pro libovolnou gramatiku typu 2 algoritmus pro a) převod na ekvivalentní nelevorekurzivní gramatiku? ANO b) LL (k) NE c) LR (k) ANO d) výpočet množin LR (0) položek? ANO 66.Zdůvodněte proč LR (k) gramatiky popisují obsáhlejší třídu jazyků než LL(k) Jsou obecnější. Vidí ve zkoumaném řetězci dál. 67.Porovnejte mohutnosti množin LR (0), LALR(k), LR (k) položek 68.Jaké podmínky musí splňovat množiny LR (0) položek, aby gramatika byla SLR(1)? X a. - provedu, pokud následující symbol je prvkem follow(x) X a. B - provedu, pokud následující symbol patří do first(b) - 6 -
7 Pokud je tam kolize v jedné množině, tečka na konci a někde jinde 69.Popište tvar LR (0) položky a význam jejích jednotlivých částí 70.Jakou metodu syntaktické analýzy používá YACC Zdola nahoru. 71.Jakým způsobem řeší YACC konflikty redukce-redukce Výběrem pravidla dle pořadí jejich uvedení
8) Jaké jsou důvody pro použití víceprůchodového překladače Dříve hlavně kvůli úspoře paměti, dnes spíše z důvodu optimalizace
1) Charakterizujte křížový překladač Překlad programu probíhá na jiném procesoru, než exekuce. Hlavním důvodem je náročnost překladače na cílovém stroji by ho nemuselo být možné rozběhnout. 2. Objasněte
Sudý počet jedniček: S 1 0S 1 1S 2 e S 2 1S 1 0S 2
Otázky ke zkoušce 1. Charakterizujte pojem křížový překladač Provádí překlad na počítači pro jiný počítač (např. pračky, myčky, automobily). Generuje kód pro jiný počítač, než na kterém probíhá překlad.
1. Charakterizujte pojem křížový překladač Překlad na jiném procesoru než exekuce (viz zabudované systémy (např. pračky, myčky, automobily)).
Otázky ke zkoušce KIV/FJP 1. Charakterizujte pojem křížový překladač Překlad na jiném procesoru než exekuce (viz zabudované systémy (např. pračky, myčky, automobily)). 2. Objasněte pojem silikonový překladač
PROGRAMOVACÍ 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
Virtuá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:
Základní způsoby: -Statické (přidělění paměti v čase překladu) -Dynamické (přiděleno v run time) v zásobníku na haldě
Metody přidělování paměti Základní způsoby: -Statické (přidělění paměti v čase překladu) -Dynamické (přiděleno v run time) v zásobníku na haldě Důležitá hlediska jazykových konstrukcí: Dynamické typy Dynamické
Základní způsoby: -Statické (přidělění paměti v čase překladu) -Dynamické (přiděleno v run time) v zásobníku na haldě
Metody přidělování paměti Základní způsoby: -Statické (přidělění paměti v čase překladu) -Dynamické (přiděleno v run time) v zásobníku na haldě Důležitá hlediska jazykových konstrukcí: Dynamické typy Dynamické
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
Implementace 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
Č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
Reprezentace aritmetického výrazu - binární strom reprezentující aritmetický výraz
Reprezentace aritmetického výrazu - binární strom reprezentující aritmetický výraz (2 + 5) * (13-4) * + - 2 5 13 4 - listy stromu obsahují operandy (čísla) - vnitřní uzly obsahují operátory (znaménka)
Lexikální analýza Teorie programovacích jazyků
Lexikální analýza Teorie programovacích jazyků doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Osnova dnešní přednášky 1 Úvod do teorie překladačů kompilátor a interpret
Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky
Vyučovací hodina 1vyučovací hodina: Opakování z minulé hodiny Nová látka Procvičení nové látky Shrnutí 5 min 20 min 15 min 5 min 2vyučovací hodiny: Opakování z minulé hodiny Nová látka Procvičení nové
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ýpočetní modely pro rozpoznávání bezkontextových jazyků zásobníkové automaty LL(k) a LR(k) analyzátory
Plán přednášky Výpočetní modely pro rozpoznávání bezkontextových jazyků zásobníkové automaty LL(k) a LR(k) analyzátory Obecný algoritmus pro parsování bezkontextových jazyků dynamické programování 1 Zásobníkový
Automaty 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é
Př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
/01: Teoretická informatika(ti) přednáška 5
460-4005/01: Teoretická informatika(ti) přednáška 5 prof. RNDr Petr Jančar, CSc. katedra informatiky FEI VŠB-TUO www.cs.vsb.cz/jancar LS 2010/2011 Petr Jančar (FEI VŠB-TU) Teoretická informatika(ti) LS
Poslední 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
1. Definujte překladač. Jaký je rozdíl mezi interpretačním a kompilačním překladačem? Co je to konverzační překladač?
1. Definujte překladač. Jaký je rozdíl mezi interpretačním a kompilačním překladačem? Co je to konverzační překladač? 2. Charakterizujte lexikální analýzu(vstup, výstup, lexikální chyby). 3. Definujte
Syntaktická 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
Struktura programu v době běhu
Struktura programu v době běhu Miroslav Beneš Dušan Kolář Struktura programu v době běhu Vztah mezi zdrojovým programem a činností přeloženého programu reprezentace dat správa paměti aktivace podprogramů
Programy na PODMÍNĚNÝ příkaz IF a CASE
Vstupy a výstupy budou vždy upraveny tak, aby bylo zřejmé, co zadáváme a co se zobrazuje. Není-li určeno, zadáváme přirozená čísla. Je-li to možné, používej generátor náhodných čísel vysvětli, co a jak
Maturitní otázky z předmětu PROGRAMOVÁNÍ
Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti
Sé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á
/1: Teoretická informatika(ti) přednáška 4
456-330/1: Teoretická informatika(ti) přednáška 4 prof. RNDr Petr Jančar, CSc. katedra informatiky FI VŠB-TUO www.cs.vsb.cz/jancar LS 2009/2010 Petr Jančar (FI VŠB-TU) Teoretická informatika(ti) LS 2009/2010
type Obdelnik = array [1..3, 1..4] of integer; var M: Obdelnik;
Vícerozměrné pole type Obdelnik = array [1..3, 1..4] of integer; var M: Obdelnik; M[2,3] := 3145; - počet indexů není omezen (v praxi obvykle nejvýše tři) - více indexů pomalejší přístup k prvku (počítá
Turingovy stroje. Teoretická informatika Tomáš Foltýnek
Turingovy stroje Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz Teoretická informatika strana 2 Opakování z minulé přednášky Jaké znáte algebraické struktury s jednou operací? Co je to okruh,
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ě
Vlastnosti Derivační strom Metody Metoda shora dolů Metoda zdola nahoru Pomocné množiny. Syntaktická analýza. Metody a nástroje syntaktické analýzy
Metody a nástroje syntaktické analýzy Šárka Vavrečková Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz Poslední aktualizace: 14. října 2011 Vlastnosti syntaktické analýzy Úkoly syntaktické
Ú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
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
ALGORITMIZACE A PROGRAMOVÁNÍ
Metodický list č. 1 Algoritmus a jeho implementace počítačovým programem Základním cílem tohoto tematického celku je vysvětlení pojmů algoritmus a programová implementace algoritmu. Dále je cílem seznámení
2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.
Informatika 10. 9. 2013 Jméno a příjmení Rodné číslo 1) Napište algoritmus pro rychlé třídění (quicksort). 2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus
Automaty a gramatiky
Automaty a gramatiky Roman Barták, KTIML bartak@ktiml.mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak Co bylo minule Úvod do formálních gramatik produkční systémy generativní gramatika G=(V N,V T,,P) G =
Západočeská univerzita FAKULTA APLIKOVANÝCH VĚD
Západočeská univerzita FAKULTA APLIKOVANÝCH VĚD Obsah: 1 Struktura a princip činnosti překladače... 3 2 Regulární gramatika, konečný automat a jejich ekvivalence... 5 3 Lexikální analýza... 8 4 Bezkontextová
Algoritmizace 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
PROGRAMOVACÍ 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
TÉMATICKÝ OKRUH TZD, DIS a TIS
TÉMATICKÝ OKRUH TZD, DIS a TIS Číslo otázky : 27. Otázka : Principy moderních překladačů, virtuální stroj. Obsah : 1.Překladač a jeho struktura 2.Druhy překladačů 3.Hlavní části překladače 3.1 Lexikální
Zpracování deklarací a přidělování paměti
Zpracování deklarací a přidělování paměti Účel deklarací -pojmenování objektů -umístění objektů v paměti Tabulka symbolů -uchovává informace o objektech -umožňuje kontextové kontroly -umožňuje operace
Formá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
Rekurzivní algoritmy
Rekurzivní algoritmy 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) ZS
Programovací jazyk. - norma PASCAL (1974) - implementace Turbo Pascal, Borland Pascal FreePascal Object Pascal (Delphi)
Programovací jazyk - norma PASCAL (1974) - implementace Turbo Pascal, Borland Pascal FreePascal Object Pascal (Delphi) Odlišnosti implementace od normy - odchylky např.: nepovinná hlavička programu odlišná
Algoritmy I. Cvičení č. 2, 3 ALGI 2018/19
Algoritmy I Cvičení č. 2, 3 1 ALG I, informace Cvičící RNDr. Eliška Ochodková, Ph.D., kancelář EA439 eliska.ochodkova@vsb.cz www.cs.vsb.cz/ochodkova Přednášející doc. Mgr. Jiří Dvorský, Ph.D., kancelář
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
NPRG030 Programování I, 2015/16 1 / :25:32
NPRG030 Programování I, 2015/16 1 / 21 22. 10. 2015 13:25:32 Podprogramy Příklad: Vytiskněte tabulku malé násobilky ve tvaru XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X X 1 2 3 4 5 6 7 8 9 10 X
Uplatnění metod na zvolený jazyk
Uplatnění metod na zvolený jazyk Při výběru mezi metodami výše popsanými se řídíme především podle typu symbolů, které jazyk obsahuje. Výhodná bývá často kombinace těchto metod nejdřív použijeme metodu
PODPROGRAMY PROCEDURY A FUNKCE
PODPROGRAMY PROCEDURY A FUNKCE Programy bez podprogramů Příklady: a) Napište program, který na obrazovku nakreslí čáru složenou ze znaků pomlčka. program Cara; b) Napište program, který na obrazovku nakreslí
Kapitola 6. LL gramatiky. 6.1 Definice LL(k) gramatik. Definice 6.3. Necht G = (N, Σ, P, S) je CFG, k 1 je celé číslo.
Kapitola 6 LL gramatiky 6.1 Definice LL(k) gramatik Definice 6.1. Necht G = (N, Σ, P, S) je CFG, k 1 je celé číslo. Definujme funkci FIRST G k : (N Σ) + P({w Σ w k}) předpisem FIRST G k (α) = {w Σ (α w
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
4.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
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
Rekurze. Pavel Töpfer, 2017 Programování 1-8 1
Rekurze V programování ve dvou hladinách: - rekurzivní algoritmus (řešení úlohy je definováno pomocí řešení podúloh stejného charakteru) - rekurzivní volání procedury nebo funkce (volá sama sebe přímo
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
Naproti 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
Bezkontextové jazyky. Bezkontextové jazyky 1 p.1/39
Bezkontextové jazyky Bezkontextové jazyky 1 p.1/39 Jazyky typu 2 Definice 4.1 Gramatika G = (N, Σ, P, S) si nazývá bezkontextovou gramatikou, jestliže všechna pravidla z P mají tvar A α, A N, α (N Σ) Lemma
Úvod do informatiky. Miroslav Kolařík
Úvod do informatiky přednáška desátá Miroslav Kolařík Zpracováno dle R. Bělohlávek, V. Vychodil: Diskrétní matematika 2, http://phoenix.inf.upol.cz/esf/ucebni/dm2.pdf P. Martinek: Základy teoretické informatiky,
OSTRAVSKÁ UNIVERZITA V OSTRAVĚ
OSTRAVSKÁ UNIVERZITA V OSTRAVĚ PŘEKLADAČE HASHIM HABIBALLA OSTRAVA 2005 Recenzenti: RNDr. PaedDr. Eva Volná, PhD. Mgr. Rostislav Fojtík Název: Překladače Autoři: Dr. Hashim Habiballa, PhD. Vydání: první,
Jednoznač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.
1. Převeďte dané číslo do dvojkové, osmičkové a šestnáctkové soustavy: a) 759 10 b) 2578 10
Úlohy- 2.cvičení 1. Převeďte dané číslo do dvojkové, osmičkové a šestnáctkové soustavy: a) 759 10 b) 2578 10 2. Převeďte dané desetinné číslo do dvojkové soustavy (DEC -> BIN): a) 0,8125 10 b) 0,35 10
Západočeská univerzita v Plzni Dokumentace překladače PL/0 v PHP Předmět KIV/FJP
Západočeská univerzita v Plzni Dokumentace překladače PL/0 v PHP Předmět KIV/FJP Petr Sládek slady@slady.cz 27. ledna 2005 Zadání Cílem této semestrální práce je kontrola zdrojového kódu překladače jazyka
Regulá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
Lexikální analýza (Obsah)
Lexikální analýza (Obsah) 1. Rekapitulace potřebných znalostí -Regulární jazyky, regulární výrazy -Pravé lineární gramatiky -Konečné automaty (tabulka přechodů, stavový diagram, stavový strom) -Převod
VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu
VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632
Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7
Pascal Katedra aplikované kybernetiky Ing. Miroslav Vavroušek Verze 7 Proměnné Proměnná uchovává nějakou informaci potřebnou pro práci programu. Má ve svém oboru platnosti unikátní jméno. (Připadne, musí
Algoritmizace prostorových úloh
INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Algoritmus Daniela Szturcová Tento
Syntaxí řízený překlad
Syntaxí řízený překlad Překladový automat Šárka Vavrečková Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz Poslední aktualizace: 27. listopadu 2008 Zobecněný překladový automat Překladový automat
Č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á
Ří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í
Informatika navazující magisterské studium Přijímací zkouška z informatiky 2018 varianta A
Informatika navazující magisterské studium Přijímací zkouška z informatiky 2018 varianta A Každá úloha je hodnocena maximálně 25 body. Všechny své odpovědi zdůvodněte! 1. Postavte na stůl do řady vedle
GENEROVÁNÍ KÓDU 9. SHRNUTÍ - PŘÍKLAD POSTUPU PŘEKLADU VSTUPNÍHO PROGRAMU (ZA POUŽITÍ DOSUD ZNÁMÝCH TECHNIK)
GENEROVÁNÍ KÓDU 9. SHRNUTÍ - PŘÍKLAD POSTUPU PŘEKLADU VSTUPNÍHO PROGRAMU (ZA POUŽITÍ DOSUD ZNÁMÝCH TECHNIK) 2011 Jan Janoušek MI-GEN Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Úvod
Vlastnosti 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,
Sada 1 - Základy programování
S třední škola stavební Jihlava Sada 1 - Základy programování 06. Proměnné, deklarace proměnných Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284
1 Nejkratší cesta grafem
Bakalářské zkoušky (příklady otázek) podzim 2014 1 Nejkratší cesta grafem 1. Uvažujte graf s kladným ohodnocením hran (délka). Definujte formálně problém hledání nejkratší cesty mezi dvěma uzly tohoto
AUTOMATY A GRAMATIKY. Pavel Surynek. Kontextové uzávěrové vlastnosti Turingův stroj Rekurzivně spočetné jazyky Kódování, enumerace
AUTOMATY A 11 GRAMATIKY Pavel Surynek Univerzita Karlova v Praze Matematicko-fyzikální fakulta Katedra teoretické informatiky a matematické logiky Kontextové uzávěrové vlastnosti Turingův stroj Rekurzivně
Generová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
Princip funkce počítače
Princip funkce počítače Princip funkce počítače prvotní úlohou počítačů bylo zrychlit provádění matematických výpočtů první počítače kopírovaly obvyklý postup manuálního provádění výpočtů pokyny pro zpracování
PROGRAMOVACÍ 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í
Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)
Programovací jazyky Programovací jazyky nižší assembler (jazyk symbolických instrukcí) vyšší imperativní (procedurální) Pascal, C/C++, Java, Basic, Python, php neimperativní (neprocedurální) Lisp, Prolog
Algoritmizace 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
dovolují dělení velkých úloh na menší = dekompozice
Podprogramy dovolují dělení velkých úloh na menší = dekompozice Příklad: Vytiskněte tabulku malé násobilky ve tvaru XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X X 1 2 3 4 5 6 7 8 9 10 X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
3. přednáška. Obsah: Řídící struktury sekvence, if-else, switch, for, while, do-while. Zpracování posloupnosti
Obsah: Řídící struktury sekvence, if-else, switch, for, while, do-while. Zpracování posloupnosti 3. přednáška nalezení největšího prvku, druhého nejvyššího prvku, algoritmus shozeného praporku. Algoritmizace
Profilová část maturitní zkoušky 2017/2018
Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2017/2018 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA
Algoritmizace. 1. Úvod. Algoritmus
1. Úvod Algoritmizace V dnešní době již počítače pronikly snad do všech oblastí lidské činnosti, využívají se k řešení nejrůznějších úkolů. Postup, který je v počítači prováděn nějakým programem se nazývá
Sdílení dat mezi podprogramy
Sdílení dat mezi podprogramy Datové objekty mohou být mezi podprogramy sdíleny pomocí ne-lokálních referenčních prostředí, která jsou vytvářena na základě æ explicitních modifikací (formální parametry
Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1
24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE AUTOR DOKUMENTU: MGR. MARTINA SUKOVÁ DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 UČIVO: STUDIJNÍ OBOR: PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) INFORMAČNÍ TECHNOLOGIE
MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ
MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ 1) PROGRAM, ZDROJOVÝ KÓD, PŘEKLAD PROGRAMU 3 2) HISTORIE TVORBY PROGRAMŮ 3 3) SYNTAXE A SÉMANTIKA 3 4) SPECIFIKACE
Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace
Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace Číslo projektu Číslo materiálu Autor Průřezové téma Předmět CZ.1.07/1.5.00/34.0565 VY_32_INOVACE_284_Programovací_jazyky
Prohledávání do šířky = algoritmus vlny
Prohledávání do šířky = algoritmus vlny - souběžně zkoušet všechny možné varianty pokračování výpočtu, dokud nenajdeme řešení úlohy průchod stromem všech možných cest výpočtu do šířky, po vrstvách (v každé
Výroková logika. Teoretická informatika Tomáš Foltýnek
Výroková logika Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz Teoretická informatika strana 2 Opakování z minulé přednášky Co je to formalismus a co je jeho cílem? Formulujte Russelův paradox
Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem.
Algoritmus Algoritmus je schematický postup pro řešení určitého druhu problémů, který je prováděn pomocí konečného množství přesně definovaných kroků. nebo Algoritmus lze definovat jako jednoznačně určenou
Jazyk C Program v jazyku C má následující strukturu: konstanty nebo proměnné musí Jednoduché datové typy: Strukturované datové typy Výrazy operátory
Jazyk C Program v jazyku C má následující strukturu: Direktivy procesoru Globální definice (platné a známé v celém programu) Funkce Hlavička funkce Tělo funkce je uzavřeno mezi složené závorky { Lokální
VISUAL BASIC. Přehled témat
VISUAL BASIC Přehled témat 1 ÚVOD DO PROGRAMOVÁNÍ Co je to program? Kuchařský předpis, scénář k filmu,... Program posloupnost instrukcí Běh programu: postupné plnění instrukcí zpracovávání vstupních dat
Překladač sestrojující k regulárnímu výrazu ekvivalentní konečný automat Připomeňme si jednoznačnou gramatiku G pro jazyk RV({a, b})
Teoretická informatika průběh výuky v semestru 1 Týden 4 Přednáška Ukázali jsme jednoduchý převod konečného automatu na bezkontextovou gramatiku, čímž jsme prokázali, že každý regulární jazyk je bezkontextovým
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é
6 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í
Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15
Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15 KAPITOLA 1 Úvod do programo vání v jazyce C++ 17 Základní pojmy 17 Proměnné a konstanty 18 Typy příkazů 18 IDE integrované vývojové
5. Sekvenční logické obvody
5. Sekvenční logické obvody 3. Sekvenční logické obvody - úvod Sledujme chování jednoduchého logického obvodu se zpětnou vazbou 3. Sekvenční logické obvody - příklad asynchronního sekvenčního obvodu 3.
Vlastnosti regulárních jazyků
Vlastnosti regulárních jazyků Podobně jako u dalších tříd jazyků budeme nyní zkoumat následující vlastnosti regulárních jazyků: vlastnosti strukturální, vlastnosti uzávěrové a rozhodnutelné problémy pro