up:: UPP

  • Merge notes AT, solo notes atd
  • algoritmy zadávají ze skript

2024/5

  • Info
    • čas: 45min
    • povolené věci: Kalkulačka, psací potřeby
    • alg ze skript

1

  • Zodpovězte stručně následující otázku: ^1-up
    • Definujte pojem kód.
    • Proč se při kódování užívá princip nadbytečnosti (redundance)?
    • Jaká bude procentuální nadbytečnost kódu, pokud každý byte dat zakódujeme zabezpečujícím a samoopravným kódem.
    • Popište princip konstrukce těchto kódů.
  • Zodpovězte stručně následující otázku:
    • Vysvětlete, co jsou informace a jaké jsou její jednotky.
    • Jaké základní typy informací (dat) a jakým způsobem se v počítači ukládají?
  • Vyřešte následující příklad:
    • Pro kódové slovo je vyhrazeno 10 bitů. Kolik kódových slov maximálně lze v tomto kódu zobrazit tak, aby:
    • a)kód byl zabezpečující
    • b)kód byl samoopravný
    • c)se jednalo o kód
  • Řešení zdůvodněte
    • Navrhněte strukturovaný algoritmus řešení následující úlohy.
      • Proveďte rozbor řešení a nakreslete vývojový diagram, plošný a stromečkový strukturogram řešení (všechny tři diagramy by měly popisovat stejně řešení a vzájemně si odpovídat).
    • V paměti je uloženo pole A obsahující 900 celých kladných čísel. Navrhněte algoritmus, který zjistí počet lichých a součet sudých čísel v poli A.

2

  1. Definuj Hemmingovu vzdálenost a Hemmingovu minimální vzdálenost.
    • V 5ti místném kódu máš 2x bit s hodnotou 1 a 3x bit s hodnotou 0.
    • Definuj kolik kódových objektů lze zakódovat?
    • Jaká bude minimální Hammingova vzdálenost těchto kódů, o jaký typ kódu se jedná (zabezpecovaci, samoopravný)?
  2. Definuj pojmy program, interptetace, kompilace
  3. “Když pracuji, soustředím se” “Když pracuji, nesoustředím se”
    • vyplývá z toho “Když se nesoustředím, nepracuji”? a dokaž to
  4. udělej rozbor a všechny diagramy pro algoritmus
    • Pole A, které obsahuje pouze kladná a záporná čísla a je ukončeno nulou.
    • Vytvoř pole B z pole A, kde nahradíš kladná čísla 1 a záporná -1 a na konec přidáš 0

3

  1. Jak se dá zobrazit algoritmus
    • Výhody, nevýhody
    • metody převodu
  2. minimálni vzdálenost, tipuju, že hammingova váha taky
  3. příklad na tabulku Tautologie / kontradikce / splnitelný
    • ((x->y)!(y->z))
  4. vytvoř alogirtmus na mocniny
    • navrhněte

4

  1. Vysvětli architekturu vnitřní paměti.
  2. Co je Boolengovská algebra, důsledek, ekvivalence a pak ještě něco
  3. Pak tam byly výroky ale byl tam ta spojka s tou sipkou nahoru což nevím co udělá
  4. A algoritmus měl projít 1000 čísel, Vybrat nejmenší a vypsat počet jeho výskytu

5

  1. Co je to OS, vlastnosti, úkoly
  2. Popište algoritmus a věci kolem něj
  3. Výroková logika
  4. Algoritmus na překopírování A do B a udělat z toho absolutní hodnotu

6

  1. popište zásobník, použití a operace
  2. popište strukturovaný algoritmus a nakreslete sekvenci, selekci a iteraci v plošném a stromečkovém strukturogramu
  3. máš 9 bitů, kolik kódových slov v kódu prostým, zabezpečujícím, samoopravným a sec ded
  4. algoritmus na aritmetický průměr čísel v poli, které jsou větší než -20 a menší než 80, musíš ho udělat ve vývojovém diagramu a obou strukturogramech

7

  • co jsou to data a informace
  • co jsou to algoritmy, jake jsou jejich vyhody nevhody
  • vyrokova logika
  • sestrojte algoritmus

8

  • co jsou to data a informace a rozdil mezi nimi
  • Von Neuman
    • řekněmě způsob uspořádání komponentů v pc a rozdíl mezi hardvardskou a von neumanovo je
  • Masky
  • Aritmetický průměr
    • Číslo musí bxt větší než 10 a menší než 100 neco takového

9

  • bylo tam to uplne nahore
  • pak co je kod
  • co je algoritmus a nejaky veci okolo toho
  • vyroky na houby
  • algoritmus 900 cisel a pocet lichych a soucet sudych nebo naopak idk

(PAPÍR)

  • Definujte pojem “program”. Jaký je rozdíl mezi kompilací a interpretací programu v programovacím jazyce?
  • K čemu se používá proměnná typu “semafor”, jakých hodnot může nabývat a jaké operace nad semaforem je třeba realizovat pro jeho korektní funkcí,
  • Vysvětlete, co je to podprogram a k čemu se v programování používá? Jaká instrukce je realizuje a co je třeba použít pro zajištění správného návratu z podprogramu na místo jeho vyvolání?
  • Uvažujeme, že jsou k dispozici logické instrukce AND A,B; OR A,B; XOR A,B (výsledek instrukce je uložena adrese B), dále máme dvou bytový registr X s libovolným obsahem a konstanty M, N (masky). Číslování bitů v registrech uvažujte zleva doprava počínaje nulou. Navrhněte obsah masek M a N (hexadecimálně) a sled instrukcí tak, aby v registru X byly bity č.8… 15. nastaveny na hodnotu 1 a ostatní bity registru X byly znegovány.
  • Navrhněte strukturovaný algoritmus řešení úlohy, která bude zadána v následujícím odstavci. Nakreslete pro navržený algoritmus plošný a stromečkový strukturogram.
    • Do jednoduché proměnné číslo je postupně načítáno 15 celých čísel. Určete, kolik z těchto čísel je čtyřciferných. Pokud žádné takové číslo nebylo zadáno, podejte o tom informaci.

2023

1

  1. Vysvetlit frontu, jeji uziti
  2. Hammingova vzdalenost
  3. Co je to kod
  4. Co je minimalne vzdalenist kodu
  5. Co je UI
  6. Co je API
  7. Jeden vyrok co byl v zápočtu
  8. Nakreslit kazde graficke znazorneni algoritmu na vypocet prumeru

2

  1. co znamená minimální kódová vzdálenost uvest jednoduchý příklad
  2. co obsahuje testovací tabulka algoritmu
  3. napsat význam co je kód, minimální kódová vzdálenost ,zabezpecujici kód ,samooprávny kód
  4. pravdivostní tabulka
  5. plošný strukturogram , stomeckovy a vývojový

3

  1. Co je to program. Jaký je rozdíl mezi kompilací a interpretací
  2. Jakým způsobem se dá vyjádřit nezáporné číslo v jiné soustavě než desítkové. Převést 100 do dvojkové, osmičkové, šestnáctkové soustavy. Jak se dají vyjádřit záporná čísla v jiných soustavách.
  3. Co je to soubor a vysvětlit pojmy integrita, redundance, konzistence
  4. Vyřešit ((x xor y) nand (y > z))
  5. Algoritmus na zjištění kolikrát se hodnota X objevila v poli. Zapsat pomocí vývojového diagramu, plošného a stromečkového strukturogramu.

4

  1. Vysvětlete co je to algoritmus, program, napište vlastnosti algoritmu, co to znamená správnost algoritmu
  2. Popište co je to hammingova vzdálost, co je to minimální vzdálenost, jak můžeme zjistit hammingovu vzdálenost v prostoru (něco na ten smysl)
  3. Popište co jsou logické spojky, jak se dnes zapisují. Napište nějaké příklady
  4. ((x XOR y) ekvivalence (y XOR z))
  5. Sestavte algoritmus s polem A, nevíme velikost pole, poslední hodnota je nula. Napište kolikrát je hodnota v poli vyšší (idk jak to napsat)

5

  1. Co je to dynamická datová struktura, výhody a nevýhody
  2. Co je kód, hammingova vzdálenost, minimální vzdálenost kódu
  3. Co je to informace, typy informací(data), jak se data ukládají do PC
  4. pak nějakej kód na rekurzy v c++ a měl jsi napsat co vypíše Edit vypadalo to cca takhle:
#include <iostream>
int Test(int param){ 
	if(param > 0){ 
		Test(param-1); } 
	std::cout << param << std::endl; 
}
int main() {
	Test(10);
} 

Co by to mělo vypsat tak 0 1 2 3 4 5 6 7 8 9 10? (idk jestli taky 10 přepsal jsem to kompilátoru)

  1. Nakreslit vývojový diagram, stromový a plošný strukturogram pro Pole A 700 znaků, najdi tam všechny kladná čísla a nejmenší číslo

6

  1. co je to program a rozdil mezi interpretaci a kompilaci.
  2. co je to a na co se pouziva semafor a jakych hodnot muze nabyvat.
  3. co je to podprogram, proc se pouziva a jak pozna kdy a kam se ma vratit do hlavniho programu.
  4. zase ty masky jak uz tu jednou byly
  5. algoritmus ktery nacte 15 kladnych a a napise pocet tech cisel ktere jsou čtyřciferne a pokud takove cislo neni tak to nejak vypsat ze tam zadne neni

7

  1. Definujte a popište základní rozdělení vnitřních paměti, paměťových buněk
  2. Popište Hamingovu vzdálenost, minimální vzdálenost + rozdělení
  3. Popište vývojový diagram a jeho náležitosti
  4. V 10 bitovém kódu kolik lze uložit:
    • Kódů,
    • Zabezpečených kódů,
    • Samoopravnych kódů,
    • ( Odpověď zdůvodněte )
  5. Naleznete algoritmus který překopíruje pole A o 1000 prvcích do pole B. Zároveň v poli A nahraďte každou kladnou hodnotu číslem 1 a každou zapornou hodnotu číslem -1.

8

  1. Popište rozdělení kódů dle min.vzdálenosti, ukaž na jednoduchým příkladu
  2. Popsat jaky vyznam ma testovaci tabulka algoritmu a co obsahuje
  3. výroky logický důsledek Algoritmus - pole a,b obsahujici 400 celych cisel, vyhledej pocet ve kterych se obsah pole B rovna pole A (se stejnym indexem)

9

  1. Popiš dynamickou datovou strukturu, jaké má výhody/nevýhody
  2. Vysvětli pojem semafor, kdy se používá atd.
  3. Algoritmus: 600 čísel, vyber největší liché
  4. Masky: převeď bit 8-15 z X do Y a zbytek zachovej, převod do 16 soustavy
  5. Princip rekurze, pravidla, rozepsat se

Docs

( this )

  • Struktury
    • popiš strukturu souboru a co znamená integrita, redundance, konzistence
      • k položkám nelze přistupovat přímo, aktuální počet položek může být proměnlivý, je ukončen značkou EOF
      • integrita = všechna data uložená v souboriech musí odpovídat vlastnostem popisovaných objektů reálného světa (kladný věk)
      • redundance = opakovaný výskyt některé informace
      • konzistence = opakovaně uložený údaj musí zachovávat stejnou hodnotu, popisuje vlastnost jediného objektu
    • fronta a k čemu se používá
      • ukládání dat které vystupují ze struktury ve stejném pořadí (FIFO) 
      • vyrovnání rychlostí dvou datových toků
    • co je dynamická datová struktura, výhody, nevýhody
      • slouží pro reprezentaci proměnlivého počtu prvků proměnlivé velikosti, složeny z dynamicky alokovaných prvků navzájem propojených ukazateli
      • výhody = velká pružnost struktur, vznikají i když program běží
      • nevýhody = horší přístup k jednotlivým prvkům, musí být zvlášť naprogramován
    • datové struktury, vysvětlit pole, soubor, množinu
      • datové struktury = způsoby, jak organizovat a ukládat data v počítači tak, aby s nimi bylo možné efektivně pracovat
      • pole = položky se identifikují indexem, je nutno znát předem rozsah, rychlý přístup
      • soubor = datová struktura, která slouží k uchovávání sekvence dat na pevném disku nebo jiném úložném médiu, může obsahovat různé typy dat a umožňuje jejich čtení a zápis
      • množina = datová struktura, která ukládá unikátní prvky bez duplikátů, nepodporuje opakování stejných hodnot a umožňuje rychlé provádění operací, jako je sjednocení, průnik a rozdíl
    • statické datové struktury
      • datové struktury, jejichž velikost a struktura jsou pevně definovány při kompilaci a nemění se během běhu programu
    • strom, fronta, zásobník
      • strom = datová struktura, hodnota, podmínka, vztahy, uzly
      • fronta = uložení dat co vyjdou ve stejném pořadí (FIFO)
      • zásobník = pro ukládání rekurzí, LIFO, seřazení čísel
  • Alg
    • co je program, interpret, kompilátor
      • program = formální zápis algoritmu ve zvoleném programovacím jazyce
      • interpret = umožňuje přímo vykonávat zápis jiného programu v jeho zdrojovém kódu ve zvoleném programovacím jazyce
      • kompilátor = slouží pro překlad algoritmů zapsaných ve vyšším programovacím jazyce do jazyka nižšího, nejčastěji strojového, či spíše do strojového kódu
    • co je podprogram a jak ho můžu zavolat
      • označení části programu kterou je možné opakovaně vyvolat v různých místech programu
    • co je algoritmus, program, vlastnosti algoritmu, co znamená správnost
      • algoritmus = jakýkoliv postup řešení nějakého problému popsaný pomocí elementárních kroků, které může vykonávat (mechanicky) i stroj
      • program = formální zápis algoritmu ve zvoleném programovacím jazyce
      • vlastnosti algoritmu = mechanický, deterministický, hromadný, konečný, správný (to znamená že vše splňuje určité podmínky)
    • vývojový diagram a náležitosti
      • blokové schéma (zabírá hodně místa)
      • výkonné, rozhodovací, slučovací bloky
      • sekvence, selekce, iterace
    • strukturogramy a jejich výhody a nevýhody
      • grafické nástroje používané k znázornění postupu algoritmu nebo programu, postup shora dolů (pouze sekvence, selekce, iterace)
      • výhody = přehledné, snadná detekce chyb, jednoduché
      • nevýhody = nelze moc udělat u složitých algoritmů, časově náročné
    • co je přerušení a kdy k němu dojde
      • mechanismus v počítačových systémech, který umožňuje přerušit běžící program a okamžitě vykonat jiný úkol, po dokončení tohoto úkolu se program vrátí na místo, kde byl přerušen, a pokračuje v běhu
      • dojde k němu když je třeba chyba, externí zařízení potřebuje pozornost
  • Kodování
    • co je kód prostý, zabezpečující, samoopravný
      • prostý - dmin>=1
      • zabezpečující - dmin>=2, umí detekovat 1 chybu
      • samoopravný - dmin>=3, 2 chyby
    • pojmy kód, hammingova vzdálenost, minimální kódová vzdálenost
      • kód = prosté zobrazení množiny objektů X do kódových slov X’
      • hammingova vzdálenost = vzdálenost bodů v prostoru, počet hran na cestě spojující body X Y, počet bitů ve kterých se liší
      • minimální kódová vzdálenost = nejmenší počet pozic, ve kterých se liší dva kódové vektory v daném kódu
    • popište uložení celých a reálných čísel v počítači
      • celá čísla = převod do binární
      • reálná čísla = IEEE 754
  • Data
    • co je datový typ
      • definuje v programování druh nebo význam hodnot, kterých smí nabývat proměnná
    • co je datová proměnná
      • je v programování označení pro identifikátor, které uchovává určitou informaci při běhu programu
    • co jsou data
      • údaje zaznamenané v digitální podobě určené k počítačovému zpracování
  • HW
    • pevný disk HDD a SSD
      • HDD = úložné zařízení, které používá magnetické disky k ukládání dat
      • SSD = úložné zařízení, které používá flash paměť k ukládání dat, bez pohyblivých částí, díky tomu je rychlejší, tišší a odolnější než HDD
    • optický disk CD rom, DVD
      • CD = optický disk, který umožňuje pouze čtení dat (ne zápis), je často používaný pro distribuci hudby
      • DVD = optický disk, který je podobný CD-ROM, ale má větší kapacitu pro uchovávání dat, je použitelný pro video, software a další data
    • pixel, barevná hloubka, barevná mapa
      • pixel = nejmenší jednotka obrázku na obrazovce nebo v grafice, která může mít určitou barvu
      • barevná hloubka = určuje, kolik bitů je použito k reprezentaci barvy jednoho pixelu (čím větší barevná hloubka, tím více barev může být zobrazeno)
      • barevná mapa = tabulka, která mapuje indexy nebo hodnoty pixelů na konkrétní barvy
    • alokační jednotka, stopa, sektor, cylindr
      • alokační jednotka = nejmenší jednotka paměti, kterou operační systém přiděluje procesům
      • stopa = jedna z kruhových drážek na povrchu rotačního disku (např. HDD), kde jsou uložena data
      • sektor = nejmenší jednotka pro čtení nebo zápis dat na disku
      • cylindr = všechny stopy na všech diskových plotnách, které jsou umístěny ve stejné poloze
  • Pamět
    • jak jsou uložena data ve vnitřní paměti počítače
      • registry (uchovávají data pro okamžité výpočty a operace)
      • RAM (uchovává data a programy během jejich běhu)
      • cache (rychlá paměť mezi procesorem a RAM)
    • vysvětli pojem virtuální paměť a princip jejího přidělování
      • virtuální paměť = technika, která umožňuje počítačovému systému rozšířit dostupnou paměť nad rámec fyzické RAM
      • přidělování = adresový prostor - každý proces dostane představovaný prostor paměti, který může používat, i když v reálné paměti (RAM) není celkově tolik místa
  • EZ
    • uživatelské rozhraní a aplikační rozhraní v operačním systému
      • uživatelské = OS umožňuje uživateli vkládat hodnoty a nadále i výstup výsledných hodnot
      • aplikační = abstrakce technického vybavení PC pro přímé ovládání
    • logické spojky a jak se zapisují
      • operátory používané v logice a matematiky, které spojují jednotlivé výroky
      • konjunkce ∧
      • disjunkce ∨
      • další wah wah znáš
    • co to je operační systém, jeho služby
      • OS = software, který spravuje hardware počítače a poskytuje prostředí pro běh aplikací, zjišťuje komunikaci mezi uživatelem a hardwarem
      • bezpečnost, správa procesů/paměti/souborů, interakce s uživatelem
  • IDK
    • co je semafor a příklad
      • synchronizační primitivum, obsahuje celočíselný PC
      • využívá se jako ochrana souběhu, chrání kritickou sekci
      • binární semafor - proměnná S s dvěma možnými polohami 1 otevřená a 0 uzavřená
      • počítaný semafor - sdílená proměnná typu celé číslo INT, S=1,2 - N=otevřeno, S=uzavřeno
    • definuj kritickou oblast a jak předejít zamrznutí
      • kritická oblast = část kódu, která přistupuje ke sdíleným prostředkům a musí být chráněna, aby nedocházelo ke konfliktnímu souběžnému přístupu více vláken nebo procesů
      • předejít se dá pomocí = správná alokace zdrojů, semafor
    • co je to informace, typy, jak se data ukládají do PC
      • informace = sdělení, komunikovatelný poznatek co má význam pro příjemce
      • bit (2 alternativy 1 true 0 false)
      • byte (8 bitů, 28 možných stavů, nejmenší jednotka pro uložení dat)
      • půlbyte (4 bity, 16 možných stavů)
    • co obsahuje testovací tabulka algoritmu
      • vstupní data a očekávané výstupy, skutečné výstupy, poznámky
    • fáze strojových instrukcí procesoru
      • načtení instrukce, dekódování, provádění, zápis?
    • co je sběrnice a její typy
      • sběrnice = komunikační kanál, který propojuje různé části počítače a umožňuje přenos dat mezi nimi, například mezi procesorem, pamětí a periferními zařízeními
      • datová, adresová, řídící