Informatika

Obsah



1. Ovládací prvky


Vyjmenujte základní ovládací prvky. Jak je vytvoříme a jak s nimi pracujeme v aplikaci Windows Forms? Popište k čemu se jednotlivé ovládací prvky užívají a co od nich uživatel očekává? Jak lze vytvářet uživatelské ovládací prvky. Uveďte příklad uživatelského ovládacího prvku a postup jeho návrhu a implementace.

prvky GUI

vlastní prvek GUI potomkem třídy UserControl

1. Ovládací prvky

Informatika


2. Tabulkové procesory


Co je to tabulkový procesor? Využití tabulkového procesoru. Vkládání dat (včetně vzorců a funkcí). Identifikace buněk a oblastí. Zformátování tabulky. Tvorba grafů. Pokročilé užití – práce se seznamy, analytické nástroje apod.

tabulkový procesor ~ program sloužící ke zpracovávání, především matematickému, tabulek s informacemi

tabulka ~ matice buněk, v nichž jsou uložena data

buňky (skupiny buněk -- oblasti) často propojeny "odkazy", protože jejich obsah na sobě závisí (aplikace matematických funkcí, zpracovávání dat -- tvorba grafů)

makra, funkce, grafy, řazení/filtrování

TODO: proklikat si MS Excel

2. Tabulkové procesory

Informatika


3. CSS


K čemu slouží CSS? Jaké možnosti máme při definování CSS v HTML dokumentu? Jakým způsobem se jednotlivé definice CSS stylů dědí? Jaké znáte selektory? Uveďte některé ze stylů.

CSS (Cascading Style Sheets) ~ stylovací jazyk, užívaný ke specifikaci vzhledu dokumentů v HTML/XML

aktuální verze CSS 2.1, ve vývoji CSS 3, ale standardy jsou v prohlížečích implementovány omezeně (nebo svou cestou)

navázání na HTML/XML

  1. lokální (formou atributu příslušného elementu)
  2. v hlavičce dokumentu
  3. v samostatném souboru

širší možnosti specifikace vzhledu oproti např. čistému HTML

při použití stylopisu definice vzhledu elementů či tříd elementů → snadná správa a znovupoužitelnost

selektor ~ element nebo třída elementů (v určitém kontextu), pro niž mají platit dále definovaná pravidla

pravidlo ~ vlastnost elementu, která může nabývat příslušných hodnot

chybí podpora matematických výrazů a přesnějšího/flexibilnějšího výběru selektorů

3. CSS

Informatika


4. Číselné soustavy


Vysvětlete pojem číselná soustava. Jak převádíme mezi různými číselnými soustavami? Jaké platí speciální vztahy mezi dvojkovou a šestnáctkovou soustavou? Proč v informatice používáme dvojkovou soustavu? Jak lze dvoustavový záznam a přenos realizovat fyzikálně?

soustava čísel ~ způsob reprezentace čísel jako uspořádaných množin symbolů -- číslic

nejčastější poziční číselné soustavy

převod mezi soustavami

4. Číselné soustavy

Informatika


5. OOP


Popište, co je to stav objektu, zapouzdření, skrývání dat a implementací. Jak implementujeme zapouzdření v jazyce C#? Co jsou to zprávy? Jaké znáte druhy zpráv? Jak je implementujeme v jazyce C#? Vyzdvihněte výhody objektově orientovaného programování oproti procedurálnímu.

OOP (Object-Oriented Programming) ~ paradigma programování, v němž objekty (hierarchicky uspořádané datové struktury) zapouzdřují data a interagují pomocí zpráv

třída ~ šablona pro tvorbu objektů

instance ~ konkrétní objekt typu dané třídy

principy

zprávy

oproti procedurálnímu programování

5. OOP

Informatika


6. Databáze


Co je to databázový systém? Vysvětlete pojmy entita, třída entit, množina entit, atribut, typ atributu, E-R diagram, tabulka, záznam, primární klíč a další. K čemu slouží relační databáze? Co je to dotaz, dotazovací jazyk, k čemu slouží? Co je to výstupní sestava, k čemu slouží? Co je to formulář, k čemu slouží?

databáze ~ uspořádaná množina informací uložená na paměťovém médiu

SŘBD (systém řízení báze dat) ~ software obsluhující databázi, umožňující manipulaci s daty v ní

databázový systém ~ databáze + SŘBD

relační databáze ~ typ databází (+ SŘBD), v nichž jsou data reprezentována záznamy (řádky, n-ticemi) v tabulkách (relacích)

entity-relationship diagram ~ diagram sloužící k návrhu např. relační databáze, zobrazuje vztahy mezi entitami

entita ~ reálný objekt (realizovaný jako záznam)

atribut ~ vlastnost entity

vazby

příklad: učitel je třídním učitelem jen jedné třídy, jedna třída má jen jednoho třídního učitele

příklad: N žáků chodí do jedné třídy, žák nemůže chodit do více tříd

příklad: učitel učí N předmětů, předmět je učen M učiteli

záznam ~ řádek tabulky

primární klíč (sloupec jednoznačně identifikující záznamy)

dotaz: operace: přidávání, aktualizace, odstraňování záznamů, filtrování a vyhledávání

selekce (výběr sloupců), projekce (filtrování řádků)

viz SQL

redundance dat ~ stejná data jsou v databázi vícekrát

nekonzistence dat

TODO: proklikat si MS Access (tabulky, vztahy, dotazy)

sestava ~ výsledek dotazu na databázi, tj. filtrovaná data

formulář ~ rozhraní pro přístup k databázi

6. Databáze

Informatika


7. OS


Uživatelský přístup v MS-DOS a MS-WINDOWS. Popište základní příkazy MS-DOS. Výhody Windows – uživatelské rozhraní (komunikace s uživatelem – i z pohledu programátora, menu, dialogová okna, ovládací prvky, panely nástrojů, stavový řádek apod.). Vyjmenujte další příklady operačních systémů.

operační systém ~ software umožňující využívání hardware, vrstva mezi hardwarem a uživatelem; jádro (kernel) + systémové nástroje

jádro

systémové nástroje

MS DOS

MS Windows

shell vs GUI

multitasking ~ funkce umožňující běh více procesů na jednom procesoru

7. OS

Informatika


8. Záznamová média


Popište pevný disk (fyzikální princip ukládání dat, logické členění, kapacita, rychlost). Popište nosič CD, DVD (fyzikální princip ukládání dat, logické členění, kapacita, rychlost). Popište pružný disk (fyzikální princip ukládání dat, logické členění, kapacita, rychlost). Vyjmenujte a stručně popište jiná záznamová média.

záznamová média ~ "pomalé", velkokapacitní paměti -- úložiště dat

děrné štítky

...

diskety (floppy disk drive)

optická média -- CD, DVD, Blu-Ray

pevné disky (hard disk drive)

flash paměti (flash drive)

disketa ~ magnetické záznamové médium, tzv. pružný disk (floppy disk) -- díky možnosti ohýbat některé z prvních modelů

pevný disk ~ magnetické záznamové médium

optický disk ~ optické záznamové médium, konkrétně CD, DVD, Blu-Ray

8. Záznamová média

Informatika


9. Třídy


Vysvětlete pojmy třída a objekt. Co je to abstraktní třída a zapečetěná třída? Co jsou to statické členy a členy instance? Popište vytvoření objektu v jazyce C#. Která třída je kořenová v hierarchii dědičnosti knihovny tříd rámce .NET? Zmiňte základní principy OOP.

třída ~ šablona pro tvorbu objektů

objekt ~ instance třídy

abstraktní třída ~ třída, jejíž instance neexistuje -- slouží jako předek při dědění

zapečetěná třída ~ třída, od níž nemůže být děděno -- nemůže být předkem při dědičnosti

statické členy ~ datové/funkční členy třídy (nevázané na instance)

členy instance ~ vlastnosti každé jedné instance

vytvoření objektu

v .NET všechny třídy dědí od třídy object, která implementuje některé základní metody

9. Třídy

Informatika


10. SQL


Co to je SQL? K čemu slouží? Vysvětlete základní operace s databází (selekce, projekce, spojení apod.) a uveďte zápis těchto operací v SQL.

SQL (Structured Query Language) ~ dotazovací jazyk sloužící ke komunikaci s relačními databázemi, k práci s daty v nich

SELECT ... FROM ... WHERE ...

SELECT ~ selekce (výběr sloupců)

WHERE ~ projekce (filtrování záznamů)

10. SQL

Informatika


11. Internet


Co je to Internet? Co je to IP adresa a její alias? Popište internetové služby. Co je to e-mail a jaké nabízí možnosti? Co to je WWW a HTTP. Popište, jak vyhledávat na Internetu informace. Jakými způsoby můžeme publikovat na Internetu? Co je to FTP?

Internet ~ celosvětová decentralizovaná komunikační síť, soustava sítí komunikujících skrze TCP/IP

TCP/IP ~ IP je protokol pro komunikaci v síti, přičemž zakrývá implementaci; TCP na nižší úrovni zajišťuje spolehlivost (za cenu režie)

IP adresa ~ jedinečná adresa počítače v síti, přes DNS převáděna na textový alias

e-mail: MUA (Mail User Agent; odeslání zprávy klientem) → MTA (Mail Transfer Agent; přijetí zprávy serverem) → MDA (Mail Delivery Agent; filtrování apod. zpráv) → MUA (přijetí zprávy klientem)

SMTP (Simple Mail Transfer Protocol) ~ protokol zajišťující předání e-mailu mezi MTA

POP3 (Post Office Protocol v3), IMAP (Internet Message Access Protocol) ~ protokoly sloužící k uživatelskému přístupu k e-mailům na serveru, POP3 stahuje všechno, kdežto IMAP stahuje selektivně

WWW (World Wide Web) ~ služba Internetu nad protokolem HTTP, "pavučina" odkazy propojených stránek (hypertext)

HTTP (HyperText Transfer Protocol) ~ protokol původně určený k výměně hypertextových dokumentů, díky MIME ale dokáže přenášet libovolná data; užívá se též šifrovaná varianta HTTPS

FTP (File Transfer Protocol) ~ protokol sloužící k přenosu dat, souborů; zastaralý, pro nebezpečnost (bohužel pomalu) nahrazován FTPS (nový standard užívající SSL/TLS)

11. Internet

Informatika


12. Cykly


Popište příkazy pro cyklus a zapište jejich syntaxi v jazyce C#. Nakreslete diagramy činností pro jednotlivé cykly. Vysvětlete výhody a užití jednotlivých příkazů. Popište vztah cyklu a pole. Popište procházení prvků instancí tříd, které implementují rozhraní IEnumerable. Zmiňte význam nahrazení rekurze cyklem. Uveďte příklady užití uvedených příkazů.

cyklus ~ příkaz zajišťující opakování bloku příkazů po dobu platnosti podmínky

while ~ cyklus s podmínkou na začátku

do-while ~ cyklus s podmínkou na konci (tělo se provede alespoň jednou)

for ~ cyklus se známým počtem iterací

průběh: inicializace čítače → podmínka (→ provedení těla cyklu → aktualizace čítače → podmínka → ...)

využití např. k procházení pole po prvcích, příp. k odstranění rekurze z algoritmů (→ snížení paměťové náročnosti)

IEnumerable ~ rozhraní umožňující procházení datové struktury pomocí cyklu foreach, což využívá např. ArrayList

12. Cykly

Informatika


13. Hardware


Popište strukturu počítače. Popište základní desku. Co je to mikroprocesor, operační paměť, grafická karta, vnější paměť, sběrnice apod.? Jaké se v informatice používají jednotky informace a jaký je mezi nimi vztah?

základní deska ~ komponenta zajišťující napájení a propojení ostatních komponent

procesor ~ součástka provádějící instrukce (tedy funkce počítače)

mikroprocesor ~ procesor implementující funkce procesoru na jediném integrovaném obvodu

operační paměť ~ relativně rychlá paměť přímo přístupná procesoru, v níž jsou za běhu uchovávány programy

grafická karta ~ rozšiřující karta zpracovávající obrazové informace (vlastní procesor, paměť), zajišťující výstup na displej

vnější paměť ~ velkokapacitní úložiště dat

sběrnice ~ skupina vodičů zajišťující komunikaci (přenos dat, instrukcí) mezi zařízeními/komponentami

jednotky

13. Hardware

Informatika


14. Základy programování


Co je to program? Jaká je struktura programu v jazyce C#? Vysvětlete pojmy proměnná, datový typ, deklarace. Co je to pretty-print? K čemu slouží komentáře a jak je zapisujeme? Popište, jak lze strukturovat program. Jak řídíme tok programu? Co je to třída a její členy? Zmiňte základní principy OOP. Vyzdvihněte přínos a užití vývojářského prostředí. Co je to ladění? Co jsou to chyby při kompilaci a za běhu? Kde najdeme nápovědu a referenci?

program ~ data + algoritmy -- množina dat a posloupnost instrukcí, které s nimi má počítač provést

zdrojový kód

proměnná ~ místo v paměti přidělující určitému identifikátoru určitou hodnotu určitého datového typu

datový typ ~ typ hodnoty, pro který jsou definovány určité operace, alokuje si určité množství paměti

deklarace ~ upozornění překladače na existenci proměnné

definice ~ vytvoření proměnné

pretty-printing ~ formátování zdrojového kódu (odsazování apod.) pro lepší čitelnost

komentáře ~ text ve zdrojovém kódu, který je překladačem ignorován -- slouží uživateli/programátorovi k lepší orientaci v kódu (jedno-, víceřádkové, dokumentační)

program sekvencí příkazů, případné větvení/opakování podmíněnými přikazy, cykly

třída ~ (uživatelský) odkazový datový typ, šablona pro tvorbu objektů -- zapouzdřuje data a funkcionalitu objektu

vývojové prostředí ~ textový editor + debugger + nástroje pro refactoring + prostředí pro spouštění programu

ladění ~ hledání (možných) chyb v programu

chyby při překladu ~ (syntaktické) chyby odhalitelné překladačem -- kvůli nim obvykle program nejde přeložit -- špatné datové typy, překlepy atd.

chyby za běhu ~ (sémantické) chyby neodhalitelné překladačem -- kvůli nim dochází k pádům programu -- špatná práce s pamětí, nekonečné cykly apod.

dokumentace ~ v IDE, na webu MSDN a samozřejmě Google

14. Základy programování

Informatika


15. Dialogová okna


Co je to dialogové okno. Jaké druhy dialogových oken znáte? Jak se vytvářejí dialogová okna v aplikaci Windows Forms? Jak zachytíme způsob zavření okna? Popište ovládací prvky na dialogovém okně a klávesové rozhraní dialogového okna. Popište komunikaci menu a dialogových oken.

dialogové okno ~ okno s doplňujícím vstupem/výstupem aplikace

vytvoření okna: nový formulář, formulář.Show() na událost -- ShowDialog() pro modalitu

zachycení zavření okna: událost v okně → this.DialogResult = DialogResult.XXX; kontrola při volání formulář.Show() == DialogResult.XXX

ovládání klávesnicí: vlastnosti formuláře AcceptButton/CancelButton, TabIndex/TabStop, ampersand v Text pro akcelerátor

15. Dialogová okna

Informatika


16. Rekurze


Vysvětlete pojem rekurze a popište, jak pracuje. Kdy se typicky používá? Na co musíme být v souvislosti s užitím rekurze opatrní? Jaké typy rekurze znáte? Uveďte příklady s využitím rekurze. Jak lze v některých výpočtech odstranit rekurzi? Uveďte příklady.

rekurze ~ volání (funkce) sebou samou

přímá rekurze ~ funkce volá sebe samotnou

nepřímá rekurze ~ funkce volá jinou funkci, která volá opět funkci první atd.

konečnost rekurzivního volání nutno ošetřit podmínkami

často lze rekurzi nahradit cyklem → nižší paměťové nároky

využití: stromové datové struktury, QuickSort, posloupnosti,...

16. Rekurze

Informatika


17. Vstupní a výstupní zařízení


Popište různé druhy tiskáren, monitorů. Popište počítačovou myš, klávesnici, scanner. Jak probíhá digitalizace analogového signálu? Popište práci s digitálním fotoaparátem. Zmiňte Shannonův-Nyquistův-Kotělnikův teorém pro digitalizaci zvuku a obrazu.

vstupní zařízení

výstupní zařízení

digitální fotoaparát

Shannon-Nyquistův teorém

17. Vstupní a výstupní zařízení

Informatika


18. Třídící algoritmy


Popište třídění vkládáním (insertsort), třídění výběrem (selectsort), bublinkové třídění (bubblesort), třídění rozdělováním (quicksort). Demonstrujte třídění na zvolené číselné posloupnosti a nastiňte implementaci. Popište užití třídy ArrayList a její metody Sort.

řadící algoritmy ~ algoritmy sloužící k setřídění (setříditelné) množiny dat

insertion sort

selection sort

bubble sort

quicksort

ArrayList

public static void InsertionSort(int[] array)

{

for (int i = 0; i < array.Length-1; i++)

{

int j = i+1;

int value = array[j];

while (j > 0 && value < array[j-1])

{

array[j] = array[j-1];

j--;

}

array[j] = value;

}

}

public static void SelectionSort(int[] array)

{

for (int i = 0; i < array.Length; i++)

{

int min = i;

for (int j = i+1; j < array.Length; j++)

if (array[min] > array[j])

min = j;

int value = array[i];

array[i] = array[min];

array[min] = value;

}

}

public static void BubbleSort(int[] array)

{

for (int i = 0; i < array.Length-1; i++)

for (int j = i + 1; j < array.Length; j++)

if (array[i] > array[j])

{

int value = array[i];

array[i] = array[j];

array[j] = value;

}

}

public static void QuickSort(int[] array)

{

QuickSort(array, 0, array.Length-1);

}

public static void QuickSort(int[] array, int left, int right)

{

if (right - left >= 1)

{

int i = left;

int k = right;

int pivot = array[left];

int value;

while (i < k)

{

while (array[i] <= pivot && i <= right && i < k)

i++;

while (array[k] > pivot && k >= left && i <= k)

k--;

if (k > i)

{

value = array[i];

array[i] = array[k];

array[k] = value;

}

}

value = left;

left = k;

k = value;

QuickSort(array, left, k-1);

QuickSort(array, k+1, right);

}

else

return;

}

18. Třídící algoritmy

Informatika


19. Počítačové sítě


Definujte počítačovou síť. Popište sítě typu peer to peer. Popište sítě typu client to server. Vyjmenujte výhody a nevýhody jednotlivých typů sítí. Popište sítě LAN (rozlehlost, služby, příklad takové sítě). Popište sítě MAN (rozlehlost, služby, příklad takové sítě). Popište sítě WAN (rozlehlost, služby, příklad takové sítě).

síť ~ spojení aspoň dvou počítačů, aby mohly sdílet prostředky (hardwarové/softwarové) a vzájemně přímo komunikovat

p2p (peer-to-peer) ~ decentralizovaná síť, v níž komunikují přímo rovnocenní klienti

client-server ~ centralizovaná síť, v níž se klienti připojují k serveru

topologie

LAN (Local Area Network) ~ lokální síť umožňující sdílení softwarových/hardwarových prostředků, připojení k dalším sítím; spojení přes ethernet, WiFi

MAN (Metropolitan Area Network) ~ rozsáhlá síť spojující města; spojuje mnoho LAN vysokorychlostními technologiemi, např. optickými vlákny

WAN (Wide Area Network) ~ rozsáhlá síť propojující velké geografické oblasti; např. Internet

19. Počítačové sítě

Informatika


20. Datové typy


Vysvětlete pojmy hodnotový a odkazový datový typ. Vyjmenujte základní vestavěné hodnotové typy rámce .NET. Jakým způsobem můžeme vytvářet uživatelské hodnotové typy? Vyjmenujte základní vestavěné odkazové typy. Jak lze vytvářet uživatelské odkazové typy. Popište princip předávání argumentů hodnotových a odkazových typů. Popište rozdíl mezi třídou a strukturou.

hodnotový typ ~ proměnná vázána na svou hodnotu; hodnoty se ukládají na zásobník

odkazový typ ~ proměnná se odkazuje na hodnotu; hodnoty se ukládají na haldu

hodnotové typy

referenční typy

deklarace proměnné → přiřazení hodnoty/ukazatele (definice)

argument hodnotového typu -- předává se hodnota nezávisle na původní proměnné

argument odkazového typu -- předává se odkaz na původní hodnotu, s níž se dále pracuje

funkce

třída na haldě vs struktura na zásobníku (plus nepodporuje dědičnost)

20. Datové typy

Informatika


21. Prvky GUI


Co je to menu? Jakým způsobem vytváříme menu v aplikaci Windows Forms? Co je to panel nástrojů? Jak pracujeme s panelem nástrojů pomocí Windows Forms. Jaký význam má stavový řádek? Jak ho vytvoříme v aplikaci Windows Forms? Popište standardní (očekávané) prvky okna z hlediska uživatele.

menu (MenuStrip)

panel nástrojů (ToolStrip)

stavový řádek (StatusStrip)

vlastnosti Shortcut apod.

21. Prvky GUI

Informatika


22. JavaScript


K čemu se používá JavaScript? Jak zahrneme JavaScript do HTML dokumentu? Popište nástin objektového modelu Internet Exploreru. Jaký vztah má objekt document k HTML dokumentu?

JavaScript ~ programovací/skriptovací jazyk používaný v klientských aplikacích (webových prohlížečích)

navázání na HTML/XML

  1. lokální (formou hodnoty atributu (události) příslušného elementu)
  2. v hlavičce dokumentu
  3. v samostatném souboru

skriptování na straně klienta

document.getElementById('foo');

foo.insertAdjacentHTML("beforeEnd", string);

22. JavaScript

Informatika


23. Funkční členy


Vyjmenujte druhy funkčních členů. K čemu slouží? Zapište jejich syntaxi v jazyce C#. Jaké znáte modifikátory členů? Co je to přetěžování členů? Jak implementujeme zapouzdření a jak řešíme udržení objektu v konzistentním stavu v jazyce C#? Jakými způsoby předáváme funkčním členům argumenty? Jak lze ošetřit nesprávnou hodnotu argumentu.

funkční členy ~ funkce dané třídy

zapouzdření: členy veřejné (přístupné), soukromé (přístupné jen v rámci třidy), chráněné (přístupné jen v rámci třídy a jejich potomků)

člen statický (člen nevázaný na instance), člen instance (člen specifický pro každou instanci zvlášť)

přetěžování ~ definice funkcionality operátorů pro třídy, pro něž definovány nejsou

argumenty formální (v rámci funkce) a skutečné (předávané hodnoty/odkazy)

předání hodnotou/odkazem

ve vlastnostech kontrolovány hodnoty argumentů -- výjimky, implicitní hodnoty

23. Funkční členy

Informatika


24. WinForms


Popište vytvoření formuláře a jeho vlastnosti. Jak lze zachytit událost? Popište základní uživatelské události a jejich obsloužení. Popište přístup ke grafickému výstupu na formulář a tiskárně pomocí GDI+. Srovnejte se stavovým GDI. Popište užití časovače.

událost

System.Drawing

System.Drawing.Printing

24. WinForms

Informatika


25. Datové členy


Vyjmenujte druhy datových členů. K čemu slouží? Zapište jejich syntaxi v jazyce C#. Jaké znáte modifikátory členů? Jak implementujeme zapouzdření a jak řešíme udržení objektu v konzistentním stavu v jazyce C#? Vysvětlete rozdíl mezi statickými členy a členy instance. Vysvětlete pojmy delegát a událost.

datové členy ~ data specifická pro danou třídu

zapouzdření: členy veřejné (přístupné), soukromé (přístupné jen v rámci třidy), chráněné (přístupné jen v rámci třídy a jejich potomků)

člen statický (člen nevázaný na instance -- data globální), člen instance (člen specifický pro každou instanci zvlášť -- data lokální)

delegát ~ ukazatel na funkci dané signatury

událost ~ delegát, který si nese v parametrech odkaz na generátor a další argumenty; generátor události oznamuje spotřebiteli události, že má něco provést -- spotřebitel to může obsloužit

25. Datové členy

Informatika


26. Dynamické datové struktury


Co je to dynamické pole, zřetězený seznam, fronta, zásobník, binární vyhledávací strom? Popište jejich rozhraní. Popište implementace operací jednotlivých ADT. Uveďte, ve kterých případech je vhodné použít jednotlivé ADT.

dynamické pole ~ struktura obsahující pole prvků o fixní velikosti, jestliže je třeba překročit velikost výchozího pole, vytvoří se nové (dvojnásobné) pole, do nějž se obsah toho původního zkopíruje

zřetězený seznam ~ struktura držící si odkaz na první a poslední prvek pole

fronta

zásobník

binární vyhledávací strom

26. Dynamické datové struktury

Informatika


27. HTML


Co je to HTML? K čemu používáme HTML? Co je to URL? Popište základní strukturu HTML dokumentu a základní konstrukty HTML (nadpisy, odstavec, odkazy, obrázky, tabulky, seznamy, formuláře, klikací mapy apod.).

HTML (HyperText Markup Language) ~ značkovací jazyk sloužící k tvorbě webových stránek, prakticky nenese sémantické informace

historie

verze 2.0 až 4.01 založena na SGML, pak očekáván přechod na XHTML, ale vyvíjí se HTML 5

HTML 4.01

dokument = plain text

elementy definovány v DTD (Document Type Definition)

dokument → parser → výstupní zařízení (webový prohlížeč)

(ne)výhody

27. HTML

Informatika


28. Dědičnost a polymorfismus


Vysvětlete pojem dědičnost. Jaký má přínos? Nakreslete diagram tříd pro užití dědičnosti. Co je to vztah generalizace-specializace? Jak je to s vícenásobnou dědičností v jazyce C#? Co je to polymorfizmus? Jaký přináší význam do objektově orientovaného návrhu? Uveďte příklady. Co je to abstraktní třída a metoda? Co je to rozhraní?

dědičnost ~ schopnost odvozovat nové třídy od tříd existujících -- znovupoužití kódu

generalizace ~ předek je zobecněním/generalizací potomka

specializace ~ potomek je konkretizací/specializací předka

abstraktní třída ~ třída, jejíž instanci nelze vytvořit -- slouží jako obecná šablona pro dědící třídy

rozhraní ~ šablona určující, co vše musí implementace rozhraní implementovat -- v C# lze implementovat více rozhraní, ale vícenásobná dědičnost není povolena

polymorfismus (mnohotvarost)

28. Dědičnost a polymorfismus

Informatika


29. Podmíněný příkaz


Popište podmíněný příkaz, jeho význam a syntaxi v jazyce C#. Nakreslete diagram činností pro podmíněné příkazy. Jakými operátory lze tvořit podmínky. Lze takové operátory přetížit i pro uživatelské datové typy? Co je to ternární operátor? Popište, jak lze provést rozsáhlejší větvení dle určité stavové proměnné. Uveďte příklady užití uvedených příkazů.

podmíněný příkaz ~ příkaz umožňující větvení toku programu -- jestliže je splněna podmínka, provede se určitý blok příkazů

podmínka ~ výraz, který má pravdivostní hodnotu (obvykle s relačními operátory)

přepínač ~ příkaz větvící tok programu na základě hodnoty proměnné

ternární operátor ~ operátor skládající se z podmínky a dvou hodnot -- na základě vyhodnocení podmínky je hodnota výrazu první nebo druhou hodnotou

podmínka ? hodnota1 : hodnota2

29. Podmíněný příkaz

Informatika


30. Textové editory


Co je to textový editor? Formátování znaků, odstavců, oddílu, stránky, celého dokumentu. Výhody používání stylů. Vkládání objektů do dokumentu. Pokročilejší techniky – hromadná korespondence, problematika dlouhých dokumentů apod.

textový editor ~ program sloužící k editaci textu, zpravidla plain textu

textový procesor ~ program sloužící k editaci (textových) dokumentů, přičemž umožňuje formátování textu, vkládání různých objektů,... → jednoduché DTP ve WYSIWYG režimu

složitější struktura dokumentu → nutnost ukládání v komplikovanějším formátu (XML, binární,...)

v lepších případech možnost používání stylů (oproti "lokálnímu" formátování obecnost -- snazší správa vzhledu více/rozsáhlejších dokumentů)

objekty (obrázky, videa, zvuky, vzorce,...) mají odlišnou strukturu oproti dokumentu samotnému → jejich přibalení, nebo pouze odkazování v rámci systému souborů

TODO: proklikat si MS Word (hromadná korespondence!)

30. Textové editory

Informatika