Tomáš Hobza 6.F, 2022 - Maturitní otázky z Programování

Algoritmizace úlohalgoritmusvlastnosti algoritmuprogramzpůsoby vyjádření algoritmuabstrakcedekompoziceProgramovací jazyk - jazykové konstrukcepojmyjazykové konstrukcepříkazyProgramovací jazyk - podprogramyprototyp funkce, návratová hodnota, parametryparametrylokální a globální proměnnézásobník a fungování podprogramuProgramovací jazyk – práce se souboryproměnná pro práci se souboremzpůsoby otevírání souborů (módy)operace pro práci se souboremZobrazení dat v počítačipojem informace, jednotky pro měření informacečíselné soustavy, převody mezi soustavamipřímý, inverzní, doplňkový kódFormální jazyky, automaty pojmydělení jazykůChomského hierarchie gramatik způsoby popisu jazykuGramatikypojmyvztah mezi jazykem, gramatikou a konečným automatemChomského hierarchie gramatikModel počítače, strojové jazykyStruktura a funkce procesoru: registry, řadič, ALUvon Neumannovo schéma, Harvardská architekturainstrukční cyklusjazyk symbolických adres, assemblermetody adresování pamětimodel pamětiDynamické datové strukturypojem abstraktní datový typKonstrukce základních dynamických datových struktur a operace s nimiHromadné zpracování dat, databázeProč HZD? Úlohy HZDOrganizace souborů z pro hromadné zpracování dat (tj. obrovské soubory), přístup k souborůmSoučásti databázeEliminační metody pro řešení soustav n lineárních rovnic o n neznámýchpojmyvyjádření soustavy lineárních rovnic pomocí maticGaussova eliminační metodaGauss-Jordanova eliminační metodaIterační metody pro řešení soustav n lineárních rovnic o n neznámýchpojmyiterační výpočetJacobiho iterační metodaGauss-Seidelova iterační metodaŘešení nelineárních rovnicpojmyvyčíslení polynomu Hornerovým schématemdefinice úlohy řešení nelineárních rovnicmetodyMetoda nejmenších čtvercůpojmyprincipodvození pro konstantní a lineární funkciMetody vnitřního řazenívlastnosti řadících algoritmůalgoritmyprincip ostatních metodMetody vnitřní řazeníspecifika vnějšího řazenípojmypřímé a přirozené řazenímetody zlepšováníprincip polyfázového slučováníVyhledávací algoritmypojmysekvenční vyhledáváníbinární vyhledáváníhašovací tabulkaprincip index-sekvenčního vyhledáváníbinární vyhledávací stromsrovnání vyhledávacích metodObjektově orientované programovánípojmyzapouzdření, dědičnost, polymorfismuspraktické použití OOPOperační systémystruktura OS (vrstvy)modulární OSmultitaskingprocesy, vlákna, životní cyklus procesuPočítačové sítě - hardwarerozdělení sítídruhy sítítopologieprvky sítěmetody přístupufunkce počítačové sítěPočítačové sítě - softwaremodel ISO/OSImodel TCP/IPprotokolyinternetBooleova algebra a její využitízákladní pojmylogické funkcezákonyvyjadřování logických funkcíminimalizace logických funkcí

 

Algoritmizace úloh

algoritmus

vlastnosti algoritmu

program

způsoby vyjádření algoritmu

abstrakce

dekompozice

Programovací jazyk - jazykové konstrukce

pojmy

jazykové konstrukce

příkazy

Programovací jazyk - podprogramy

prototyp funkce, návratová hodnota, parametry

parametry

lokální a globální proměnné

zásobník a fungování podprogramu

Programovací jazyk – práce se soubory

proměnná pro práci se souborem

způsoby otevírání souborů (módy)

operace pro práci se souborem

Zobrazení dat v počítači

pojem informace, jednotky pro měření informace

číselné soustavy, převody mezi soustavami

přímý, inverzní, doplňkový kód

Formální jazyky, automaty

pojmy

dělení jazyků

Chomského hierarchie gramatik

image-20220312202635498

 

způsoby popisu jazyku

Gramatiky

pojmy

vztah mezi jazykem, gramatikou a konečným automatem

image-20220312202703813

Chomského hierarchie gramatik

image-20220312202648001

Model počítače, strojové jazyky

Struktura a funkce procesoru: registry, řadič, ALU

von Neumannovo schéma, Harvardská architektura

instrukční cyklus

jazyk symbolických adres, assembler

metody adresování paměti

  1. přímý operand - operand umístěn přímo v instrukci
  2. přímé adresování - operand je určen pomocí absolutní adresy paměťového místa
  3. registr - operandem je registr
  4. relativní adresování - adresa = bázový registr + relativní posun
  5. stránkové adresování - relativní adresování se segmentovým registrem
  6. indexové adresování - adresování s indexovým registrem
  7. nepřímé adresování - paměťové místo určené předchozími metodami obsahuje nikoliv operand, ale adresu

model paměti

image-20220312203013972

Dynamické datové struktury

pojem abstraktní datový typ

Konstrukce základních dynamických datových struktur a operace s nimi

Hromadné zpracování dat, databáze

Proč HZD? Úlohy HZD

Organizace souborů z pro hromadné zpracování dat (tj. obrovské soubory), přístup k souborům

Součásti databáze

Eliminační metody pro řešení soustav n lineárních rovnic o n neznámých

pojmy

vyjádření soustavy lineárních rovnic pomocí matic

image-20220312203223744

Gaussova eliminační metoda

Gauss-Jordanova eliminační metoda

Iterační metody pro řešení soustav n lineárních rovnic o n neznámých

pojmy

iterační výpočet

Jacobiho iterační metoda

image-20220312203355692

Gauss-Seidelova iterační metoda

Řešení nelineárních rovnic

pojmy

vyčíslení polynomu Hornerovým schématem

image-20220312203427120

definice úlohy řešení nelineárních rovnic

metody

  1. metoda půlení intervalů

    image-20220312203452876

    • v každém kroku se chyba aproximace sníží dvakrát

    • výhody:

      • obecná, robustní metoda
      • při splnění podmínek zaručeně konverguje (v případě více kořenů v intervalu najde jeden z nich)
    • nevýhody:

      • relativně pomalá
      • hrozí ztráta přesnosti kvůli zaokrouhlovacím chybám
  2. metoda tětiv (regula falsi)

    image-20220312203505070

    • výhody:

      • vždy konverguje
      • obvykle rychlejší než půlení intervalů
    • nevýhody:

      • stejné, jako u půlení intervalů, jen menší
  3. metoda sečen

    image-20220312203525077

  4. newtonova metoda

    image-20220312203534497

Metoda nejmenších čtverců

pojmy

princip

odvození pro konstantní a lineární funkci

image-20220312203554389

Metody vnitřního řazení

vlastnosti řadících algoritmů

algoritmy

princip ostatních metod

Metody vnitřní řazení

specifika vnějšího řazení

pojmy

přímé a přirozené řazení

metody zlepšování

princip polyfázového slučování

  1. rozděl běhy do n-1 pásek tak, aby počtem odpovídaly Fibonacciho posloupnosti
  2. dokud není nejkratší páska prázdná, slučuj běhy na výstupní pásku
  3. přepni pásky - výstupní se přepne na vstupní a prázdná na výstupní
  4. opakuj, dokud nejsou vstupní pásky prázdné

Vyhledávací algoritmy

pojmy

sekvenční vyhledávání

binární vyhledávání

hašovací tabulka

princip index-sekvenčního vyhledávání

binární vyhledávací strom

image-20220312203732978

srovnání vyhledávacích metod

Objektově orientované programování

pojmy

zapouzdření, dědičnost, polymorfismus

praktické použití OOP

Operační systémy

struktura OS (vrstvy)

  1. jádro (kernel)

    • moduly pro přidělování prostředků, řízení procesů, …
  2. systémové knihovny a programy

  3. uživatelské rozhraní

    • CLI - textové rozhraní
    • GUI - grafické rozhraní

image-20220312203749836

modulární OS

multitasking

procesy, vlákna, životní cyklus procesu

Počítačové sítě - hardware

rozdělení sítí

druhy sítí

topologie

prvky sítě

metody přístupu

funkce počítačové sítě

Počítačové sítě - software

model ISO/OSI

model TCP/IP

protokoly

internet

Booleova algebra a její využití

základní pojmy

logické funkce

zákony

  1. Komutativní zákon

    • a+b = b+a
    • ab = ba
  2. Asociativní zákon

    • (a+b)+c = a+(b+c)
    • (ab)c = a(bc)
  3. Distributivní zákon

    • a(b+c) = ab+ac
    • a+bc = (a+b)(a+c)
  4. Zákon vyloučeného třetího

    • a+!a = 1
    • a!a = 0
  5. Zákon neutrálnosti nuly a jedničky

    • a+0 = a
    • a1 = a
  6. Zákon agresivity nuly a jedničky

    • a+1 = 1
    • a0 = 0
  7. Zákon tautologie

    • a+a = a
    • aa = a
  8. Zákon absorbce

    • a+ab = a
    • a(a+b) = a
  9. Zákon absorbce negace

    • a+!ab = a+b
    • a(!a+b) = ab
  10. Zákon dvojité negace

    • !!a = a
  11. De Morganovy zákony

    • !(a+b) = !a!b
    • !(ab) = !a+!b

vyjadřování logických funkcí

minimalizace logických funkcí