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
|
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
|
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
š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ů
|
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
|
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í
|
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
|
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
|
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
|
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
|
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ů)
|
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)
|
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
|
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
|
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
|
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
|
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,...
|
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
|
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;
}
|
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
|
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)
|
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.
|
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
skriptování na straně klienta
document.getElementById('foo');
foo.insertAdjacentHTML("beforeEnd", string);
|
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
|
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
|
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
|
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
|
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
|
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)
|
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
|
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!)
|