4IT101 - Otázky k závěrečnému testu číslo 1 Popište rozdíly mezi instancí a třídou.
text
2 Může být třída objektem? Pokud ano, tak v jakém kontextu. 3 Popište rozdíly mezi instancí a odkazem na instanci. 4 Popište rozdíly mezi objektem a instancí. 5 Popište rozdíly mezi konstruktorem a metodou. 6 Popište rozdíly mezi datovým atributem a identifikátorem a identifikátorem odkazujícím na tento atribut. 7 Jaké jsou rozdíly mezi datovým atributem a lokální proměnnou. 8 Popište následující pojmy: výraz podmínka příkaz 9 Popište následující pojmy: příkaz sekvence příkazů blok příkazů 10 Co se označuje pojmem pozdní vazba (late binding)? 11 Lze přetypovat potomka na předka? Pokud ano, napište nějaký příklad. Pokud ne, vysvětlete proč. 12 Lze přetypovat předka na potomka? Pokud ano, napište nějaký příklad. Pokud ne, vysvětlete proč. 13 Proč je nebezpečné používat veřejné datové atributy? 14 Kde (v čem) se uchovává stav instance mezi jednotlivými voláními metod instance. 15 Existuje dědičnost mezi rozhraními? Pokud ano, zkuste popsat situaci, kdy by mělo smysl ji použít. 16 Stručně vysvětlete rozdíl mezi metodou instance a statickou metodou. 17 Co označuje v souvislostí s objektovou teorií pojem "posílání zpráv"?. Jak se realizuje v Javě? 18 Čím se liší konstruktor od ostatních metod? 19 Jak souvisí dědičnost se znovupoužitelností kódu? 20 Nakreslete diagram tříd, ve kterém je třída A potomkem třídy B a třída A současně implementuje rozhraní R. 21 Popište krátce, jak budete zjišťovat syntaktické chyby? Jak objevíte logické chyby? 22 Ukažte na příkladu, jak rozhraní umožňuje volbu implementace. 23 Stručně vysvětlete polymorfismus v souvislosti s přetěžováním metod. 24 Vysvětlete pojem zapouzdření z objektové teorie. 25 Vysvětlete pojem ukrývání implementace z objektové teorie. 26 Proč by metody neměly být příliš dlouhé (např. více než 30 řádek)? Proč by neměly být příliš složité (příliš mnoho podmínek)? 27 Proč se nemají používat krátké názvy proměnných (3 a méně znaků) či krátké názvy metod? Zkuste uvést příklady, kdy má smysl použít krátký název proměnné či metody.
4IT101 - otázky k závěrečnému testu
verze 2.0
Stránka 1 z 15
28 Popište rozdíly mezi příkazy
new Ucet(5, "Jarmila", 10);
a Ucet ucet = new Ucet(5, "Jarmila", 10); 29 Popište rozdíly mezi deklaracemi
Ucet a;
a Ucet a = new Ucet(5, "Jarmila", 10); 30 Popište chybu v následujícím kódu:
CtyrUhelnik r = (5, 10, 15, 20); 31 Popište chybu v následujícím kódu:
double x = Ucet(5, "Jarmila", 10).getStav(); 32 Popište chybu v následujících dvou řádcích kódu:
Ucet ucet; ucet.vloz(10000); 33 Přepiště následující výraz pomocí matematického zápisu:
obsah = 4 * Math.PI * Math.pow(r , 3) / 3; 34 Která z následujících tříd je neměnná (read only):
String java.util.Random java.util.ArrayList 35 Jednou z vlastností objektově orientovaných jazyků je posílání zpráv, které se v Javě obvykle realizuje přes volání metod. Kdy se v Javě kontroluje, zda příjemce typ poslané zprávy zná? 36 Které tři základní řídící struktury se v Javě rozlišují? 37 Napište aspoň tři varianty příkazu pro přičtení hodnoty 1 k proměnné x typu int. 38 Jaký počáteční obsah doplní překladač do následujících datových atributů?
private int cislo; private boolean noveCislo; private char operator; 39 K čemu se používá příkaz přiřazení? Jak se zapisuje v Javě? 40 Jak zakreslíte typ enum v diagramu tříd? 41 K čemu se používá metoda System.exit() ? 42 Lze v Javě dědit konstruktory mezi třídami? 43 Co to je Java virtual machine? 44 Co to je konzole? 45 Popište speciální význam escape znaku \ při psaní znakových řetězců v Javě. 46 Jaký je význam odkazu this. 47 Jaký význam má použití klíčového slova final v deklaraci proměnné. 48 Popište podobnost a rozdíly při kopírování pomocí přiřazovacího příkazu ( = ) primitivních a referenčních typů. 49 Popište rozdíl mezi operátorem == a metodou equals() při porovnávání referenčních typů.
4IT101 - otázky k závěrečnému testu
verze 2.0
Stránka 2 z 15
50 Napište jednoduchá pravidla pro výběr příkazu cyklu, tj. kdy použít for, kdy while a kdy do-while. 51 Co je to nekonečný cyklus? 52 Co je to vnořený cyklus? Napište příklad situace, kdy se vnořený cyklus typicky používá. 53 Co označuje pojem nepojmenovaný balíček (noname package)? 54 Popište aspoň dvě rozdílné situace, kdy se používá klíčové slovo super. 55 Popište aspoň dvě odlišné situace, kdy se používá klíčové slovo this. 56 Které modifikátory přístupu lze použít u datových atributů? 57 Které modifikátory přístupu lze použít u statických atributů (statických proměnných)? Které lze použít u statických atributů, které jsou též final? 58 Které modifikátory přístupu je možné použít u metod instancí? Lze všechny použít i u statických metod? 59 Které z následujících výroků jsou pravdivé o balíčcích (packages) v Javě: • V jednom balíčku může být více tříd stejného jména. • Balíčky slouží pro vytváření jmenných prostorů v Javě, tj. v různých balíčcích mohou být třídy stejného jména. • Balíčky se používají k seskupování tříd pro posílání zpráv – je možné poslat zprávu všem třídám v jednom balíčku. • Balíčky se používají k seskupování instancí – je možné poslat zprávu všem instancím z jednoho balíčku. 60 Které z následujících prvků mohou být součástí hlavičky metody: • deklarace lokálních proměnných, • typ návratové hodnoty, • modifikátory přístupu, • modifikátor final, • příkazy. 61 Vyberte pravdivé výroky o metodách (nemluvíme o konstruktorech), které nevracejí žádnou návratovou hodnotu: • taková metoda musí být veřejná, • taková metoda nesmí obsahovat příkaz return, • taková metoda musí obsahovat příkaz return, • návratový typ musí být specifikován slovem void, 62 Vyberte pravdivé výroky o formálních parametrech metody: • v deklaraci formálního parametru musí být vždy uveden typ, • v deklaraci formálního parametru může být uvedena defaultní hodnota (např. int hodnota = 4), • u formálního parametru metody mohou být uvedeny modifikátory přístupu, • formální parametr metody může být označen modifikátorem final. 63 Jaké modifikátory přístupu lze použít v deklaraci metod v rozhraní? Které lze použít u metod předepsaných rozhraním ve třídě, která implementuje rozhraní? 64 Napište koncovky následujících souborů (pokud na koncovce nezávisí, tak uveďte hodnotu libovolná): - soubor se zdrojovým textem programu v Javě, - soubor vytvořený překladačem při úspěšném překladu zdrojového programu v Javě - soubor se zdrojovým textem deklarace rozhraní v Javě, - soubor se zdrojovým textem výčtového typu (enum) v Javě. 65 Popište aspoň dvě situace, ve kterých se v Javě používají složené závorky. 66 Popište aspoň tři situace, ve kterých se v Javě používají kulaté závorky. 67 Popište dvě situace, ve kterých se v Javě používají hranaté závorky. 68 Zkuste vysvětlit rozdíl mezi skutečným a formálním parametrem metody. 69 Popište význam balíčku (package) v Javě? 70 Vysvětlete rozdíl mezi deklarací a inicializací datového atributu. 71 Může být statická proměnná deklarována uvnitř metody (tj. lze použít modifikátor static u lokálních proměnných)?
4IT101 - otázky k závěrečnému testu
verze 2.0
Stránka 3 z 15
72 Popište dvě situace, ve kterých se v Javě používá klíčové slovo new. 73 Kolik může mít třída konstruktorů? Jak se od sebe odliší? 74 Pokud zdrojovém kódu třídy neuvedu konstruktor, bude mít tato třída konstruktor? Pokud ano, uveďte co bude jeho obsahem? 75 Mohou se konstruktoryv Javě překrývat (overriding)? Pokud ne, tak napište důvod. 76 Mohou se konstruktory v Javě přetěžovat (overloading)? Pokud ne, tak napište důvod. 77 Záleží na pořadí klauzulí import? Pokud ano, napište proč. 78 K čemu se využívají literály u číselných primitivních datových typů? 79 Proč existují v Javě obalové třídy k primitivním datovým typům? 80 Jaký je význam modifikátorů static a final u pojmenovaných konstant? 81 K čemu se používají statické atributy (proměnné třídy)? 82 Je statický atribut třídy s modifikátorem private dostupný z instancí této třídy? Pokud ne, zdůvodněte. 83 Může být statický atribut třídy referečního typu, tj. může obsahovat odkaz na instanci nějaké třídy? Pokud ne, zdůvodněte. 84 Jaký význam má modifikátor final u parametru metody? 85 Jaký význam má modifikátor final u lokální proměnné (proměnné deklarované uvnitř metody)? 86 Popište jednotlivé části výrazu System.out.println("výsledky:") , tj. co je System, co je out, co je println, co je "výsledky:". 87 Vyberte přípustné deklarace metody main jako vstupního bodu aplikace. U nesprávných popište chybu.
public static void main (String [] args) public static void main (String [] parametry) public static void main () public static void main (String args)
88 Co označuje pojem escape znak u řetězců? Lze použít escape znaky i u typu znak? 89 Co označuje pojem regulární výraz? 90 Jaké jsou výhody tříd StringBuffer a StringBuilder proti používání třídy String? 91 Nechť třída Predek má pouze tyto dva konstruktory:
Predek(int cislo) Predek(String retezec) Může být v potomkovi implicitní konstruktor (konstruktor doplněný překladačem)? Pokud ne, zdůvodněte. 92 Lze z jednoho konstruktoru volat konstruktor předka (přes super) i jiný konstruktor stejné třídy (přes this)? Pokud ano, uveďte příklad.
93 Může mít některá Vaše třída v Javě konstruktor, ze kterého by se nevolal jiný konstruktor? Vysvětlete svůj názor. 94 Popište rozdíl významu modifikátoru protected od ostatních možností přístupu k prvkům. 95 Může nějaká třída implementovat rozhraní (tj. má ho v hlavičce) a současně nemít implementaci metod uvedených v rozhraní? Pokud ano, vysvětlete. 96 Může abstraktní třída implementovat rozhraní? Pokud ne, vysvětlete proč.
4IT101 - otázky k závěrečnému testu
verze 2.0
Stránka 4 z 15
97 Napište příklad přetypování referenčních typů. 98 Jaké jsou důvody pro používání dědičnosti? 99 Vysvětlete tvrzení, že dědičnost porušuje zapouzdření. 100 Prohlédněte si tento kód:
final int cislo; cislo = 5; Která z následujících variant je správná: • bude chyba při překladu, • vznikne chyba (výjimka) při běhu programu, • nevznikne žádná chyba, v proměnné cislo bude hodnota 0 • nevznikne žádná chyba, v proměnné cislo bude hodnota 5
101 Následující příkazy if jsou chybně. Popište u každého z nich chyby: • if castka > 0 then System.out.println("částka je :" + castka); • if (1 + x > Math.pow(x , Math.sqrt(2)) y = y + 2; • if (x = 1) y++; else if (x = 2) y = y + 2; • if (1 <= x <= 10) System.out.println(x); 102 V následujících dvou ukázkách jsou chyby u příkazu if, popište je.
int x = 5; if (x != null) { y = y + x; } a
jazyk = "angličtina"; if (country.equals("US")) if (stat.equals("Portoriko")) { jazyk = "španělština"; } else if (country.equals("CZ")) { jazyk = "čeština"; }
103 Popište rozdíl mezi
s = 0; x =1; y = 1; if (x > 0) { s++; } if (y > 0) { s++; }
a s = 0; x = 1; y = 1; if (x > 0) { s++; } else { if (y > 0) s++; }
104 Zkuste zjednodušit následující podmínky:
( ! ( x > 0 && y > 0) ) ( ! ( x != 0 || y != 0) )
4IT101 - otázky k závěrečnému testu
verze 2.0
Stránka 5 z 15
105 Co je chybně v následujícím kódu:
Ucet ucet; .... if (ucet.equals(null)) { ucet = new Ucet(1, "Jarmila", 10); }
106 Kolikrát se provede tělo jednotlivých následujících cyklů (předpokládejte, že uvnitř těla nejsou příkazy break, continue apod.):
for for for for for
(int (int (int (int (int
i i i i i
= = = = =
1; i <= 10; i++) ... 0; i < 10; i++) ... 10; i > 0; i--) ... 10; i>= 10; i++) ... 0; i <= 10; i = i + 2) ...
107 Přepište následující cyklus do cyklu while
int soucet = 0; for (int i = 1; i <= 10; i++) { soucet = soucet + i; } 108 Nechť třída Trida implementuje dvě rozhraní Rozhr1 a Rozhr2. V kterých z následujících řádků vznikne výjimka a proč:
Trida instance1 Rozhr1 rozhr1 = Rozhr2 rozhr2 = Trida instance2
= new Trida(); instance1; (Rozhr2) rozhr1; = (Trida) rozhr1;
109 Nechť identifikátor emanuel obsahuje odkaz na instanci třídy Motyl, která implementuje rozhraní ObyvatelLouky. Které z následujících podmínek vrátí true?
emanuel emanuel emanuel emanuel emanuel
instanceof instanceof instanceof instanceof instanceof
Motyl Serializable Cloneable ObyvatelLouky Object
110 Nechť třída BigMac je potomkem třídy Hamburger. Které z přiřazení v následující sekvenci příkazů jsou legální (tj. přeloží
se bez chyby): Hamburger x = new Hamburger(); BigMac y = new BigMac(); x = y; y = x; y = new Hamburger(); x = new BigMac();
111 Které z následujících výroků jsou pravdivé. U nepravdivých napište důvod. - Pokud se v Javě deklaruje proměnná, musí se vždy uvést typ. - V Javě jsou identifikátory number a Number identické. - Aritmetické operátory +, -, *, / a % mají stejnou prioritu. - Kulaté závorky v aritmetickém výrazu ovlivňují pořadí vyhodnocování jednotlivých částí výrazu. - Aritmetický výraz bez závorek se vyhodnocuje zleva doprava.
4IT101 - otázky k závěrečnému testu
verze 2.0
Stránka 6 z 15
112 Najděte a opravte chyby v následujících třech výrazech (příkazech):
if ( cislo < 7 ) ; System.out.println("cislo je menší než 7"); if ( cislo => 7 ) System.out.println("cislo je větší nebo rovno 7"); if ( cislo % 7 ) System.out.println("cislo je dělitelné 7");
113 Co je špatného na následujícím cyklu while:
suma=0; z=5; while ( z >= 0 ) { suma += z; } 114 Které z následujících výroků jsou pravdivé? U nepravdivých napište důvod. - V příkazu switch musí být vždy uvedena větev default - Příkaz break je povinný v poslední větvi case příkazu switch. - Výraz ( x > y && a < b ) je pravdivý, pokud je buď x > y pravdivé nebo pokud je a < b pravdivé. 115 Najděte a opravte chyby v následujících částech kódu: a) následující kód by měl vypsat čísla od 1 do 10:
n = 1; while ( n < 10 ) { System.out.println( n++ ); } b) následující kód by měl vypsat lichá čísla od 19 do 1:
for ( i = 19; i >= 1; i += 2 ) { System.out.println( i ); }
116 Napište statickou metodu fahrenheit, která bude převádět stupně dle stupnice Celsiovy na stupně dle Fahrenheitovy stupnice. Parametrem bude počet stupňu dle Celsiovy stupnice. Vzorec na převod stupňů je následující: F = 9.0 / 5.0 * C + 32 117 Uveďte aspoň dvě jazykové konstrukce Javy, které nelze uvést uvnitř metody. 118 Uveďte ukázku kódu, ve kterém se uplatní autoboxing. 119 Jaký je rozdíl mezi rozhraním Comparable a Comparator? 120 Jaké jsou nevýhody použití pojmenovaných konstant např. pro výjádření dnů v týdnu v porovnání s použitím typu enum? 121 Chceme vyjádřit seznam přípustných hodnot (např. dnů v týdnu). Proč je použití typu enum pro tento účel typově bezpečné na rozdíl od použití pojmenovaných konstant? 122 Popište význam metody toString() u třídy Object a u jejich potomků? 123 Popište význam metody equals() u třídy Object a u jejich potomků? 124 Jaký má význam metoda hashCode() u třídy Object a u jejich potomků? 125 Kdy se používá metoda finalize() třídy Object či jejich potomků? 126 Popište formátování řetězců v Javě 5.0 včetně ukázky kódu. 127 Někdy se uvádí, že rozhraní je v podstatě stejné jako abstraktní třída, která má pouze abstraktní metody. Vysvětlete, v čem se tyto dvě situace v Javě liší. 128 Vysvětlete, proč by se z konstruktoru neměly volat překrytelné metody. 4IT101 - otázky k závěrečnému testu
verze 2.0
Stránka 7 z 15
129 Může se statická metoda volat přes identifikátor odkazující na instanci? Pokud ano, napište výhody/nevýhody tohoto řešení. 130 Jaké mohou nastat problémy, pokud se současně nepřekryjí metody equals a hashCode? 131 Při vytváření instancí typu Boolean se doporučuje používat
Boolean.valueOf(podmínka) místo
new Boolean(podmínka) Zkuste zdůvodnit toto doporučení. 132 Proč by v příkazu switch měla být uvedena klauzule (větev) default? 133 Může nastat chyba překročení hranice pole u seznamů (instancí třídy List)? 134 Co označuje pojem index u seznamů a u polí? 135 V jaké situaci dojde k překročení hranice pole (tj. vznikne výjimka ArrayIndexOutOfBoundException). Napište část kódu, ve kterém se překročí hranice pole (tj. vznikne ArrayIndexOutOfBoundException). 136 Které z následujících výroků jsou pravdivé: • Všechny prvky pole jsou stejného typu a jeho podtypů • Indexem v poli musí být celé číslo. • Pole nemůže obsahovat řetězce jako prvky pole. • Pole nemůže používat řetězce jako indexy. • Dvourozměrné pole musí mít stejný počet řádek, jako má sloupců. 137 Které z následujících výroků o seznamech (implementace rozhraní List) jsou pravdivé: • Všechny prvky seznamu jsou stejného typu a jeho podtypů • Indexem pro přístup k prvku seznamu musí být celé číslo. • Seznam nemůže obsahovat řetězce jako prvky pole. • Seznam nemůže používat řetězce jako indexy. • Seznam může jako prvky obsahovat instance seznamů. 138 Které z následujících výroků o polích jsou pravdivé: • Pole může být návratovým typem metody. • Pomocí metody lze změnit velikost pole. • Pokud pole obsahuje instance nějaké třídy, musí být v každém políčku umístěn odkaz na jinou instanci. 139 U kterých datových struktur lze používat indexy? 140 Které datové struktury je možné procházet pomocí klasického cyklu for s řídící proměnnou, podmínkou a krokem? 141 Jaké jsou nevýhody typu enum proti množině (Set) či seznamu (List)? 142 V čem se liší mapy od kolekcí? 143 Co je chybně v následujícím kódu:
double[] data = new double[10]; for (int i = 1; i <= 10; i++) { data[i] = i * i; } 144 Může mapa obsahovat dva různé klíče odkazující na stejnou hodnotu (stejnou instanci)? Může mapa obsahovat dvě různé hodnoty ke stejnému klíči? 145 Popište rozdíly mezi kolekcemi a poli v Javě. 146 Popište rozdíly mezi seznamy (implementacemi rozhraní List) a množinami (implementacemi rozhraní Set). 147 Máte pole s pěti prvky. Jak můžete z pole vymazat prvek s indexem 2? 148 Popište rozdíl mezi tříděním kolekce pomocí Collections.sort() a použitím třídy TreeSet? Co mají shodného?
4IT101 - otázky k závěrečnému testu
verze 2.0
Stránka 8 z 15
149 Obsah trojúhelníka se dá vypočítat pomocí vzorce
S =
ab sin( γ ) 2
Přepište tento vzorec do programového kódu. 150 Nechť je proměnná x typu double. Jaký je rozdíl mezi výsledky následujících výrazů:
(int) x; (int) (x + 0.5); 151 Co bude uloženo v proměnných y a t po provedení následujícího kódu (kód lze přeložit, proměnné jsou odpovídajících typů)? Jakého typu musí být proměnné y a t?
x y s t
= = = =
2; x + 2; "2"; s + s;
152 Setřiďte primitivní datové typy pro čísla dle maximální velikosti ukládané hodnoty (od nejmenší k největší): byte, double, float, int, long, short. 153 Co vypíše následující kód:
System.out.prinln("*\n**\n***\n****\n*****"); 154 Napište příklad kódu, ve kterém dojde k přetečení celého čísla. 155 Popište rozdíly mezi následujícími výrazy:
2 2.0 '2' "2" "2.0"
156 Když zkopírujete odkaz na instanci třídy Ucet, budou oba identifikátory odkazovat na stejnou instanci. Přes oba identifikátory
můžete měnit obsah (datové atributy) této jedné instance (pomocí volání metod). Platí toto i pro instance třídy String? 157 V čem se liší přetypování instance (Ucet)x od přetypování celého čísla (int)cislo ? 158 Vznikne v následujícím kódu výjimka ArithmeticException z důvodu dělení nulou? Zdůvodněte.
int cislo; int vysledek = cislo / 0; 159 Vznikne v následujícím kódu výjimka ArithmeticException z důvodu dělení nulou? Zdůvodněte. double cislo; double vysledek = cislo / 0; 160 Vznikne v následujícím kódu výjimka ArithmeticException z důvodu dělení nulou? Zdůvodněte. int cislo; double vysledek = cislo / 0; 161 Uveďte příklad kódu, ve kterém se musí použít přetypování u primitivních datových typů. 162 Máte celé číslo (např. 23456). Napište kód, pomocí kterého získáte první číslici (tj. číslici 2), aniž byste převedli číslo na řetězec.
163 Máte celé číslo (např. 23456). Napište kód, pomocí kterého získáte poslední číslici (tj. číslici 6), aniž byste převedli číslo na řetězec.
4IT101 - otázky k závěrečnému testu
verze 2.0
Stránka 9 z 15
164 Nechť jsou deklarovány následující proměnné:
int m = 18; int n = 4; String s = "Hello"; String t = "World"; Jaký bude výsledek následujících výrazů: • s + t • s + n • s.substring(1, 3) • s.length() + t.length()
165 Máme matematický vzorec y=ax3 + 7. Které z následujících výrazů v Javě odpovídají tomuto vzorci:
y y y y y y
= = = = = =
a a ( ( a a
* * a a * *
x x * * ( x
* * x x x *
x x ) ) * (
* * * * x x
x ( x x * *
+ x * * x x
7; + 7); ( x + 7 ); x + 7 ; ) + 7; + 7 );
166 Nakreslete diagram tříd pro následující třídy a rozhraní:
public public public public public
class Gamma extends Delta implements Epsilon { interface Epsilon { } interface Beta { } class Alpha extends Gamma implements Beta { } class Delta { }
}
167 Jaká je chyba v následujícím kódu? Jak by jste ji opravili?
String text1 = "1. verze"; String text2 = "2. verze"; boolean vysledek = (text1 < text2); 168 Jak bude vypadat výpis z následujícího programu:
for (int i=0; i < 6; i++) { for (int j=0; j< i; j++) { System.out.print("*"); } System.out.println(); }
169 Nechť máme nadeklarovanou metodu:
private double vratCislo() { .... } Při kterých z následujících použití ve stejné třídě vznikne chyba a proč:
a) b) c) d)
int cislo = vratCislo(); double cislo = vratCislo(); vratCislo(); String cislo = vratCislo();
4IT101 - otázky k závěrečnému testu
verze 2.0
Stránka 10 z 15
170 Jak by se mohla zjednodušit následující metoda?
private boolean jeKonecHry() { if (aktMistnost.getJmeno().equals("kancelar")) { return true; } else { return false; } }
171 Co je špatné na porovnávání boolean proměnné s konstantami true či false - např. v následujícím kódu (proměnná prvniCislice je typu boolean):
if (prvniCislice == true) 172 Proč se nemusí v hlavičce metody uvádět, že v metodě může vzniknout výjimka NullPointerException ? 173 Co může být uvedeno jako parametr příkazu throw ? 174 Je instance výjimky vždycky stejného typu, jako typ uvedený v klauzuli catch, která výjimku odchytne? 175 Jaký je rozdíl mezi kontrolovanou a nekontrolovanou výjimkou? 176 Jaký je význam klauzule finnaly při odchytávání výjimek? 177 Jak mohou vznikat výjimky? Může je vyvolat programátor? 178 Co označuje pojem "předání výjimky výš"? 179 V kterých situacích by se měla používat výjimka IllegalArgumentException , kdy IllegalStateException ? 180 Proč by se neměl používat prázdný blok příkazu catch? Pokud někdy dle Vás má smysl prázdný blok catch, zkuste uvést příklad takové situace. 181 Popište pravidla pro používání malých a velkých písmen v identifikátorech v Javě. 182 Vysvětlete, proč by na jednom řádku měl být pouze jeden příkaz. Výhody ukažte na příkladu. 183 Vysvětlete, proč by se měl odsazovat kód v bloku. Výhody ukažte na příkladech. 184 Jaké jsou možnosti kontroly správnosti kódu? 185 Uveďte příklad umístění ladících výpisů do kódu. 186 Jaké má výhody debugování kódu pro hledání chyb? Jaké má nevýhody? 187 K čemu se používají při debugování kódu zarážky (breakpoints)? 188 Jaké jsou výhody jednotkového testování (např. pomocí JUnit) v porovnání s umisťováním ladících výpisů do kódu a debugováním kódu? 189 Co by mělo být uvedeno v dokumentačním komentáři ke třídě? Které značky pro javadoc se zde obvykle používají? 190 Co by mělo být uvedeno v dokumentačním komentáři k metodě? Které značky pro javadoc se zde obvykle používají? 191 Vysvětlete pojem informace. 192 Jaký je rozdílo mezí syntaxí a sémantikou informace? 193 Jaké jsou základní oblasti aplikované informatiky? 194 Definujte osobní informatiku. 195 Definujte podnikovou informatiku. 196 Co je to proces z pohledu podnikové informatiky?
4IT101 - otázky k závěrečnému testu
verze 2.0
Stránka 11 z 15
197 Uveďte příklady základních procesů na střední škole (na gymnáziu). 198 Jaké jsou podpůrné procesy na střední škole (na gymnáziu)? 199 Uveďte příklady řídících procesů na střední škole (na gymnáziu)? 200 Jaké jsou základní prvky von Neumanova návrhu počítače? 201 Co je to instrukční sada počítače? Jaké instrukční sady znáte? 202 Vysvětlete pojem sběrnice. Jaké typy sběrnic znáte? 203 Jaký je rozdíl mezi pamětmi ROM a RAM? 204 Co je to vnější paměť počítače? Uveďte několik příkladů. 205 Jaký je rozdíl mezi programem a algoritmem? 206 Jaký je rozdíl mezi centralizovaným a decentralizovaným zpracováním? 207 Jaký je rozdíl mezi klient-server modelem distribuovaného zpracování a peer-to-peer modelem? Uveďte příklady aplikací pro oba modely. 208 Jaký je rozdíl mezi základním programovým vybavením a aplikačními programy? Uveďte příklady aplikací z jednotlivých skupin. 209 Vysvětlete pojem operační systém. 210 Jaké jsou základní funkce operačního systému? 211 Uveďte příklady operačních systémů. 212 Vysvětlete pojem soubor. 213 K čemu se používá souborový systém? Uveďte příklady souborových systémů. 214 Vysvětlete pojem middleware. 215 Jaké jsou formy prezentace dat? 216 Jaký je rozdíl mezi položkou a záznamem při ukládání dat v systému? 217 Jaké jsou výhody tradičního (souborového) přístupu k datům? 218 Jaké jsou výhody databázového přístupu k datům? 219 Co je to kódování znaků? Uveďte několik standardů pro kódování českých znaků. 220 Co je to schéma databáze? 221 Co je součástí SQL (Structure Query Language)? 222 Co je to XML? 223 K čemu se používá DTD (Document Type Definition)? 224 K čemu se používá XSLT? 225 Co je to parsování XML dokumentů? 226 Jaký je rozdíl mezi HTML a XHTML? 227 Jaký je rozdíl mezi rastrovou (bitmapovou) a vektorovou grafikou? 228 Stručně charakterizujte grafické formáty GIF, JPEG a PNG. 229 Které programovací jazyky byly primárně navrženy pro oblast vědecko-technických výpočtů? 230 Které programovací jazyky se často používají pro programování operačních systémů (v širším slova smyslu)? 4IT101 - otázky k závěrečnému testu
verze 2.0
Stránka 12 z 15
231 Popište krátce některé jazyky, které slouží pro komunikaci s počítačem a nejsou programovací. 232 Popište krátce rozdíly v požadavcích na programovací jazyky pro vědecko-technické výpočty od požadavků na programovací jazyky pro obchodní aplikace. 233 Zkuste vysvětlit výrok „Programátor komunikuje s virtuálním strojem příslušného programovacího jazyka“. 234 Jaké jsou fáze překladu u klasicky překládaných programovacích jazyků? 235 Vysvětlete rozdíl mezi klasicky překládaným programovacím jazykem a interpretem. 236 Jaké jsou výhody a nevýhody interpretovaných programovacích jazyků? 237 Z hlediska překladu se Java označuje za hybridní programovací jazyk. Proč je právě hybridní? 238 Jak byste charakterizovali assembler. 239 Vyjmenujte čtyři základní rysy procedurálních programovacích jazyků. 240 Které programovací jazyky byste zařadili mezi procedurální programovací jazyky? 241 Napište příklady programovacích jazyků, které byly doplněny o objektové vlastnosti a příklady programovacích jazyků, které byly od začátku navrženy objektově. 242 Charakterizujte programovací jazyky 4. generace. 243 K čemu se používají skriptovací programovací jazyky? 244 Charakterizujte programovací jazyk Plankalkül. 245 Charakterizujte programovací jazyk Fortran. 246 Charakterizujte programovací jazyk LISP. 247 Charakterizujte programovací jazyk Algol. 248 Charakterizujte programovací jazyk Algol 68. Jak ovlivnil další programovací jazyky? 249 Charakterizujte programovací jazyk Cobol. 250 Charakterizujte programovací jazyk Basic či Visual Basic. 251 Charakterizujte programovací jazyk PL/I. 252 Charakterizujte programovací jazyk Pascal. 253 Charakterizujte programovací jazyk C. 254 Charakterizujte programovací jazyk Prolog. 255 Charakterizujte programovací jazyk Ada. 256 Charakterizujte programovací jazyk Smalltalk. 257 Charakterizujte programovací jazyk C++. 258 Charakterizujte programovací jazyk C#. 259 Charakterizujte programovací jazyk JavaScript. 260 Charakterizujte programovací jazyk PHP. 261 Zkuste krátce vysvětlit pojem proměnná. 262 Jaké jsou atributy proměnné. 263 Co se zvažuje při návrhu pravidel pro názvy proměnných v programovacím jazyce?
4IT101 - otázky k závěrečnému testu
verze 2.0
Stránka 13 z 15
264 Co je to jmenná konvence? Uveďte příklady jmenných konvencí. 265 Zkuste krátce charakterizovat maďarskou notaci. 266 Kdy se přiřazuje typ k proměnné? 267 Jaké jsou nevýhody dynamické vazby typu proměnné. 268 Jaký je rozdíl mezi zásobníkem a haldou z hlediska alokace paměti pro proměnné? 269 Co to je globální proměnná? Jaké má výhody/nevýhody? 270 Co to je typová kontrola? Kdy se provádí? 271 Co znamená, že je nějaký programovací jazyk je silně typový? Uveďte příklady silně typových jazyků. 272 Jaký je rozdíl mezi životností a rozsahem platnosti proměnné. 273 Jaké typy se zařazují mezi primitivní datové typy? 274 Charakterizujte dekadický číselný typ. 275 Jak se může alokovat paměť pro pole? 276 Uveďte nějaké informace o vícerozměrných polích v různých programovacích jazycích. 277 K čemu se používá datový typ pointer? Jaké operace jsou pro pointer k dispozici? 278 Jaký je rozdíl mezi typem pointer a referenčním typem? 279 Jaké vlastnosti musí splňovat abstraktní datový typ? 280 Patří typ záznam mezi uživatelem definované typy? Proč? 281 Patří typ záznam mezi abstraktní datové typy? Proč? 282 Jaké jsou výhody abstraktního datového typu? 283 Uveďte příklad parametrických abstraktních datových typů. 284 V čem se liší datový typ objekt od abstraktního datového typu? 285 Co víte o objektech (datovém typu objekt) ve Smalltalku? 286 Co víte o objektech (datovém typu objekt) v C++? 287 Popište rozdíl mezi používáním počítačového programu a programováním počítače. 288 Vypište nevýhody assembleru vůči programovacímu jazyku vyšší úrovně. 289 Co označuje pojem integrované vývojové prostředí 290 Jedním z kritérií pro hodnocení programovacích jazyků jsou náklady spojené s konkrétním programovacím jazykem. Co všechno se do těchto nákladů zahrnuje? 291 Vysvětlete (např. pomocí příkladů) vliv jednoduchosti návrhu programovacího jazyka na čitelnost programu? 292 Co označuje pojem ortogonalita v souvislosti s návrhem programovacího jazyka? 293 Jaká kritéria ovlivňují čitelnost kódu určitého programovacího jazyka? 294 Co ovlivňuje snadnost zápisu programu v jednotlivých programovacích jazycích? 295 Co se označuje výrazem expresivita programovacího jazyka? 296 Jaký je rozdíl mezi lexikální a syntaktickou analýzou? 297 Jaký je rozdíl mezi syntaxí a sémantikou programovacího jazyka. 4IT101 - otázky k závěrečnému testu
verze 2.0
Stránka 14 z 15
298 Jak se formálně popisuje syntaxe programovacího jazyka. 299 Co to je syntaktický strom programu. 300 K čemu se používá Backus-Naurova forma. 301 V čem se liší statická sémantika od dynamické sémantiky? 302 Jak lze popsat dynamickou sémantiku programovacího jazyka? 303 Jak vypadá výčtový typ v Javě? Jakým jiným způsobem se realizuje v některých jiných programovacích jazycích? 304 Co označuje pojem asociativní pole? Je k dispozici programátorům v Javě? Pokud ano, jak se v Javě označuje. 305 Co to je datový typ záznam (record)? Uveďte příklady programovacích jazyků, které používají datový typ záznam. 306 Co víte o datovém typu union (záznam proměnlivé délky)? Je k dispozici programátorům v Javě – pokud ano, tak pod jakým názvem.
307 Vysvětlete datovou abstrakci. 308 Jaký je rozdíl mezi infixovou a postfixovou notací? 309 Vysvětlete prefixovou (polskou) notaci. Kde se používá? 310 Popište krátce rozdíly mezi procedurálními a funkcionálními programovacími jazyky? 311 Vypište nejznámější funkcionální programovací jazyky včetě stručné charakteristiky. 312 Pro jaké aplikace se nejčastěji používají funkcionální programovací jazyky? 313 Stručně charakterizujte logické programovací jazyky? 314 Vysvětlete tvrzení, že Prolog patří mezi deklarativní jazyky. 315 Jaké jsou nejčastější oblasti použití Prologu. 316 Jaký je v Prologu rozdíl mezi faktem (predikátem) a pravidlem. 317 Vysvětlete význam následujících funkcí definovaných ve Scheme: (DEFINE (mocnina cislo) (* cislo cislo) ) (DEFINE (prepona strana1 strana2) (SQRT(+(mocnina strana1)(mocnina strana2))) )
4IT101 - otázky k závěrečnému testu
verze 2.0
Stránka 15 z 15