Blog

  • Excel úkol

    1) Import a příprava dat jako „tabulky“

    • Stáhněte soubor zde
    • Otevři stažený soubor a na listu s objednávkami (Orders) označ libovolnou buňku v datech.
    • Převeď data na Tabulku (Ctrl+T), zaškrtni „Tabulka obsahuje záhlaví“.
    • Pojmenuj tabulku (Návrh tabulky → Název tabulky) třeba tOrders.
    • Zkontroluj datové typy VŠECH! sloupců podle jejich obsahu (např. Order Date, Ship Date, … jako Datum; Sales, Profit jako Měna; Discount jako procenta, atd…).

    2) Nastavení parametrů:

    • Vytvoř nový list Nastavení a zadej:
      • B2: Kurz USD→CZK (např. 23,50)
      • B3: DPH (např. 21%)
      • B4: Prah „OK marže“ (např. 10%)
      • B5: Prah „Skvělá marže“ (např. 25%)
      • Do sloupce A přidejte záhlaví (tj. popisek hodnot, např. A3 bude „DPH „)
    • Tyto buňky budeš ve vzorcích odkazovat absolutně (tj. tak aby při roztažení nedocházelo ke změně adresy).

    3) Do tabulky tOrders přidej tyto nové sloupce a vyplň je pomocí vzorců:

    • Rok objednávky
    • Měsíc (číslo 1–12) objednávky
    • Měsíc_klíč: první den měsíce – tj. pro objednávku uskutečněnou 17.11.1989 bude vypočtená hodnota 1.11.1989
    • Dodání_dní: kolik dní trvala dodávka, tedy rozdíl data objednávky a dodání
    • Tržby_CZK: hodnota tržeb (Sales) v korunách, použij absolutní odkaz na kurz v listu Nastavení
    • Zisk_CZK: hodnota zisku (Profit) v korunách, opět stejný postup
    • Marže_%: spočítej marži (poměr zisku a tržeb) a ošetři dělení nulou
    • Ceníková_cena: cena za kus uvedená ve sloupci Unit Price je po slevě Discount – spočítej, jaká byla původní cena

    4) Tvorba vlastní funkce (LAMBDA výraz)

    • V Excelu vytvoř vlastní funkci přes Správce názvů:
      • Vzorce → Správce názvů → Nový
      • Název: TRIDA_MARZE
      • Odkazuje na (vzorec):
        =LAMBDA(m; KDYŽ(m<0;"Ztráta"; KDYŽ(m<Nastavení!$B$4;"Nízká"; KDYŽ(m<Nastavení!$B$5;"OK";"Skvělá"))))
    • Do tabulky přidej sloupec Třída_marže a vyplň jej pomocí právě vytvořené funkce TRIDA_MARZE

    5) Vyhledávání

    • Na listu Users uprav mapovací tabulku „Region → Manažer“, tak že přepíšeš jména manažerů na česká jména
    • Do tabulky objednávek přidej sloupec Manažer a doplň ho pomocí funkce XLOOKUP (nebo SVYHLEDAT) podle regionů z listu Users

    6) Filtrování a třídění

    • Zapni filtr v záhlaví tabulky (v tabulce už bude).
    • Vytvoř list Filtry a kopíruj do něj vždy první tři řádky z tabulky po použití každého z těchto filtrů (vždy nech jeden řádek prázdný a napiš, o který filtr se jedná):
      1. Region = West a seřazeno podle Zisk_CZK od nejvyššího (tj. zkopíruješ 3 nejlepší objednávky na západě).
      2. Třída_marže = Ztráta a seřaď podle Tržby_CZK od nejvyššího (tj. zkopíruješ 3 největší „průšvihy“).
      3. Vyfiltruj Rok = nejnovější rok v datech a seřaď podle Sales (tj. zkopíruješ 3 největší tržby).

    7) Kontingenční tabulka

    • Vlož Kontingenční tabulku z tabulky objednávek na nový list Kontingenčka:
      • Řádky: Category, pod to Sub-Category
      • Sloupce: Region
      • Hodnoty: součet Tržby_CZK, součet Zisk_CZK, průměr Dodání_dní

    8) Grafy

    • Z kontingenční tabulky vlož kontingenční graf:
      • Např. sloupcový graf „Tržby_CZK podle Category“ (s filtrem přes Segment).
    • Uprav graf (editace):
      • Přidej název grafu.
      • Naformátuj osu na měnu CZK (bez desetinných míst).
      • Zapni datové popisky aspoň u jedné datové řady.
      • Přesuň legendu (např. dolů) a uprav velikost grafu tak, aby se vešel na stránku pro tisk.

    9) Tisk a předtisková příprava

    • Vyfiltruj kontingenční tabulku jen na Corporate segment v regionu Central
    • Nastav:
      • Oblast tisku tak, aby na jedné stránce byla tabulka a na druhé graf
      • Orientaci Na šířku, okraje „Úzké“.
      • Přizpůsobit měřítko: 2 stránky na šířku
      • Přidat Záhlaví: název „Superstore report“ tučně velkým vlevo a datum tisku malým vpravo.
  • Word úkol

    1) Založ dokument a nastav základ

    • Otevři nový prázdný dokument a ulož jako „Prezentace_produktů.docx“.
    • Písmo a odstavce: Calibri (nebo podobné), 11 pt; řádkování 1,15; mezery před/po odstavci 0/6 b.
    • Nadpisy: použij vestavěné styly Nadpis 1 a Nadpis 2 (můžeš mírně upravit velikost a mezerování).
    • Vytvoř vlastní styl „Důležité“ (tučné + žluté zvýraznění).
    • Okraje: 2,5 cm.

    2) Záhlaví, zápatí a číslování stránek

    • Záhlaví: vlevo text „FIRMA EDU s.r.o.“, vpravo datum (pole „Dnešní datum“).
    • Zápatí: uprostřed „www.firma-edu.cz“.
    • Číslování stránek: číslo stránky vpravo dole, formát 1, 2, 3… (číslo na první stránce zobrazit).

    3) Struktura dokumentu + automatický obsah

    • Vlož nadpisy (Nadpis 1): „Úvod“, „Nabídka“, „Ceník a slevy“, „Kontakty“.
    • Pod „Úvod“ napiš 3–5 vět, jednu větu označ stylem „Důležité“.
    • Na první stránku nad text vlož automatický obsah s názvem „Obsah“ (Aktualizuj později, aby zobrazil nadpisy).

    4) Tabulky (bez výpočtů)

    • Pod „Ceník a slevy“ vytvoř tabulku 4 × 6 se sloupci: Produkt | Popis | Cena bez DPH | DPH (%) | Cena s DPH | Poznámka.
    • Nevypočítávej nic – vyplň hodnoty ručně (můžeš převzít ze zdrojových dat).
    • Formátování:
      • Styl tabulky (zvýrazněné záhlaví; případně pruhované řádky).
      • Text vlevo, čísla v cenách/DPH vpravo, dvě desetinná místa a oddělovač tisíců (např. 1 290,00).
      • Jednotné ohraničení (tenká mřížka, silnější rám), vnitřní okraje buněk 0,2–0,3 cm.
      • Řádek záhlaví opakovat na každé stránce.
      • Seřadit podle „Cena s DPH“ sestupně.
      • Nad tabulku přidej popisek „Cenová tabulka – říjen 2025“ (tučně, menší než nadpis).
    • Do „Poznámka“ u dvou položek použij styl „Důležité“ (např. „Akce“, „Skladem omezeně“).

    5) Hromadná korespondence (dopisy)

    • Připrav zdroj dat (Excel/Word) se sloupci: Jméno, Příjmení, Ulice, Město, PSC, E-mail, Produkt, Cena.
    • Vytvoř dopis s oslovením „Vážený/á <Jméno> <Příjmení>,“ a jedním odstavcem s nabídkou Produktu a uvedenou Cenou (pole z dat).
    • Vlož adresní blok a řádek s městem a PSČ.
    • Vygeneruj první tři dopisy do nového dokumentu a ulož jako „Dopisy_preview.docx“ a PDF.

    (Můžeš použít stejná vzorová data jako v předchozí verzi zadání.)

    6) Formulář (vyplnitelný)

    • Na konci dokumentu vytvoř stránku „Objednávkový formulář“ (karta Vývojář → Ovládací prvky obsahu):
      • Text: „Jméno a příjmení“, „E-mail“
      • Datum: „Datum objednávky“
      • Zaškrtávací políčko: „Souhlasím s obchodními podmínkami“
      • Rozevírací seznam: „Zvolený produkt“ (EduBox Basic, EduBox Pro, EduPen, EduHeadset, EduStand)
    • Nastav vlastnosti prvků (popisky, výchozí hodnoty).
    • Omezení úprav: povolit pouze vyplňování formuláře (heslo volitelné; pokud použiješ, uveď ho do poznámky).

    7) Makro (pouze záznam, „klikací“)

    • Vývojář → Zaznamenat makro, název „VlozPoznamku“, přidej ikonu na Panel nástrojů Rychlý přístup.
    • Během záznamu:
      1. Vlož nový odstavec a napiš: „POZNÁMKA: Zákazník má nárok na 10 % slevu při objednávce do “ + vlož dnešní datum (pole).
      2. Celou větu označ stylem „Důležité“.
    • Zastav záznam, otestuj kliknutím.
    • Ulož kopii s makrem jako „Makro_poznamka.docm“.

    Soubory „Prezentace_produktů.docx“, „Makro_poznamka.docm“ a „Dopisy_preview.pdf“ odevzdej e-mailem na petr.kalandra@spsasoupv.cz

  • Dvojčinné klopné obvody

    • Normální klopné obvody (latches) reagující na úroveň mají dvě velké nevýhody:
      • Výstupy se mohou měnit po celou dobu trvání logické úrovně hodinového signálu – nejsou stabilní
      • Nelze z nich přímo skládat složitější zřetězené obvody – řídící vstup by „okamžitě“ ovlivnil celý obvod
    • Dvojčinné klopné obvody (flip-flops) oddělují vstupy od výstupů
      • Nejčastější zapojení je tzv. Master-Slave
        • Dvojice klopných obvodů (stupňů) zapojených do série
        • Čtení v protifázi – klopné obvody reagují na opačnou úroveň (jsou aktivní v opačné fázi)
          • Zajištěno invertorem mezi vstupem T prvního a druhého stupně
        • Střídají se dvě fáze:
          1. První stupeň je aktivní – reaguje na řídící vstupy; druhý stupeň je neaktivní
          2. Druhý stupeň je aktivní – kopíruje stav výstupů prvního stupně; První stupeň je neaktivní
        • Navenek se zdá, že obvod reaguje pouze po velmi krátký čas – v okamžiku změny (hrany) hodinového signálu
          • Zapojíme-li vstup T do prvního stupně přímo, bude obvod zdánlivě reagovat na sestupnou hranu (týl)
          • Pokud vstup T nejprve invertujeme, bude obvod zdánlivě reagovat na náběžnou hranu (čelo)

    Dvojčinný klopný obvod RS

    Schematická značka
    • Anglický název: RS flip-flop
    • Klasické obvody RST se nejlépe řetězí – lze přímo propojit výstupy Q a \overline{Q} prvního stupně se vstupy S a R druhého stupně
    • Základní stavební blok ostatních dvojčinných klopných obvodů
    • Obvod má shodné vlastnosti s klasickým obvodem RST, jen reaguje na hranu signálu
    • Zakázaný stav u něj existuje!
    • Vnitřní zapojení je následující:

    Dvojčinný klopný obvod D

    Schematická značka
    • Anglický název: D flip-flop
    • Obvod má shodné vlastnosti s klasickým obvodem D, jen reaguje na hranu signálu
    • Stejně jako klasický obvod D řeší zakázaný stav sloučením vstupů R a S do jediného – D
    • Místo jednočinného RST je použit obvod dvojčinný (viz. výše)
    • Vstup D (data) je při hraně hodinového signálu přenesen na výstup Q
      • Výstup \overline{Q} je vždy opačný než Q
    • Využití: stavba složitějších sekvenčních obvodů – zejména čítačů a registrů
    • Vnitřní zapojení je následující:
    • V praxi se často setkáme s integrovanou verzí obvodu, která je rozšířená o dva asynchronní vstupy \overline{S} (Set) a \overline{R} (Reset)
      • Tyto vstupy bývají většinou invertované (aktivní v log. 0) – to je důsledek vnitřního zapojení obvodu.
      • Slouží k vynucení stavu obvodu – např. u čítačů k nahrání hodnoty mimo pořadí.
      • Funkci obvodu si můžete zkusit zde:
        Poznámka: Zájemci si mohou rozkliknout po najetí ikonkou lupy vnitřní zapojení, které se liší od nám známého master-slave, ale není nutné si jej pamatovat.
    Schematická značka dvojčinného
    KO D s asynchronními vstupy

    Dvojčinný klopný obvod JK

    Schematická značka
    • Anglický název: JK flip-flop
    • Obvod se snaží zachovat vlastnosti dvojčinného obvodu RS, ale zabránit vzniku zakázaného stavu
      • Zakázaný stav je nahrazen definovaným chováním – obvod se překlopí do opačné úrovně
    • Chování obvodu je tedy následující:
      • Vstup J („jump“) funguje podobně jako vstup S – zapíná obvod
      • Vstup K („kill“) funguje podobně jako vstup R – vypíná obvod
      • Jsou-li J=K=1 dojde k překlopení do opačné úrovně (prohození hodnot Q a \overline{Q})
    • Požadovaného chování je docíleno dvojicí členů AND
      • Vstup J je povolen jen je-li obvod vypnut (\overline{Q}=1)
      • Vstup K je povolen jen je-li obvod zapnut (Q=1)
    • Využití: stavba složitějších sekvenčních obvodů – zejména čítačů a registrů
    • Vnitřní zapojení je následující:
    • Obvod lze popsat standardními způsoby následovně:
    TJKQ_{t+1}\overline{Q}_{t+1}Popis
    JinakxxQ_t\overline{Q}_{t}Drž
    \uparrow00Q_t\overline{Q}_{t}Drž
    \uparrow0101Vypni
    \uparrow1010Zapni
    \uparrow11\overline{Q}_{t}Q_tPřepni
    Pravdivostní tabulka pro dvojčinný KO JK
    Stav 0
    Q=0
    Stav 1
    Q=1
    J=K=1
    nebo
    J=1 a K=0
    J=K=1
    nebo
    J=0 a K=1
    Jinak
    Jinak
    Stavový diagram pro dvojčinný KO JK
    JKTQ
    Časový diagram pro dvojčínný KO JK

    Klopný obvod T

    • Někdy můžeme narazit na klopný obvod označený písmenem T („Toggle“)
    • Existují dvě varianty obvodu:
      1. Bez řídícího vstupu T – má pouze hodinový vstup a s každým pulzem hodin překlopí svůj výstup
      2. S řídícím vstupem T – aby došlo k překlopení, musí být T aktivní
    • Jedná se tedy vlastně o děličku frekvence dvěma (výstupní frekvence je poloviční)
    • Na obvod typu T budeme často narážet u dvojkových čítačů
    • Lze jej snadno vytvořit z dvojčinných obvodů D a JK následovně:
    Schematická značka KO T
    bez řídícího vstupu T
    Schematická značka KO T
    s řídícím vstupem T

  • Klopný obvod D

    Schematická značka
    • Anglický název: „D latch
    • Klopný obvod RST stále trpí existencí zakázaného stavu, to se snaží klopný obvod typu D řešit tím, že znemožní aktivací obou vstupů R a S současně
    • Vznikne z RST spojením vstupů R a S do jediného vstupu D, který je zapojen následovně:
      • Přímo připojen na vstup S
      • Na vstup R je připojen přes invertor
    • Díky tomuto zapojení je vstup R vždy opakem vstupu S a nemůže dojít k zakázanému stavu
    • Vstup D je označován jako Data, protože jeho hodnota je přímo kopírována na výstup Q
      • Proto se používá klopný obvod RST – bez existence vstupu T by se obvod choval jako zpožďovací člen
    • Obvod můžeme popsat jedním z následujících způsobů:
    TDQ_{t+1}\overline{Q}_{t+1}Popis
    0xQ_t\overline{Q}_{t}Drž
    1001Vypni
    1110Zapni
    Pravdivostní tabulka pro KO D
    Stav 0
    Q=0
    Stav 1
    Q=1
    D=1
    D=0
    Jinak
    Jinak
    Stavový diagram pro KO D
    DTQ
    Časový diagram pro KO D

  • Klopné obvody RS a RST


    Klopný obvod RS

    Schematická značka
    • Nejjednodušší bistabilní klopný obvod
    • Anglický název: „RS latch
    • Obvod Moorova typu – výstup přímo odráží vnitřní stav
    • Slouží jako 1-bitová paměť
    • Má dva vstupy:
      • R – Reset, vypíná obvod
      • S – Set, zapíná obvod
    • Z praktických důvodů má dva výstupy:
      • Q – normální výstup (odpovídá vnitřnímu stavu)
      • \overline{Q} – negovaný výstup
        • Negovaný stav je nezbytnou součástí vnitřního zapojení a je proto praktické jej vyvést z obvodu ven
        • Hodí se mimo jiné k řetězení více klopných obvodů do série
    • Princip je tedy následující:
      • R=0, S=0 – obvod zůstává v klidu a drží poslední stav
      • R=1, S=0 – obvod se vypne (Q=0,\overline{Q}=1)
      • R=0, S=1 – obvod se zapne (Q=1,\overline{Q}=0)
      • R=1, S=1 – zakázaný stav!
        • Tento stav nedává smysl – chceme obvod zároveň zapnout a vypnout
        • Chování je nedefinované a tato kombinace vstupů by neměla v obvodu nastat!
        • Typicky se projevuje jako Q=\overline{Q} nebo rozkmitáním výstupů na frekvenci odpovídající propagačnímu zpoždění členů (záleží na vnitřním provedení obvodu)
    • Obvod můžeme popsat jedním z následujících způsobů:
    SRQ_{t+1}\overline{Q}_{t+1}Popis
    00Q_t\overline{Q}_{t}Drž
    1010Zapni
    0101Vypni
    11X (1)X (1)Zakázaný stav
    Pravdivostní tabulka pro KO RS
    Stav 0
    Q=0
    Stav 1
    Q=1
    S=1
    R=1
    Jinak
    Jinak
    Stavový diagram pro KO RS
    SRQ
    Časový diagram pro KO RS
    • Existují dvě jednoduché realizace obvodu RS a to s využitím hradel NOR a NAND
      • Realizace pomocí NAND má negované vstupní úrovně (díky De Morganově zákonu) a musí se přidat dvojice členů k jejich otočení

    Klopný obvod RST

    Schematická značka
    • Anglický název: „gated RS latch
    • Vznikne přidáním povolovacího vstupu T
      • Aby obvod reagoval na příkazy, musí být vstup T=1
    • Jedná se o obvod se synchronními vstupy, kde T slouží jako hodinový signál citlivý na logickou úroveň
    • Díky povolovacímu vstupu můžeme více obvodů vzájemně synchronizovat hodinovým signálem
    • Povolovací vstup neřeší zakázaný stav, stále tedy nesmí dojít k situaci R=S=T=1
    • Povolovací vstup lze snadno vytvořit v případě zapojení z logických členů NAND přepojením jednoho ze vstupů každého vstupního členu NAND, který zařizoval negaci vstupů
  • Booleova algebra

    Booleova algebra

    • Matematický jazyk pro popis a jednotnou úpravu logických výrazů (výroků a funkcí).
    • Umožňuje je přehledně kombinovat a zjednodušovat.
      • Funkce vytvořená podle slovního zadání může být komplikovaná.
      • Zjednodušením se sníží náklady a složitost realizace obvodů.
      • V technice se uplatňuje od reléových schémat po návrh hradlových logických obvodů, většinou sestavených ze členů AND, OR a NOT, které se snadno realizuji pomocí spínačů.
    • Autor: George Boole.

    Základní pojmy – opakování

    • Pravdivostní hodnoty: \{0,1\}  (0 = nepravda, 1 = pravda).
    • Logická (výroková) proměnná: veličina s hodnotou právě z \{0,1\}; značení např. A,B,C nebo x_1,x_2,\dots.
    • Logická funkce: Y=f(X_1,\dots,X_N); výstup je vždy 0 nebo 1.

    Základní operace

    • Negace (NOT): mění hodnotu na opačnou. Značení \lnot A nebo \overline{A}. Příklad: když A=0, pak \overline{A}=1; když A=1, pak \overline{A}=0.
    • Disjunkce, součet (OR): „nebo“. Značení A\lor B (nebo A+B); výstup 1, pokud aspoň jeden vstup 1.
    • Konjunkce, součin (AND): „a“. Značení A\land B (nebo A\cdot B nebo AB); výstup 1, právě když všechny vstupy 1.
    • Rovnost (ekvivalence): A \Leftrightarrow B (nebo A=B) je pravdivá, když A a B mají shodnou hodnotu.

    Zákony Booleovy algebry

    KomutativitaA + B = B + A A \cdot B = B \cdot A
    AsociativitaA + (B + C) = (A + B) + CA \cdot (B \cdot C) = (A \cdot B) \cdot C
    DistributivitaA + (B \cdot C) = (A + B) \cdot (A + C)A \cdot (B + C) = (A \cdot B) + (A \cdot C)
    Agresivita prvku vůči operaciA + 1 = 1A \cdot 0 = 0
    Neutralita prvku vůči operaciA + 0 = AA \cdot 1 =A
    IdempotenceA + A = AA \cdot A = A
    AbsorpceA + A \cdot B = AA \cdot (A + B) = A
    Absorpce negaceA + \overline{A} \cdot B = A + BA \cdot (\overline{A} + B) = A \cdot B
    \overline{A} + A \cdot B = \overline{A} + B\overline{A} \cdot (A + B) = \overline{A} \cdot B
    Dvojitá negace\overline{\overline{A}} = A
    Vyloučení třetíhoA + \overline{A} = 1A \cdot \overline{A} = 0
    De Morganovy zákony\overline{A + B} = \overline{A} \cdot \overline{B}\overline{A \cdot B} = \overline{A} + \overline{B}

    Upozornění:

    • Distributivita součtu A + (B \cdot C) = (A + B) \cdot (A + C) v klasické aritmetice neexistuje!
    • Při použití de Morganových zákonů pozor na správné ozávorkování – bereme celé strany otáčeného znaménka !

    Co v Booleově algebře není

    • Není definováno odečítání a dělení. Lze přičíst tentýž výraz na obě strany nebo násobit stejným výrazem, ale nelze „odečíst“ ani „dělit“ výrazem na obou stranách rovnice.
      • Z A+B = A+C neplyne B=C (nemůžeme odečíst A).
      • Z {A}\cdot{B} = {A}\cdot{C} neplyne B=C (nemůžeme vykrátit/vydělit A).

  • Logické funkce

    Prazdna tabulka, aby fungovaly styly – nemazat 🙁

    Logické funkce n-proměnných

    • Logická funkce f:\{0,1\}^n \to \{0,1\} přiřazuje každé kombinaci (x_1,\dots,x_n) právě jednu výstupní hodnotu 0/1.
    • Arita (stupeň) = počet vstupních proměnných n.
    • Počet funkcí
      • Pro n vstupů existuje 2^n různých vstupních kombinací (vektorů)
      • Každé kombinaci přiřadíme výstup 0/1 nezávisle
        • Laicky: Pro každou vstupní kombinaci vytvoříme všechny možné výstupní kombinace
        • Celkem 2^{\,2^n} funkcí pro n proměnných, např.:
          • pro 1 vstup existuje 2^{2^1}=2^2=4 funkcí,
          • pro 2 vstupy existuje 2^{2^2}=2^4=16 funkcí,
          • pro 3 vstupy existuje 2^{2^3}=2^8=256 funkcí.
    • Indexové značení \mathrm{F}_k odpovídá pořadí funkce v tabulce.
      • Toto číslo se shoduje s binární hodnotou čísla vzniklého spojením výstupních hodnot ve sloupcích
        (např. \{0, 1, 1, 0\} = 0110_{(2)}=6)

    Poznámky k tabulkám:

    Normální forma je matematický zápis v minimální podobě jen z operátorů logického součtu (OR) a součinu (AND). Zde konkrétně se jedná o disjunktní normální formu, kterou budeme probírat později.

    Zvýrazněné řádky označují nejpoužívanější funkce pro návrh logických obvodů, které existují i ve formě logických členů (součástek):

    • Unární
      • NOT = „opačná hodnota vstupu“
    • Binární
      • AND = „oba vstupy zároveň“
      • OR = „alespoň jeden vstup“
      • XOR = „vstupy se nerovnají“, „přesně jeden vstup“, „lichý počet vstupů“
      • XNOR = „vstupy se rovnají“, „sudý počet vstupů“
      • NAND = „maximálně jeden vstup“, „nejsou oba vstupy zároveň“
      • NOR = „žádný vstup“

    Funkce jedné proměnné – unární (n=1)



    Index
    Vstup aOperátorNormální formaNázev
    01
    \mathrm{F}_{0}0000nulová konstanta
    \mathrm{F}_{1}01aaidentita
    \mathrm{F}_{2}10\lnot a\overline{a}negace / NOT
    \mathrm{F}_{3}1111jednotková konstanta

    Funkce dvou proměnných – binární (n=2)

    Index Vstupní hodnoty Operátor Normální forma Název
    a
    b
    0
    0
    0
    1
    1
    0
    1
    1
    \mathrm{F}_{0}000000nulová konstanta
    \mathrm{F}_{1}0001a \land ba\cdot bkonjunkce / logický součin / AND
    \mathrm{F}_{2}0010 a \nRightarrow b a\cdot \overline{b} přímá inhibice
    \mathrm{F}_{3}0011aaprojekce na a / identita a
    \mathrm{F}_{4}0100 b \nRightarrow a \overline{a}\cdot b zpětná inhibice
    \mathrm{F}_{5}0101bbprojekce na b / identita b
    \mathrm{F}_{6}0110a \oplus b\overline{a}b+a\overline{b}neekvivalence / exkluzivní součet / XOR
    \mathrm{F}_{7}0111a \lor ba+bdisjunkce / logický součet / OR
    \mathrm{F}_{8}1000a \downarrow b\overline{a+b}NOR / Piercova funkce
    \mathrm{F}_{9}1001a \Leftrightarrow b\overline{a}\,\overline{b}+abekvivalence / XNOR
    \mathrm{F}_{10}1010\lnot a\overline{a}negace a
    \mathrm{F}_{11}1011 b \Rightarrow a \overline{b}+a zpětná implikace
    \mathrm{F}_{12}1100\lnot b\overline{b}negace b
    \mathrm{F}_{13}1101 a \Rightarrow b \overline{a}+b přímá implikace
    \mathrm{F}_{14}1110a \uparrow b\overline{a \cdot b}NAND / Shefferova funkce
    \mathrm{F}_{15}111111jednotková konstanta

    Funkce tří proměnných – ternární (n=3)

    Funkcí tří proměnných existuje celkem 256. Taková pravdivostní tabulka by byla značně nepraktická a tak je výhodné ji nějakým způsobem zjednodušit. K tomu lze využít zákonů booleovy algebry (které budeme probírat zanedlouho).

    Myšlenka je snadná – namísto funkce tří proměnných f(x, y, z) můžeme chytře rozdělit situaci na dva případy:

    • x = 0 – vytvoříme tabulku funkcí f(0, y, z)
    • x = 1– vytvoříme tabulku funkcí f(1, y, z)

    V obou případech nám zůstanou dvě proměnné tak můžeme situaci vyřešit pomocí funkcí dvou proměnných, kterých je jen 16.
    Dostaneme tedy dvě tabulky po 16 funkcích – celkem 32 funkcí. Matematicky tyto případy spojíme následovně:

    f(x, y, z) = x \cdot f(1, y, z) + \overline{x} \cdot f(0, y, z)

    Zdůvodnění: Násobení je spojka AND – musí tedy platit současně správná hodnota x a výsledek funkce dvou proměnných. Jednotlivé případy sečteme (spojka OR) – stačí aby platil jeden z případů. Zamyslíme-li se nad tím, nemůžou platit oba současně, protože x nemůže být současně 0 a 1.

    Tento postup lze použít i pro funkce více proměnných.

  • Úvod do výrokové logiky

    Proč logika v číslicové technice?

    • Logika
      • Je to nauka o vytváření úsudků, rozhodnutí a důkazů.
      • V technice pomocí ní děláme přesná pravidla, kterými následně popisujeme chování obvodů.
    • Cíl logiky
      • Z běžných sdělení (rozhodovacích vět, tzv. výroků) udělat funkce nad logickými proměnnými, které lze realizovat pomocí obvodů.
      • Laicky řečeno: nepřehlednou větu je třeba upravit pomocí pevně daných (nejlépe matematických) pravidel do jednoznačné podoby.

    Výrok

    • Výrok (tzv. propozice): tvrzení, u něhož má smysl rozhodnout, zda je pravda nebo nepravda (nic mezi).
    • Není to otázka ani rozkaz.
    • V technice: ohodnocení kódujeme jako 1 = pravda, 0 = nepravda.
      • Ohodnocení nazýváme pravdivostní hodnota
    • Příklady:
      • „Tlačítko je stisknuto.“
      • „Dveře jsou otevřené.“
      • „Zařízení je v poruše.“

    Výroková proměnná

    • Jiný název – logická proměnná
    • Jde o ohodnocení výroku – byl výrok pravdivý nebo ne?
    • Definice: veličina nabývající právě jedné ze dvou hodnot z množiny \{0, 1\} (nepravda=False / pravda=True).
    • Značení: x, y, z, nebo s indexy x_1, x_2, \ldots
    • Fyzikální reprezentace:
      • Konkrétní úrovně fyzikální veličiny – el. napětí / el. proudu / světla / hydraulického či pneumatického tlaku, apod.
      • Logická hodnota je abstrakce nad nimi.
      • Příklad: logická 0 (vypnuto) = napětí menší než 2.5V, logická 1 (zapnuto) = napětí větší než 2.5V
    • Můžeme tvořit vektory proměnných:
      • Spojení více proměnných do jedné (n-bitový signál; bit, byte, …)
      • x = (x₁, \ldots, xₙ)
      • Hodí se, například když potřebujeme udělat naráz stejný výpočet nad větším množstvím proměnných.
    • Speciální stavy v praxi:
      • V praxi můžeme narazit na některé speciální stavy
      • Nejsou to třetí logické hodnoty, jen modelové fyzikální stavy.
      • Např.:
        • Nedefinovaná hodnota – veličina se pohybuje v rozsahu, kdy nemůžeme určit, zda se jedná o log. 0 nebo 1
        • Vysoká impedance – nepřipojený signál (např. el. napětí není přítomno vůbec).
    • Hodnoty proměnných se mohou měnit v čase (a systém na ně může reagovat).
    • Příklad: proměnná S představující výrok „Slunce svítí“ – ve dne je odpověď ano (S=1), v noci ne (S=0)

    Výroková logika

    • Obor, který pracuje s výroky a jejich pravdivostní hodnotou.
    • Formální odvozovací systém
      • Výrokům přiřadíme výrokové proměnné – vytvoříme tzv. atomické formule (atomické = dále nedělitelné, neobsahuje spojky)
      • Z výroků formálně odvozujeme jejich důsledky – tzv. formule
        • K tomu slouží logické operace zapsané pomocí symbolů/spojek (např. \land \lor)- tzv. odvozovací pravidla
      • Na základě formule můžeme učinit rozhodnutí – tzv. ohodnocení formule
    • Skládá se ze:
      • Syntaktických pravidel – určují, kdy je formule správně utvořená
      • Odvozovacích pravidel – určují, jak můžeme formule kombinovat

    Logická funkce

    • Formalizované rozhodnutí/důsledek nad vstupními výroky/proměnnými.
    • Každé kombinaci hodnot vstupních logických proměnných přiřazuje výstupní ohodnocení 1 nebo 0.
    • Jedná se vlastně o matematický zápis výrokové formule.
    • Arita (stupeň) funkce: počet vstupních proměnných.
    • Funkce je deterministická – tedy pro každou vstupní kombinaci je výstup vždy stejný (jednoznačný).
    • Vstupní proměnné jsou nezávislé – navzájem se neovlivňují.
      • Například „Motor je pod napětím.“ a „Motor pracuje.“ jsou vzájemně závislé a lze je nahradit jedinou vstupní proměnnou.
    • Příklady:
      • „Alarm je zapnut, pokud jsou dveře (d) otevřené a servisní klíč (k) není zapnut.“
        • f(d, k)=d \land \overline{k}
      • „Čerpadlo čerpá, když je hladina v nádrži nízká (h) a je dostatečný přívod vody (p).“
        • f(h, p)=h \land p

    Logický obvod

    • Logický obvod: fyzická realizace logické funkce (nebo více funkcí) – převádí logické vstupy na logické výstupy podle definovaných pravidel.
    • Např.: elektrický, mechanický, pneumatický, hydraulický, …

    Rychlé aktivity / kontrolní otázky

    1. Napiš 3 výroky z praxe (např. škola/dílna/domácnost) a urči, kdy jsou pravdivé.
    2. Zkus vytvořit logickou funkci – navrhni vstupní proměnné a slovně popiš, kdy bude výstup log. 1.
      • Příklad proměnných: svítí slunce (S), prší (P)
      • Příklad funkce: Pokud svítí slunce a zároveň prší, bude duha.
      • Tedy funkce je log. 1, právě když S a zároveň P.

  • Převody číselných soustav

    1) Převod z libovolné soustavy do desítkové

    Číslo v soustavě se základem Z převedeme na desítkové tak, že sečteme součin každé cifry a odpovídající mocniny základu – dosadíme do vzorce z minulé lekce:

    \begin{aligned}
    \quad
    (\textcolor{red}{3}\textcolor{blue}{A}\textcolor{green}{5})_{\textcolor{violet}{16}}
    & =
    \overbrace{(\textcolor{red}{3}\,\textcolor{orange}{00})_{\textcolor{violet}{16}}}^{\textcolor{orange}{2~nuly}~\Rightarrow ~\textcolor{violet}{16}^{\textcolor{orange}{2}}}
    \;+\;
    \overbrace{(\textcolor{blue}{A}\,\textcolor{orange}{0})_{\textcolor{violet}{16}}}^{\textcolor{orange}{1~nula}~\Rightarrow ~\textcolor{violet}{16}^{\textcolor{orange}{1}}}
    \;+\;
    \overbrace{(\textcolor{green}{5})_{\textcolor{violet}{16}}}^{\textcolor{orange}{0~nul}~\Rightarrow ~\textcolor{violet}{16}^{\textcolor{orange}{0}}}
    \\
    &= \textcolor{red}{3}\cdot \textcolor{violet}{16}^{\textcolor{orange}{2}}
      + \textcolor{blue}{10}\cdot \textcolor{violet}{16}^{\textcolor{orange}{1}}
      + \textcolor{green}{5}\cdot \textcolor{violet}{16}^{\textcolor{orange}{0}}
    \\
    &= \textcolor{red}{3}\cdot 256 + \textcolor{blue}{10}\cdot 16 + \textcolor{green}{5} \cdot 1
    \\
    & = (933)_{10}
    \end{aligned}
    

    Také lze postupovat po číslicích zleva doprava a střídavě násobit základem a sčítat:

    \begin{aligned}
    \quad
    (\textcolor{red}{3}\textcolor{blue}{A}\textcolor{green}{5})_{\textcolor{violet}{16}}
    &= ((\textcolor{red}{3}\cdot 16) + \textcolor{blue}{10})\cdot 16 + \textcolor{green}{5} \\
    &= (48 + \textcolor{blue}{10})\cdot 16 + \textcolor{green}{5} \\
    &= 58\cdot 16 + \textcolor{green}{5} \\
    &= 928 + \textcolor{green}{5} \\
    & = (933)_{10}
    \end{aligned}

    Tento alternativní postup se používá například při programování převodu textové podoby čísla na jeho hodnotu.

    Interaktivní cvičení

    Číslo v základu převeď do desítkové soustavy Správně: 0

    2) Převod z desítkové do libovolného základu

    Použijeme opakované dělení základem Z se zbytkem a poté zbytky „sesbíráme“ od konce (v opačném pořadí).
    Jedná se vlastně o opačný postup k alternativnímu převodu do desítkové soustavy.

    \begin{gathered}
    933_{10}~\to~(?)_{16} 
    \\[1.5em]
    \begin{aligned}
    933 \div 16 &= 58 &\text{ zbytek } &5\\
    58 \div 16 &= 3 &\text{ zbytek } &10 &(A)\\
    3 \div 16 &= 0 &\text{ zbytek } &3\\
    \end{aligned}
    \\[3em]
    \Rightarrow (3A5)_{16}
    \end{gathered}

    Interaktivní cvičení:

    Převeď do základu Správně: 0

    3) Převod dvou libovolných základů

    Pro převod mezi dvěma různými libovolnými základy je nejsnazší použít postupně oba předchozí postupy:

    1. nejdřív do desítkové,
    2. pak z desítkové do cílové
    \begin{gathered}
    (110101)_2 \to (?)_{7} \\[1.5em]
    
    \quad\text{Krok 1: }\\
    (110101)_2 =(53)_{10}
    \\[1.5em]
    
    \quad\text{Krok 2: }\\
    (53)_{10} =(104)_{7}
    \end{gathered}

    4) Převody mezi soustavami se základy mocnin 2 (např. 8 ↔ 2 ↔ 16)

    Pokud jsou oba základy 4, 8, nebo 16, lze snadno převádět „blokově“ z hlavy přes dvojkovou soustavu.
    Stačí si v hlavě „zažít“ převod maximálně čtyřciferných dvojkových čísel do těchto základů – buď naučením tabulky zpaměti nebo dělením na součet číslic 8,4,2,1.

    \text{Př. 16}\to\text{2:}\\C_{16}=12_{10}=1\cdot8+1\cdot4+0\cdot2+0\cdot1=1100_2
    
    
    
    
    \text{Př. 2}\to\text{16:}\\[1em]
    \begin{gathered}
    \def\arraystretch{1.5}
       \begin{array}{ccccc}
                   & 1 & 0 & 1 & 0 \\
      \cdot & 8 & 4 & 2 & 1 \\ \hline
                   & 8 & 0 & 2 & 0 \\
    \end{array}
    \\[1.5em]
    8 + 0 + 2 + 0 = 10_{10} = A_{16}
    \end{gathered}
    
    
    
    
    

    Postupujeme následovně:

    1. Každou cifru samostatně převedeme do dvojkové soustavy.
    2. Vzniklé dvojkové skupiny spojíme.
    3. Spojené dvojkové číslo rozsekáme od konce na skupiny po log_2(Z) podle základu cílové soustavy.
    4. Každou skupinu převedeme samostatně na cifru v cílové soustavě.

    Ukažme si to na příkladu (\textcolor{red}{5}\textcolor{green}{7}\textcolor{blue}{2})_8 \to (?)_{16}:

    Krok 1) Převedeme cifry do dvojkové soustavy. Protože 8=2^3, bude mít každá osmičková cifra ve dvojkové soustavě tři číslice (bity).

    \textcolor{red}{\overbrace{101}^{5}}\,\textcolor{green}{\overbrace{111}^{7}}\,\textcolor{blue}{\overbrace{010}^{2}}
    
    
    
    
    

    Krok 2) Skupiny spojíme. Tím dostaneme číslo ve dvojkové soustavě.

    (\textcolor{red}{101}\textcolor{green}{111}\textcolor{blue}{010})_2
    
    
    
    
    

    Krok 3) Chceme číslo v šestnáctkové soustavě. Protože 16=2^4, bude mít každá šestnáctková cifra ve dvojkové soustavě čtyři číslice (bity) – rozsekáme číslo od konce po čtveřicích. Pokud nám chybí číslice, doplníme zleva nuly (v příkladu černou barvou).

    000\textcolor{red}{1}\,|\,\textcolor{red}{01}\textcolor{green}{11}\,|\,\textcolor{green}{1}\textcolor{blue}{010}
    
    
    
    
    

    Krok 4) Každou čtveřici převedeme na šestnáctkovou číslici.

    \overbrace{000\textcolor{red}{1}}^{1}\,|\,\overbrace{\textcolor{red}{01}\textcolor{green}{11}}^{7}\,|\,\overbrace{\textcolor{green}{1}\textcolor{blue}{010}}^{10}=(17A)_{16}
    

    Interaktivní cvičení:

    Převeď číslo ze základu do základu Správně: 0

  • Klopné obvody

    • Klopné obvody jsou významným a nejjednodušším druhem sekvenčních obvodů.
    • Mají dva vnitřní stavy (tzv. polohy): zapnutý (Q=1) a vypnutý (Q=0).
    • Jedná se o triviální případ obvodu Moorova typu
      • Výstup a vnitřní stav jsou shodné.
      • O_t = S_t
    • Polohy mohou být:
      • Stabilní – klopný obvod v ní zůstává trvale až do následujícího „povelu“ k překlopení
      • Nestabilní – klopný obvod v ní zůstává pouze nějaký čas a samovolně se překlopí
    • Podle počtu stabilních poloh můžeme klopné obvody rozdělit na:
      • Astabilní
        • Nemají žádnou stabilní polohu.
        • Samovolně kmitají.
        • Např. blikačka.
      • Monostabilní
        • Mají jednu stabilní polohu.
        • Při řídícím signálu se na nastavený čas aktivují (nestabilní poloha) a poté se samovolně překlopí zpět (stabilní poloha).
        • Např. schodišťový časovač.
      • Bistabilní
        • Mají dvě stabilní polohy.
        • Jedná se vlastně o 1-bitové paměti.
        • Zpravidla tvoří paměť složitějších sekvenčních obvodů, takzvaný registr.
        • Např. klopné obvody RS nebo D (viz. následující výukové hodiny).
    • Vstupy sekvenčních obvodů lze dělit podle přítomnosti řídícího „hodinového“ (či „taktovacího“) signálu:
      • Asynchronní
        • Nemají řídící „hodinový“ signál, ke změně stavu dochází okamžitě.
      • Synchronní
        • Mají řídící „hodinový“ signál, ke změně stavu dochází při aktivaci řídícího signálu.
        • Hodinový signál bývá označován jako CLK („Clock“) v anglické terminologii nebo jako T („Takt“) v české terminologii.
    • Klopné obvody pak dále dělíme na:
      1. Jednočinné (anglicky „level-sensitive latch„)
        • Reagují na úroveň hodinového signálu – obvod je aktivní (mění svůj stav) po celou dobu trvání úrovně na hodinovém signálu (např. T=1).
        • V anglické terminologii „latch“ – západka (výstup zapadne do určité polohy a drží v ní).
        • Pzn.: Některé zdroje doporučují označovat taktovací vstup spíše jako EN („Enable“), neboť se signál chová spíše jako zapínací/povolovací než jako časovací a považují vstupy za asynchronní.
      2. Dvojčinné (anglicky „edge-triggered flip-flop„)
        • Reagují na hranu hodinového signálu – obvod je aktivní při změně úrovně hodinového signálu
          (např. T=0 → T=1).
        • Název vychází z faktu, že obvod je typicky realizován sériovým zapojením dvojice jednočinných klopných obvodů, kde každý pracuje při opačné úrovni hodinového signálu – pracuje tedy ve dvou střídajících se taktech.

  • Konečný stavový automat

    • Konečný stavový automat (Finite-State Machine)
      • Výpočetní matematický model s konečným počtem stavů, vstupy, výstupy a přechody.
      • Může se nacházet v právě jednom aktivním stavu.
      • Stav
        • Aktuální krok výpočtu, uložen v paměti obvodu
        • Má právě jeden počáteční stav, ve kterém se nachází po spuštění (znázorněn šipkou z puntíku).
        • Stavy jsou znázorněny „bublinami“ s názvem (a případně číslem stavu a hodnotami výstupů).
      • Přechod
        • Reakce na určitou kombinaci vstupů (+ případně hodinový impuls) v aktuálním stavu.
        • Znázorněn šipkou mezi stavy s popisem události, která jej spustí (např. kombinace vstupů).
      • V praxi realizován jako kombinační logika + klopné obvody (paměť) – jedná se tedy o sekvenční obvod.
      • Často využíván při návrhu programů.
      • Lze použít na většinu základních řídících úloh.
        • Nemusí být postačující na některé složitější výpočetní úlohy neboť jeho paměť je omezena počtem jeho stavů.
      • Lze je zanořovat.
        • Je možné mít uvnitř stavů další stavové automaty.
        • Příklad:
          • Hlavní stavový automat – pracovní režimy stroje (automat, manuál, stop, …)
          • Vnořený stavový automat – automatický chod stroje v režimu „automat“
    • Pro zájemce:

    Příklad – dopravník s lisem

    Jedná se o Moorův automat. Přechody jsou spouštěny změnou vstupu do požadované úrovně. Stavy drží výstupy ve správných logických úrovních.


    Příklad – průchod bludištěm

    Jedná se o Mealyho automat – výstup je zde závislý jak na aktuálním stavu, tak na vstupní hodnotě. Přechody jsou spouštěny stavem „detektoru stěny“. Každý přechod je zde reprezentován dvojicí „Stav snímače (vstupu) | Hodnota výstupu“ – je-li splněna kombinace „stav + vstup“, dojde k přechodu a po dobu jeho trvání je na výstupu vygenerován příkaz (impulz) k otočení nebo kroku.


    Příklad – kódový zámek

    Jedná se o Moorův automat. Přechody jsou spouštěny stiskem klávesy.

  • Číselné soustavy

    Číslo

    • abstraktní entita
    • popisuje: množství, pořadí
    • zapisujeme: abychom mohli sdílet výsledky, počítat, …
      • Způsob zápisu určují číselné soustavy (sada číslic + pravidla).
      • tzv. obraz čísla


    Číselná soustava

    • Definice: množina číslic (znaků, cifer) + pravidla pro zápis a počítání s „obrazy“ čísel
    • Pohled teorie kódů:
      • soustava je „kód“
      • 1. množina = čísla (abstraktní hodnota) ⬌ druhá množina = slova z abecedy číslic (obrazy/zápisy čísel).
    • Rozlišujeme soustavy:
      • Polyadické (poziční)
        • pozice číslice v zápisu určuje její váhu
        • Nejčastější – běžné číselné soustavy
      • Nepolyadické (nepoziční)
        • Pozice číslice neurčuje její hodnotu
        • např. římská čísla
    Mayské číslice
    Zdroj: wikipedia.org
    Další světové číslice
    Zdroj: wikipedia.org

    Základ číselné soustavy

    • Základ Z > 0 určuje počet číslic
    • Příklady soustav
      • Z=2: dvojková / binární
        • digitální technika, stavy zapnuto/vypnuto
      • Z=3: trojková / ternární
        • digitální technika, stavy zapnuto/vypnuto/nedefinováno
        • kódování Morseovy abecedy
      • Z=8: osmičková / oktální
        • zkrácení dvojkového zápisu na třetinu
      • Z=10: desítková / dekadická
        • počítání na prstech
        • nejběžnější, „implicitní“ zápis čísel
      • Z=12: dvanáctková / duodecimální
        • zápis času (hodiny ve dvanáctihodinovém formátu, např. USA)
        • „kupecké“ počty na prstech – snadné dělení 2,3,4,6
      • Z=16: šestnáctková / hexadecimální
        • zkrácení dvojkového zápisu na čtvrtinu
      • Z=20: dvacítková / vigesimální
        • počítání na prstech – např. Mayové
      • Z=24: čtyřiadvacítková / quadravigesimální
        • čas (hodiny ve dvaceti čtyřhodinovém formátu, např. ČR)
      • Z=60: šedesátková / sexagesimální
        • čas a úhly (minuty)
        • Babylon – klínopisné číslice
      • Z=64: čtyřiašedesátková / tetrasexagesimální
        • kódování digitálních dat do textové podoby (base64)
    • Základy je možno skládat ⭢ vícezákladové soustavy
      • Např. zápis času HH:MM:SS, kde Z=Z_1 \cdot Z_2 \cdot Z_3
        • Z_1=24 jsou hodiny
        • Z_2=60 jsou minuty
        • Z_3=60 jsou sekundy

    Obecný poziční zápis čísla

    N=\sum_{i=-n}^{m-1}
    {\color{#d81b60}{a_i}}\,
    {\color{#1e88e5}{Z}}^{\,{\color{#43a047}{i}}}
    \quad\text{({\color{#d81b60}{koeficient}}, {\color{#1e88e5}{základ}}, {\color{#43a047}{řád}});}\quad
    \text{váha }={\color{#6d4c41}{Z^{\,i}}}

    v rozepsané podobě

    N= a_{m-1}Z^{m-1}+a_{m-2}Z^{m-2}+...+a_0Z^0+a_{-1}Z^{-1}+...+a_{-n}Z^{-n}
    • Exponent (mocnina, řád)
      • i \in \mathbb{Z} (i je celé číslo), které jde postupně od -n do m-1
      • záporné řády v desítkové soustavě jsou např. desetiny (i=-1), setiny (i=-2), …
      • nezáporné řády v desítkové soustavě jsou např. jednotky(i=0), desítky (i=1), …
      • n je nejnižší řád v čísle – počet číslic za desetinnou čárkou
      • m je nejvyšší řád v čísle – počet číslic před desetinnou čárkou
      • Řadová čárka leží pomyslně mezi členem i=0 a i=-1
      • Např. číslo: 123,456
        • m=3, n=3, tedy i \in \{2, 1, 0, -1, -2, -3\}
    • Cifra (též konstanta/koeficient) v řádu i: a_i
      • Platí, že: 0 \le a_i < Z
      • Tedy např. v soustavě o základu 3 máme cifry 0, 1 a 2
        • Začínáme 0 a končíme Z-1
      • U Z > 10 používáme písmena a další znaky
        • A-F u hexadecimální soustavy
        • velká a malá písmena, plus a lomítko u base64
    • Váha řádu i: Z^i
      • Např.: 64, 32, 16, 8, 4, 2, 1, 1/2, 1/4, 1/8, … u dvojkové soustavy
      • Např.: 1000, 100, 10, 1, 1/10, 1/100, … u desítkové soustavy
    • Index soustavy
      • Abychom poznali, v jaké soustavě je číslo zapsáno, napíšeme základ dolním indexem za číslo
      • U desítkové psát nemusíme
      • Např.: 10112 , 3510, 1A716

    Příklad — rozklad binárního čísla

    10100010110_2
    =1\cdot2^{10}+0\cdot2^9+1\cdot2^8+0\cdot2^7+0\cdot2^6+0\cdot2^5
    +1\cdot2^4+0\cdot2^3+1\cdot2^2+1\cdot2^1+0\cdot2^0
    =1024+0+256+0+0+0+16+0+4+2+0=1302_{10}

    Součet dává desítkovou hodnotu 130210.

    Převod do desítkové soustavy tedy provádíme dosazením do vzorce.

  • Analog vs. digitál

    Informace × signál

    • Informace = libovolná zpráva, sdělení, hodnota (např. obrázek, zvuk, počasí, …)
    • Signál = fyzikální nosič informace (např. napětí, proud, světlo, zvuk)

    Analogové signály

    • Spojité v čase i velikosti
      • Nekonečně mnoho možných hodnot
      • Mění se plynule s časem
    • Příklady veličin – teplota, tlak, napětí, poloha, úhel, …
    • „Přirozené“
      • Člověk vnímá svět spojitě
      • Snadněji tyto hodnoty interpretuje

    Číslicové (digitální) signály

    • Diskrétní – Nemění se plynule s časem
    • Vzorkovaný – Mění se pouze v izolovaných časových okamžicích (skokově)
    • Kvantovaný – Pouze konečné množství hodnot (zaokro
    • Příklady veličin – stav vypínače (zapnuto/vypnuto), model auta, noty (C4, A5), data v počítači
    Vzorkovaný signál
    (Časové zobrazení)
    Kvantovaný signál
    (Hladinové zobrazení)
    Digitální signál

    Základní pojmy

    • Data = zpracovatelná reprezentace informace
    • Bit (b) = základní jednotka („kousek“) informace, hodnoty 0 a 1
    • Bajt (B) = skupina 8 bitů
    • Slovo = skupina bajtů, se kterou pracuje procesor (např. 16 bitů, 32 bitů)
    • Věta = souvislý blok dat (více slov) patřících logicky k sobě

    Hybridní technika

    • Kombinace analogových a číslicových částí
    • Nutné převody:
      • A/D převodník – analog → digitál
      • D/A převodník – digitál → analog
    • Příklad: mikrofon (analogový signál) → A/D převodník → počítač → D/A → reproduktor

    Diskretizace

    • Převod spojitého signálu na číslicový
    • Dvě fáze:
      1. Vzorkování – měření hodnoty signálu v určitých okamžicích (vzorkovací kmitočet)
      2. Kvantování – zaokrouhlení naměřené hodnoty na nejbližší úroveň (omezená přesnost)

    👉 Nyquistovo pravidlo: vzorkovací kmitočet musí být min. 2× vyšší než nejvyšší frekvence signálu, jinak dochází ke zkreslení signálu.


  • Sekvenční logické obvody

    Kombinační obvody (opakování)

    • Výstupní hodnoty jsou přímou kombinací vstupních hodnot
      • Pro stejné vstupní hodnoty dostaneme vždy stejné výstupní hodnoty
    • Obvod je definován logickou výstupní funkcí – hodnotám vstupů přiřazuje přímo hodnoty výstupů

    Sekvenční obvody

    • Hodnoty výstupů tvoří sekvenci (= časovou posloupnost)
    • Musí si pamatovat, v jakém kroku sekvence se nachází
      • Mají tzv. vnitřní stav (S)
        • Někdy se též nazývá skrytý stav – pokud si představíme sekvenční obvod jako „kouzelnou krabičku“, tzv. black-box, pak vidíme pouze vstupy a výstupy, které se zdají být nahodilé (pro stejný vstup dostaneme pokaždé jiný výstup) → uvnitř uložené hodnoty nám zůstávají skryté
      • Vnitřní stav je uložen v paměti
        • Přítomnost paměti je hlavním rozdílem oproti kombinačním obvodům
    • Obvod je definován:
      1. Přechodovou funkcí f – říká, jak bude vnitřní stav vypadat v dalším kroku výpočtu (S_{t+1}).
        • Závisí na aktuálním vnitřním stavu S_t a hodnotách vstupů I_t.
        • S_{t+1}=f(S_t, I_t)
      2. Výstupní funkcí f_o– říká, jak vypadá okamžitá výstupní hodnota. Rozlišujeme 2 druhy sekvenčních obvodů:
        1. Moorův
          • Výstupní hodnota O_t závisí jen na vnitřním stavu S_t.
          • O_t=f_o(S_t)
        2. Mealyho
          • Výstupní hodnota O_t závisí na vnitřním stavu S_t i na hodnotě vstupů I_t.
          • O_t=f_o(S_t, I_t)
    • Alternativně je můžeme popsat pomocí:
      • Pravdivostní tabulky
        • Musí obsahovat výstupní hodnoty a následující vnitřní stav pro všechny kombinace vstupů a vnitřních stavů.
        • I_t,S_t \longmapsto O_t,S_{t+1}
      • Stavového diagramu
        • Graficky znázorňuje hodnoty výstupů pro každý vnitřní stav a přechody mezi stavy.
      • Časového diagramu
        • Grafické znázornění vstupních a výstupních signálů v čase.
        • Vždy se musí měnit právě jeden vstup, aby bylo jasné, co změnu výstupů vyvolalo!
    • U sekvenčních obvodů rozlišujeme vstupní signály:
      1. Asynchronnínemají řídící „hodinový“ signál, ke změně stavu dochází okamžitě.
      2. Synchronnímají řídící „hodinový“ signál, ke změně stavu dochází při aktivaci řídícího signálu.
    • Ve schématu se nejčastěji používá značení pomocí obdélníka se vstupy a výstupy s následujícími pravidly:
    Jen asynchronní vstupy
    (mohou být vlevo)
    Jen synchronní vstupy
    (s hodinovým signálem vlevo)
    Synchronní vstupy vlevo,
    asynchronní vstupy nahoře a dole
    Značení citlivosti vstupů
    (kdy je vstup aktivní)

    Příklady zápisů sekvenčního obvodu

    SRQ_{t+1}Popis
    00Q_tDrž
    101Zapni
    010Vypni
    11XZakázaný stav
    Pravdivostní tabulka pro KO RS
    SRQ
    Časový diagram pro KO RS
    Stav 0
    Q=0
    Stav 1
    Q=1
    S=1
    R=1
    Jinak
    Jinak
    Stavový diagram pro KO RS

    Vnitřní blokové schéma sekvenčního obvodu

     
    Výstupní funkce
    (Kombinační obvod)
    Přechodová funkce
    (Kombinační obvod)
    Vstupní hodnoty x0 .. xm-1
    Výstupní hodnoty y0 .. yn-1
    Vnitřní stav
    (Paměť)
    Hodinový signál

    Kombinační obvod — výstupy jsou přímou kombinací vstupů.

    Moorův sekvenční obvod — výstupy jsou přímou kombinací vniřního stavu, přechodová funkce mění vnitřní stav na základě současného stavu a hodnot vstupů.

    Mealyho sekvenční obvod — výstupy jsou kombinací vniřního stavu a hodnot vstupů, přechodová funkce mění vnitřní stav na základě současného stavu a hodnot vstupů.

    Asynchronní obvod — nemá řídící hodinový (synchronizační) signál.

    Synchronní obvod — má řídící hodinový (synchronizační) signál.

  • Úvod do číslicové techniky

    Co je číslicová (digitální) technika?

    • Obor elektroniky pracující se signály v podobě číslic
    • Základ dnešních počítačů, mobilů, řídicích systémů
    • Využívá logické obvody – logické členy, paměti, procesory, …

    Historie

    • Antika – Aristoteles: otec logiky (z jednoduchých předpokladů odvozuje složitější závěry)
    • 19. stol. – George Boole: Booleova algebra (formální matematický popis logiky)
    • 1930–40 – první elektronické počítače (relé, elektronky)
      • 1938 – Konrad Zuse, počítač Z1
    • 50. léta – tranzistor, menší spotřeba, vyšší spolehlivost
    • 70. léta – integrované obvody, mikroprocesory
    • Dnes – miliardy tranzistorů v čipu, všudypřítomná digitální technika

    Proč číslicová technika?

    • Odolnost vůči šumu – stačí rozlišit menší počet stavů, např. 0 a 1
    • Jednoznačné zpracování dat – tolerance součástek se projevují pouze při převodu mezi analogovou a digitální reprezentací
    • Možnost ukládání a přenosu bez ztráty kvality
    • Snadná programovatelnost – změna funkce softwarově