Testy z Javy verze 1.0 Stránka 1 z 13

Rozměr: px
Začít zobrazení ze stránky:

Download "Testy z Javy verze 1.0 Stránka 1 z 13"

Transkript

1 1 Popište rozdíl mezi instancí a třídou. 2 Může být třída objektem? Pokud ano, tak v jakém kontextu. 3 Popište rozdíl mezi instancí a odkazem na instanci. 4 Popište rozdíl mezi objektem a instancí. 5 Popište rozdíly mezi konstruktorem a metodou. 6 Popište rozdíl mezi instancí a identifikátorem. 7 Jaký je rozdíl 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 a 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 Popište rozdíly mezi new Ucet(5, "Jarmila", 10); a Ucet ucet = new Ucet(5, "Jarmila", 10); 27 Popište rozdíly mezi Ucet a; a Ucet a = new Ucet(5, "Jarmila", 10); Testy z Javy verze 1.0 Stránka 1 z 13

2 28 Najděte chybu v následujícím kódu: CtyrUhelnik r = (5, 10, 15, 20); 29 Najděte chybu v následujícím kódu: double x = Ucet(5, "Jarmila", 10).getStav(); 30 Najděte chybu v následujícím kódu: Ucet ucet; ucet.vloz(10000); 31 Přepiště následující výraz pomocí matematického zápisu: obsah = 4 * Math.PI * Math.pow(r, 3) / 3; 32 Která z následujících tříd je neměnná (read only): String java.util.random java.util.arraylist 33 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á? 34 Které tři základní řídící struktury se v Javě rozlišují? 35 Napište aspoň tři varianty příkazu pro přičtení 1 k celočíselné proměnné x. 36 K čemu se používá příkaz přiřazení? Jak se zapisuje v Javě? 37 Jak zakreslíte typ enum v diagramu tříd? 38 K čemu se používá metoda System.exit()? 39 Lze v Javě dědit konstruktory mezi třídami? 40 Co to je Java virtual machine? 41 Co to je konzole? 42 Popište speciální význam escape znaku \ v Javě při psaní znakových řetězců. 43 Jaký je význam odkazu this. 44 Jaký význam má použití klíčového slova final v deklaraci proměnné. 45 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ů. 46 Popište rozdíl mezi operátorem == a metodou equals() při porovnávání referenčních typů. 47 Napište jednoduchá pravidla pro použití jednotlivých příkazů cyklu v Javě. 48 Co je to nekonečný cyklus? 49 Co je to vnořený cyklus? Napište příklad situace, kdy se vnořený cyklus typicky používá. 50 Co označuje pojem nepojmenovaný balíček (noname package)? 51 Popište dvě rozdílné situace, kdy se používá klíčové slovo super. 52 Popište dvě odlišné situace, kdy se používá klíčové slovo this. 53 Které modifikátory přístupu lze použít u datových atributů? Testy z Javy verze 1.0 Stránka 2 z 13

3 54 Které modifikátory přístupu lze použít u statických proměnných? Které lze použít u statických proměnných, které jsou též final? 55 Které modifikátory přístupu je možné použít u metod instancí? Lze je použít i u statických metod? 56 Které z následujících výroků je 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 v jednom balíčku. 57 Které z následujících prvků mohou být součástí hlavičky metody: deklarace lokální proměnných, typ návratové hodnoty, modifikátory přístupu, modifikátor final, příkazy. 58 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, 59 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. 60 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í? 61 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ě. 62 Popište aspoň dvě situace, ve kterých se v Javě používají složené závorky. 63 Popište aspoň tři situace, ve kterých se v Javě používají kulaté závorky. 64 Popište dvě situace, ve kterých se v Javě používají hranaté závorky. 65 Zkuste vysvětlit rozdíl mezi skutečným a formálním parametrem metody. 66 Popište význam balíčku (package) v Javě? 67 Vysvětlete rozdíl mezi deklarací a inicializací datového atributu. 68 Jaký je rozdíl mezi lokální proměnnou metody a datovým atributem? 69 Může být statická proměnná deklarována uvnitř metody (podobně jako lokální proměnná)? 70 Popište aspoň dvě situace, ve kterých se v Javě používá klíčové slovo new. 71 Kolik může mít třída konstruktorů? Jak se od sebe odliší? 72 Pokud zdrojovém kódu třídy neuvedu konstruktor, bude mít tato třída konstruktor? Pokud ano, uveďte jaký? 73 Mohou se konstruktoryv Javě překrývat (overriding)? Pokud ne, tak napište důvod. 74 Mohou se konstruktory v Javě přetěžovat (overloading)? Pokud ne, tak napište důvod. 75 Záleží na pořadí klauzulí import? Pokud ano, napište proč. Testy z Javy verze 1.0 Stránka 3 z 13

4 76 K čemu se využívají literály u číselných primitivních datových typů? 77 Proč existují v Javě obalové třídy k primitivním datovým typům? 78 Jaký je význam modifikátorů static a final u pojmenovaných konstant? 79 K čemu se používají statické proměnné (proměnné třídy)? 80 Je statická proměnná třídy s modifikátorem private dostupná z instancí této třídy? Pokud ne, zdůvodněte. 81 Může být statická proměnná třídy referečního typu, tj. může obsahovat odkaz na instanci nějaké třídy? Pokud ne, zdůvodněte. 82 Jaký význam má modifikátor final u parametru metody? 83 Jaký význam má modifikátor final u lokální proměnné (proměnné deklarované uvnitř metody)? 84 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:". 85 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) 86 Co označuje pojem escape znak u řetězců? Lze použít escape znaky i u typu znak? 87 Co označuje pojem regulární výraz? 88 Jaké jsou výhody tříd StringBuffer a StringBuilder proti používání třídy String? 89 Nechť třída Predek má tyto dva konstruktory: Predek(int cislo) Predek(String retezec) Musí mít potomek této třídy uveden explicitně konstruktor? Pokud ano, vysvětlete důvod. 90 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. 91 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. 92 Popište rozdíl významu modifikátoru protected od ostatních možností přístupu k prvkům. 93 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. 94 Může abstraktní třída implementovat rozhraní? Pokud ne, vysvětlete proč. 95 Napište příklad přetypování referenčních typů. 96 Jaké jsou důvody pro používání dědičnosti? 97 Vysvětlete tvrzení, že dědičnost porušuje zapouzdření. Testy z Javy verze 1.0 Stránka 4 z 13

5 98 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 99 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); 100 V následujících dvou ukázkách jsou chyby v 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"; 101 Popište rozdíl mezi s = 0; if (x > 0) { s++; if (y > 0) { s++; a s = 0; if (x > 0) { s++; else { if (y > 0) s++; 102 Zkuste zjednodušit následující podmínky:! ( x > 0 && y > 0)! ( x!= 0 y!= 0) 103 Co je chybně v následujícím kódu: Ucet ucet;... if (ucet.equals(null)) { ucet = new Ucet(1, "Jarmila", 10); Testy z Javy verze 1.0 Stránka 5 z 13

6 104 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 (int i = 1; i <= 10; i++)... for (int i = 0; i < 10; i++)... for (int i = 10; i > 0; i--)... for (int i = 10; i>= 10; i++)... for (int i = 0; i <= 10; i = i + 2) Přepište následující cyklus do cyklu while int soucet = 0; for (int i = 1; i <= 10; i++) { soucet = soucet + i; 106 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 = new Trida(); Rozhr1 rozhr1 = instance1; Rozhr2 rozhr2 = (Rozhr2) rozhr1; Trida instance2 = (Trida) rozhr1; 107 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 instanceof Motyl emanuel instanceof Serializable emanuel instanceof Cloneable emanuel instanceof ObyvatelLouky emanuel instanceof Object 108 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(); 109 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. 110 Najděte a opravte chyby v následujících třech výrazech: 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"); 111 Co je špatného na následujícím cyklu while: while ( z >= 0 ) { suma += z; Testy z Javy verze 1.0 Stránka 6 z 13

7 112 Které z následujících výroků jsou pravdivé. U nepravdivých napište důvod. - Větev default musí být vždy uvedena v příkazu switch. - 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é. 113 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 ); 114 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 Uveďte aspoň dvě jazykové konstrukce Javy, které nelze uvést uvnitř metody. 116 Uveďte ukázku kódu, ve kterém se uplatní autoboxing. 117 Jaký je rozdíl mezi rozhraním Comparable a Comparator? 118 Jaké jsou nevýhody použití pojmenovaných konstant např. pro výjádření dnů v týdnu? 119 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? 120 Popište význam metody tostring() u třídy Object a u jejich potomků? 121 Popište význam metody equals() u třídy Object a u jejich potomků? 122 Jaký má význam metoda hashcode() u třídy Object a u jejich potomků? 123 Kdy se používá metoda finalize() třídy Object či jejich potomků? 124 Popište formátování řetězců v Javě 5.0 včetně ukázky kódu. 125 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ší. 126 Může nastat chyba překročení hranice pole u seznamů (instancí třídy List)? 127 Co označuje pojem index u seznamů a u polí? 128 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). 129 Které z následujících výroků jsou pravdivé: Všechny prvky pole jsou stejného typu. 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ů. 130 Které z následujících výroků o seznamech (implementace rozhraní List) jsou pravdivé: Všechny prvky seznamu jsou stejného typu. 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ů. Testy z Javy verze 1.0 Stránka 7 z 13

8 131 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. 132 U kterých datových struktur lze používat indexy? 133 Které datové struktury je možné procházet pomocí klasického cyklu for s řídící proměnnou, podmínkou a krokem? 134 Jaké jsou nevýhody typu enum proti množině (Set) či seznamu (List)? 135 V čem se liší mapy od kolekcí? 136 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; 137 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? 138 Popište rozdíly mezi kolekcemi a poli v Javě. 139 Popište rozdíly mezi seznamy (implementacemi rozhraní List) a množinami (implementacemi rozhraní Set). 140 Máte pole s pěti prvky. Jak můžete z pole vymazat prvek s indexem 2? 141 Popište rozdíl mezi tříděním kolekce pomocí Collections.sort() a použitím třídy TreeSet? Co mají shodného? 142 Obsah trojúhelníka se dá vypočítat pomocí vzorce ab sin(γ ) S = 2 Přepište tento vzorec do programového kódu. 143 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); 144 Popište, co bude výsledkem následujících dvou částí kódu (kód lze přeložit, proměnné jsou odpovídajících typů): x = 2; y = y + 2; a s = "2"; t = s + s; 145 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. 146 Co vypíše následující kód: System.out.prinln("*\n**\n***\n****\n*****"); 147 Napište příklad kódu, ve kterém dojde k přetečení celého čísla. 148 Popište rozdíly mezi následujícími výrazy: '2' "2" "2.0" Testy z Javy verze 1.0 Stránka 8 z 13

9 149 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? 150 V čem se liší přetypování instance (Ucet)x od přetypování celého čísla (int)cislo? 151 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; 152 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; 153 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; 154 Uveďte příklad kódu, ve kterém se musí použít přetypování u primitivních datových typů. 155 Máte celé číslo Napište kód, pomocí kterého získáte první číslici (tj. číslici 2), aniž byste převedli číslo na řetězec. 156 Máte celé číslo Napište kód, pomocí kterého získáte poslední číslici (tj. číslici 6), aniž byste převedli číslo na řetězec. 157 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() 158 Máme matematický vzorec y=ax Které z následujících výrazů v Javě odpovídají tomuto vzorci: y = a * x * x * x + 7; y = a * x * x * ( x + 7); y = ( a * x ) * x * ( x + 7 ); y = ( a * x ) * x * x + 7 ; y = a * ( x * x * x ) + 7; y = a * x * ( x * x + 7 ); 159 Proč se nemusí v hlavičce metody uvádět, že v metodě může vzniknout výjimka NullPointerException? 160 Pokud se v programu provede příkaz throw, jaký příkaz následuje? 161 Je instance výjimky vždycky stejného typu, jako typ uvedený v klauzuli catch, která výjimkou odchytne? 162 Jaký je rozdíl mezi kontrolovanou a nekontrolovanou výjimkou? 163 Jaký je význam klauzule finnaly při odchytávání výjimek? 164 Jak mohou vznikat výjimky? Může je vyvolat programátor? 165 Co označuje pojem "předání výjimky výš"? Testy z Javy verze 1.0 Stránka 9 z 13

10 166 Kdy by se měla používat výjimka IllegalArgumentException, kdy IllegalStateException? 167 Popište pravidla pro používání malých a velkých písmen v identifikátorech v Javě. 168 Vysvětlete, proč by na jednom řádku měl být pouze jeden příkaz a proč by se měl odsazovat kód v bloku. Výhody ukažte na příkladech. 169 Jaké jsou možnosti kontroly správnosti kódu? 170 Uveďte příklad umístění ladících výpisů do kódu. 171 Jaké má výhody debugování kódu pro hledání chyb? Jaké má nevýhody? 172 K čemu se používají při debugování kódu zarážky (breakpoints)? 173 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? 174 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í? 175 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í? 176 Které programovací jazyky byly primárně navrženy pro oblast vědecko-technických výpočtů? 177 Které programovací jazyky se často používají pro programování operačních systémů (v širším slova smyslu)? 178 Je datový atribut instance proměnnou? 179 Objekt (třída) je nejčastější příklad abstraktního datového typu. Existují i jiné příklady abstraktního datového typu? 180 Popište krátce některé jazyky, které slouží pro komunikaci s počítačem a nejsou programovací. 181 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. 182 Zkuste vysvětlit výrok Programátor komunikuje s virtuálním strojem příslušného programovacího jazyka. 183 Jaké jsou fáze překladu u klasicky překládaných programovacích jazyků? 184 Vysvětlete rozdíl mezi klasicky překládaným programovacím jazykem a interpretem. 185 Jaké jsou výhody a nevýhody interpretovaných programovacích jazyků? 186 Z hlediska překladu se Java označuje za hybridní programovací jazyk. Proč je právě hybridní? 187 Jak byste charakterizovali assembler. 188 Vyjmenujte čtyři základní rysy procedurálních programovacích jazyků. 189 Které programovací jazyky byste zařadili mezi procedurální programovací jazyky? 190 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ě. 191 Charakterizujte programovací jazyky 4. generace. 192 K čemu se používají skriptovací programovací jazyky? 193 Charakterizujte programovací jazyk Plankalkül. 194 Charakterizujte programovací jazyk Fortran. 195 Charakterizujte programovací jazyk LISP. 196 Charakterizujte programovací jazyk Algol. 197 Charakterizujte programovací jazyk Algol 68. Jak ovlivnil další programovací jazyky? Testy z Javy verze 1.0 Stránka 10 z 13

11 198 Charakterizujte programovací jazyk Cobol. 199 Charakterizujte programovací jazyk Basic či Visual Basic. 200 Charakterizujte programovací jazyk PL/I. 201 Charakterizujte programovací jazyk Pascal. 202 Charakterizujte programovací jazyk C. 203 Charakterizujte programovací jazyk Prolog. 204 Charakterizujte programovací jazyk Ada. 205 Charakterizujte programovací jazyk Smalltalk. 206 Charakterizujte programovací jazyk C Charakterizujte programovací jazyk C#. 208 Charakterizujte programovací jazyk JavaScript. 209 Charakterizujte programovací jazyk PHP. 210 Zkuste krátce vysvětlit pojem proměnná. 211 Jaké jsou atributy proměnné. 212 Co se zvažuje při návrhu pravidel pro názvy proměnných v programovacím jazyce? 213 Co je to jmenná konvence? Uveďte příklady jmenných konvencí. 214 Zkuste krátce charakterizovat maďarskou notaci. 215 Kdy se přiřazuje typ k proměnné? 216 Jaké jsou nevýhody dynamické vazby typu proměnné. 217 Jaký je rozdíl mezi zásobníkem a haldou z hlediska alokace paměti pro proměnné? 218 Co to je globální proměnná? Jaké má výhody/nevýhody? 219 Co to je typová kontrola? Kdy se provádí? 220 Co znamená, že je nějaký programovací jazyk je silně typový? Uveďte příklady silně typových jazyků. 221 Jaký je rozdíl mezi životností a rozsahem platnosti proměnné. 222 Jaké typy se zařazují mezi primitivní datové typy? 223 Charakterizujte dekadický číselný typ. 224 Jak se může alokovat paměť pro pole? 225 Uveďte nějaké informace o vícerozměrných polích v různých programovacích jazycích. 226 K čemu se používá datový typ pointer? Jaké operace jsou pro pointer k dispozici? 227 Jaký je rozdíl mezi typem pointer a referenčním typem? 228 Jaké vlastnosti musí splňovat abstraktní datový typ? 229 Patří typ záznam mezi uživatelem definované typy? Proč? 230 Patří typ záznam mezi abstraktní datové typy? Proč? 231 Jaké jsou výhody abstraktního datového typu? Testy z Javy verze 1.0 Stránka 11 z 13

12 232 Uveďte příklad parametrických abstraktních datových typů. 233 V čem se liší datový typ objekt od abstraktního datového typu? 234 Co víte o objektech (datovém typu objekt) ve Smalltalku? 235 Co víte o objektech (datovém typu objekt) v C++? 236 Popište rozdíl mezi používáním počítačového programu a programováním počítače. 237 Vypište nevýhody assembleru vůči programovacímu jazyku vyšší úrovně. 238 Co označuje pojem integrované vývojové prostředí 239 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? 240 Vysvětlete (např. pomocí příkladů) vliv jednoduchosti návrhu programovacího jazyka na čitelnost programu? 241 Co označuje pojem ortogonalita v souvislosti s návrhem programovacího jazyka? 242 Jaká kritéria ovlivňují čitelnost kódu určitého programovacího jazyka? 243 Co ovlivňuje snadnost zápisu programu v jednotlivých programovacích jazycích? 244 Co se označuje výrazem expresivita programovacího jazyka? 245 Jaký je rozdíl mezi lexikální a syntaktickou analýzou? 246 Jaký je rozdíl mezi syntaxí a sémantikou programovacího jazyka. 247 Jak se formálně popisuje syntaxe programovacího jazyka. 248 Co to je syntaktický strom programu. 249 K čemu se používá Backus-Naurova forma. 250 V čem se liší statická sémantika od dynamické sémantiky? 251 Jak lze popsat dynamickou sémantiku programovacího jazyka? 252 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? 253 Co označuje pojem asociativní pole? Je k dispozici programátorům v Javě? Pokud ano, jak se v Javě označuje. 254 Co to je datový typ záznam (record)? Uveďte příklady programovacích jazyků, které používají datový typ záznam. 255 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. 256 Vysvětlete datovou abstrakci. 257 Jaký je rozdíl mezi infixovou a postfixovou notací? 258 Vysvětlete prefixovou (polskou) notaci. Kde se používá? 259 Popište krátce rozdíly mezi procedurálními a funkcionálními programovacími jazyky? 260 Vypište nejznámější funkcionální programovací jazyky včetě stručné charakteristiky. 261 Pro jaké aplikace se nejčastěji používají funkcionální programovací jazyky? 262 Stručně charakterizujte logické programovací jazyky? 263 Vysvětlete tvrzení, že Prolog patří mezi deklarativní jazyky. 264 Jaké jsou nejčastější oblasti použití Prologu. Testy z Javy verze 1.0 Stránka 12 z 13

13 265 Jaký je v Prologu rozdíl mezi faktem (predikátem) a pravidlem. 266 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))) ) 267 Nakreslete diagram tříd pro následující třídy a rozhraní: public class Gamma extends Delta implements Epsilon { public interface Epsilon { public interface Beta { public class Alpha extends Gamma implements Beta { public class Delta { 268 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); 269 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(); 270 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) int cislo = vratcislo(); b) double cislo = vratcislo(); c) vratcislo(); d) String cislo = vratcislo(); Testy z Javy verze 1.0 Stránka 13 z 13

4IT101 - Otázky k závěrečnému testu

4IT101 - Otázky k závěrečnému testu 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.

Více

4IT101 otázky k závěrečnému testu verze pro zimní semestr 2007/2008

4IT101 otázky k závěrečnému testu verze pro zimní semestr 2007/2008 4IT101 otázky k závěrečnému testu verze pro zimní semestr 2007/2008 Které programovací jazyky byly primárně navrženy pro oblast vědecko-technických výpočtů? Které programovací jazyky se často používají

Více

Výčtový typ strana 67

Výčtový typ strana 67 Výčtový typ strana 67 8. Výčtový typ V této kapitole si ukážeme, jak implementovat v Javě statické seznamy konstant (hodnot). Příkladem mohou být dny v týdnu, měsíce v roce, planety obíhající kolem slunce

Více

Úvod do programovacích jazyků (Java)

Úvod do programovacích jazyků (Java) Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích

Více

Úvod do programovacích jazyků (Java)

Úvod do programovacích jazyků (Java) Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích

Více

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod. Základy programování (IZAPR) Přednáška 7 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 229, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky 7 Parametry metod, předávání

Více

typová konverze typová inference

typová konverze typová inference Seminář Java Programování v Javě II Radek Kočí Fakulta informačních technologií VUT Únor 2008 Radek Kočí Seminář Java Programování v Javě (2) 1/ 36 Téma přednášky Rozhraní: použití, dědičnost Hierarchie

Více

Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/04.0006

Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/04.0006 Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/04.0006 Lekce 1 Jazyk Java Tento projekt je spolufinancován Evropským sociálním fondem

Více

Předmluva k aktuálnímu vydání Úvod k prvnímu vydání z roku Typografické a syntaktické konvence... 20

Předmluva k aktuálnímu vydání Úvod k prvnímu vydání z roku Typografické a syntaktické konvence... 20 Obsah 5 Obsah Předmluva k aktuálnímu vydání 15 1 Úvod k prvnímu vydání z roku 2000 16 Typografické a syntaktické konvence................ 20 2 Základní pojmy 21 2.1 Trocha historie nikoho nezabije................

Více

Programové konvence, dokumentace a ladění. Programování II 2. přednáška Alena Buchalcevová

Programové konvence, dokumentace a ladění. Programování II 2. přednáška Alena Buchalcevová Programové konvence, dokumentace a ladění 2. přednáška Alena Buchalcevová Proč dodržovat programové konvence? velkou část životního cyklu softwaru tvoří údržba údržbu provádí většinou někdo jiný než autor

Více

Obsah. Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13

Obsah. Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13 Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13 KAPITOLA 1 Na úvod o Javě 15 Počítačový program 15 Vysokoúrovňový programovací

Více

Datové typy strana 29

Datové typy strana 29 Datové typy strana 29 3. Datové typy Jak již bylo uvedeno, Java je přísně typový jazyk, proto je vždy nutno uvést datový typ datového atributu, formálního parametru metody, návratové hodnoty metody nebo

Více

PB161 Programování v jazyce C++ Přednáška 7

PB161 Programování v jazyce C++ Přednáška 7 PB161 Programování v jazyce C++ Přednáška 7 Statické položky tříd Základy OOP Nikola Beneš 6. listopadu 2018 PB161 přednáška 7: static, základy OOP 6. listopadu 2018 1 / 21 Klíčové slovo static Znáte z

Více

PB161 Programování v jazyce C++ Přednáška 7

PB161 Programování v jazyce C++ Přednáška 7 PB161 Programování v jazyce C++ Přednáška 7 Statické položky tříd Základy OOP Nikola Beneš 6. listopadu 2018 PB161 přednáška 7: static, základy OOP 6. listopadu 2018 1 / 21 Klíčové slovo static Znáte z

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Struktura programu Vytvoření nové aplikace Struktura programu Základní syntaktické elementy První aplikace Verze pro akademický rok 2012/2013 1 Nová aplikace NetBeans Ve vývojovém

Více

Úvod do programování - Java. Cvičení č.4

Úvod do programování - Java. Cvičení č.4 Úvod do programování - Java Cvičení č.4 1 Sekvence (posloupnost) Sekvence je tvořena posloupností jednoho nebo více příkazů, které se provádějí v pevně daném pořadí. Příkaz se začne provádět až po ukončení

Více

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15 Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15 KAPITOLA 1 Úvod do programo vání v jazyce C++ 17 Základní pojmy 17 Proměnné a konstanty 18 Typy příkazů 18 IDE integrované vývojové

Více

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech 7 Formátovaný výstup, třídy, objekty, pole, chyby v programech Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost formátovanému výstupu,

Více

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Maturitní otázky z předmětu PROGRAMOVÁNÍ Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti

Více

PŘETĚŽOVÁNÍ OPERÁTORŮ

PŘETĚŽOVÁNÍ OPERÁTORŮ PŘETĚŽOVÁNÍ OPERÁTORŮ Jazyk C# podobně jako jazyk C++ umožňuje přetěžovat operátory, tj. rozšířit definice některých standardních operátorů na uživatelem definované typy (třídy a struktury). Stejně jako

Více

Definice třídy. úplná definice. public veřejná třída abstract nesmí být vytvářeny instance final nelze vytvářet potomky

Definice třídy. úplná definice. public veřejná třída abstract nesmí být vytvářeny instance final nelze vytvářet potomky JAVA Třídy Definice třídy úplná definice [public] [abstract] [final] class Jmeno [extends Predek] [impelements SeznamInterfacu] {... // telo tridy public veřejná třída abstract nesmí být vytvářeny instance

Více

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007 Úvod do programovacích jazyků (Java) Michal Krátký 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků

Více

1. Programování proti rozhraní

1. Programování proti rozhraní 1. Programování proti rozhraní Cíl látky Cílem tohoto bloku je seznámení se s jednou z nejdůležitější programátorskou technikou v objektově orientovaném programování. Tou technikou je využívaní rozhraní

Více

8 Třídy, objekty, metody, předávání argumentů metod

8 Třídy, objekty, metody, předávání argumentů metod 8 Třídy, objekty, metody, předávání argumentů metod Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost třídám a objektům, instančním

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Řídicí struktury jazyka Java Struktura programu Příkazy jazyka Blok příkazů Logické příkazy Ternární logický operátor Verze pro akademický rok 2012/2013 1 Struktura programu

Více

Řídicí struktury. alg3 1

Řídicí struktury. alg3 1 Řídicí struktury Řídicí struktura je programová konstrukce, která se skládá z dílčích příkazů a předepisuje pro ně způsob provedení Tři druhy řídicích struktur: posloupnost, předepisující postupné provedení

Více

Úvod Třídy Rozhraní Pole Konec. Programování v C# Hodnotové datové typy, řídící struktury. Petr Vaněček 1 / 39

Úvod Třídy Rozhraní Pole Konec. Programování v C# Hodnotové datové typy, řídící struktury. Petr Vaněček 1 / 39 Programování v C# Hodnotové datové typy, řídící struktury Petr Vaněček 1 / 39 Obsah přednášky Referenční datové typy datové položky metody přístupové metody accessory, indexery Rozhraní Pole 2 / 39 Třídy

Více

5 Přehled operátorů, příkazy, přetypování

5 Přehled operátorů, příkazy, přetypování 5 Přehled operátorů, příkazy, přetypování Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně budou uvedeny detaily týkající se operátorů. Doba nutná k nastudování

Více

Abstraktní datové typy: zásobník

Abstraktní datové typy: zásobník Abstraktní datové typy: zásobník doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Abstraktní datové typy omezené rozhraní

Více

Programování v Javě I. Únor 2009

Programování v Javě I. Únor 2009 Seminář Java Programování v Javě I Radek Kočí Fakulta informačních technologií VUT Únor 2009 Radek Kočí Seminář Java Programování v Javě (1) 1/ 44 Téma přednášky Datové typy Deklarace třídy Modifikátory

Více

Paměť počítače. alg2 1

Paměť počítače. alg2 1 Paměť počítače Výpočetní proces je posloupnost akcí nad daty uloženými v paměti počítače Data jsou v paměti reprezentována posloupnostmi bitů (bit = 0 nebo 1) Připomeňme: paměť je tvořena řadou 8-mi bitových

Více

Seminář Java IV p.1/38

Seminář Java IV p.1/38 Seminář Java IV Seminář Java IV p.1/38 Rekapitulace Deklarace tříd Proměnné, metody, konstruktory, modifikátory přístupu Datové typy primitivní, objektové, pole Dědičnost Řídící konstrukce Podmínky, cykly

Více

Zápis programu v jazyce C#

Zápis programu v jazyce C# Zápis programu v jazyce C# Základní syntaktická pravidla C# = case sensitive jazyk rozlišuje velikost písmen Tzv. bílé znaky (Enter, mezera, tab ) ve ZK překladač ignoruje každý příkaz končí ; oddělovač

Více

Programování v Javě I. Leden 2008

Programování v Javě I. Leden 2008 Seminář Java Programování v Javě I Radek Kočí Fakulta informačních technologií VUT Leden 2008 Radek Kočí Seminář Java Programování v Javě (1) 1/ 45 Téma přednášky Datové typy Deklarace třídy Modifikátory

Více

3. Třídy. Základní pojmy objektového programování. Třídy

3. Třídy. Základní pojmy objektového programování. Třídy 3. Třídy Základní pojmy objektového programování Jak už víme, je Java objektovým programovacím jazykem. V úvodu této kapitoly si objasníme základní pojmy objektové teorie. Objekt představuje souhrn dat

Více

Objektově orientované programování

Objektově orientované programování 10. října 2011 Pragmatické informace Volitelný předmět, zápočet: zápočtový program(s dokumentací), aktivní účast na cvičení(body v CodExu), praktický test, zkouška: zkoušková písemka na objektový návrh

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Výrazy Operátory Výrazy Verze pro akademický rok 2012/2013 1 Operace, operátory Unární jeden operand, operátor se zapisuje ve většině případů před operand, v některých případech

Více

Seminář Java II p.1/43

Seminář Java II p.1/43 Seminář Java II Seminář Java II p.1/43 Rekapitulace Java je case sensitive Zdrojový kód (soubor.java) obsahuje jednu veřejnou třídu Třídy jsou organizovány do balíků Hierarchie balíků odpovídá hierarchii

Více

9. Polymorfismus a rozhraní

9. Polymorfismus a rozhraní Polymorfismus a rozhraní strana 73 9. Polymorfismus a rozhraní Tato kapitola navazuje na základní informace o objektech v kapitole 2, zde se budeme zabývat přetěžováním metod, polymorfismem a rozhraními.

Více

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007 Úvod do programovacích jazyků (Java) Michal Krátký 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků

Více

Programovací jazyk Pascal

Programovací jazyk Pascal Programovací jazyk Pascal Syntaktická pravidla (syntaxe jazyka) přesná pravidla pro zápis příkazů Sémantická pravidla (sémantika jazyka) pravidla, která každému příkazu přiřadí přesný význam Všechny konstrukce

Více

20. Projekt Domácí mediotéka

20. Projekt Domácí mediotéka Projekt Domácí mediotéka strana 211 20. Projekt Domácí mediotéka 20.1. Základní popis, zadání úkolu V projektu Domácí mediotéka (Dome) se jednoduchým způsobem evidují CD a videa. Projekt je velmi jednoduchý

Více

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu: Čtvrtek 8 prosince Pascal - opakování základů Struktura programu: 1 hlavička obsahuje název programu, použité programové jednotky (knihovny), definice konstant, deklarace proměnných, všechny použité procedury

Více

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí) Programovací jazyky Programovací jazyky nižší assembler (jazyk symbolických instrukcí) vyšší imperativní (procedurální) Pascal, C/C++, Java, Basic, Python, php neimperativní (neprocedurální) Lisp, Prolog

Více

Definice třídy. úplná definice. public veřejná třída abstract nesmí být vytvářeny instance final nelze vytvářet potomky

Definice třídy. úplná definice. public veřejná třída abstract nesmí být vytvářeny instance final nelze vytvářet potomky JAVA Třídy Definice třídy úplná definice [public] [abstract] [final] class Jmeno [extends Predek] [impelements SeznamInterfacu] {... // telo tridy public veřejná třída abstract nesmí být vytvářeny instance

Více

Teoretické minimum z PJV

Teoretické minimum z PJV Teoretické minimum z PJV Pozn.: následující text popisuje vlastnosti jazyka Java zjednodušeně pouze pro potřeby výuky. Třída Zavádí se v programu deklarací třídy což je část programu od klíčových slov

Více

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007 Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Typy Základní (primitivní) datové typy Deklarace Verze pro akademický rok 2012/2013 1 Typy v jazyce Java Základní datové typy (primitivní datové typy) Celočíselné byte, short,

Více

TŘÍDY POKRAČOVÁNÍ. Události pokračování. Příklad. public delegate void ZmenaSouradnicEventHandler (object sender, EventArgs e);

TŘÍDY POKRAČOVÁNÍ. Události pokračování. Příklad. public delegate void ZmenaSouradnicEventHandler (object sender, EventArgs e); TŘÍDY POKRAČOVÁNÍ Události pokračování public delegate void ZmenaSouradnicEventHandler (object sender, EventArgs e); class Bod private int x; private int y; public event ZmenaSouradnicEventHandler ZmenaSouradnic;

Více

4. ZÁKLADNÍ POJMY Z OBJEKTOVĚ ORIENTOVANÉHO PROGRAMOVÁNÍ

4. ZÁKLADNÍ POJMY Z OBJEKTOVĚ ORIENTOVANÉHO PROGRAMOVÁNÍ 4. ZÁKLADNÍ POJMY Z OBJEKTOVĚ ORIENTOVANÉHO PROGRAMOVÁNÍ OBJEKT Program v Javě je staticky strukturován na třídy, jejichž instance (objekty) za běhu dynamicky programu vznikají a zanikají. Objekt je nejprve

Více

Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost rozhraním a výjimkám.

Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost rozhraním a výjimkám. 13 Rozhraní, výjimky Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost rozhraním a výjimkám. Doba nutná k nastudování 2 2,5 hodiny

Více

6. Příkazy a řídící struktury v Javě

6. Příkazy a řídící struktury v Javě 6. Příkazy a řídící struktury v Javě Příkazy v Javě Příkazy v Javě Řídicí příkazy (větvení, cykly) Přiřazovací příkaz = Řízení toku programu (větvení, cykly) Volání metody Návrat z metody - příkaz return

Více

11. Dědičnost. Dědičnost strana 103

11. Dědičnost. Dědičnost strana 103 Dědičnost strana 103 11. Dědičnost V této kapitole si vysvětlíme jeden ze základních pojmů objektově orientovaného programování dědičnost (inheritance). S ní souvisejí i následující témata: předek a potomek

Více

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI EVROPSKÝ SOCIÁLNÍ FOND Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI Úvod do PHP PHP Personal Home Page Hypertext Preprocessor jazyk na tvorbu dokumentů přípona: *.php skript je součást HTML stránky!

Více

Dynamicky vázané metody. Pozdní vazba, virtuální metody

Dynamicky vázané metody. Pozdní vazba, virtuální metody Dynamicky vázané metody Pozdní vazba, virtuální metody Motivace... class TBod protected: float x,y; public: int vrat_pocet_bodu() return 1; ; od třídy TBod odvodíme: class TUsecka: public TBod protected:

Více

Generické programování

Generické programování Generické programování Od C# verze 2.0 = vytváření kódu s obecným datovým typem Příklad generická metoda, zamění dva parametry: static void Swap(ref T p1, ref T p2) T temp; temp = p1; p1 = p2; p2 =

Více

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007 Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků

Více

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007 Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků

Více

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007 Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků

Více

Windows je registrovaná obchodní známka firmy Microsoft v USA a v ostatních zemích.

Windows je registrovaná obchodní známka firmy Microsoft v USA a v ostatních zemích. Sun, Sun Microsystems, Java a všechny obchodní známky a loga obsahující Sun nebo Java jsou ochrannými známkami nebo registrovanými ochrannými známkami firmy Sun Microsystems, Inc. v USA a v ostatních zemích.

Více

3. přednáška. Obsah: Řídící struktury sekvence, if-else, switch, for, while, do-while. Zpracování posloupnosti

3. přednáška. Obsah: Řídící struktury sekvence, if-else, switch, for, while, do-while. Zpracování posloupnosti Obsah: Řídící struktury sekvence, if-else, switch, for, while, do-while. Zpracování posloupnosti 3. přednáška nalezení největšího prvku, druhého nejvyššího prvku, algoritmus shozeného praporku. Algoritmizace

Více

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu. Informatika 10. 9. 2013 Jméno a příjmení Rodné číslo 1) Napište algoritmus pro rychlé třídění (quicksort). 2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus

Více

11.5.2012. Obsah přednášky 9. Skrývání informací. Skrývání informací. Zapouzdření. Skrývání informací. Základy programování (IZAPR, IZKPR) Přednáška 9

11.5.2012. Obsah přednášky 9. Skrývání informací. Skrývání informací. Zapouzdření. Skrývání informací. Základy programování (IZAPR, IZKPR) Přednáška 9 Obsah přednášky 9 Základy programování (IZAPR, IZKPR) Přednáška 9 Základy dědičnosti, přístupová práva Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 03 022, Náměstí Čs. legií

Více

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky Vyučovací hodina 1vyučovací hodina: Opakování z minulé hodiny Nová látka Procvičení nové látky Shrnutí 5 min 20 min 15 min 5 min 2vyučovací hodiny: Opakování z minulé hodiny Nová látka Procvičení nové

Více

Základy objektové orientace I. Únor 2010

Základy objektové orientace I. Únor 2010 Seminář Java Základy objektové orientace I Radek Kočí Fakulta informačních technologií VUT Únor 2010 Radek Kočí Seminář Java Základy OO (1) 1/ 20 Téma přednášky Charakteristika objektově orientovaných

Více

Ukazka knihy z internetoveho knihkupectvi www.kosmas.cz

Ukazka knihy z internetoveho knihkupectvi www.kosmas.cz Ukazka knihy z internetoveho knihkupectvi www.kosmas.cz Upozornění pro čtenáře a uživatele této knihy Všechna práva vyhrazena. Žádná část této tištěné či elektronické knihy nesmí být reprodukována a šířena

Více

7. Datové typy v Javě

7. Datové typy v Javě 7. Datové typy v Javě Primitivní vs. objektové typy Kategorie primitivních typů: integrální, boolean, čísla s pohyblivou řádovou čárkou Pole: deklarace, vytvoření, naplnění, přístup k prvkům, rozsah indexů

Více

17. Projekt Trojúhelníky

17. Projekt Trojúhelníky Projekt Trojúhelníky strana 165 17. Projekt Trojúhelníky 17.1. Základní popis, zadání úkolu Pracujeme na projektu Trojúhelníky, který je ke stažení na java.vse.cz. Aplikace je napsána s textovým uživatelským

Více

Programování v C++ 3, 3. cvičení

Programování v C++ 3, 3. cvičení Programování v C++ 3, 3. cvičení úvod do objektově orientovaného programování 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled Dokončení spojového

Více

KTE / ZPE Informační technologie

KTE / ZPE Informační technologie 7 KTE / ZPE Informační technologie Ing. Petr Kropík, Ph.D. email: pkropik@kte.zcu.cz tel.: +420 377 63 4639, +420 377 63 4606 (odd. informatiky) Katedra teoretické elektrotechniky FEL ZČU Plzeň - ternární

Více

Profilová část maturitní zkoušky 2017/2018

Profilová část maturitní zkoušky 2017/2018 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2017/2018 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA

Více

7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd

7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd 7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd Algoritmizace (Y36ALG), Šumperk - 7. přednáška 1 Třída jako zdroj funkcionality Třída v jazyku Java je programová jednotka tvořená

Více

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu } 5. Operátor čárka, - slouží k jistému určení pořadí vykonání dvou příkazů - oddělím-li čárkou dva příkazy, je jisté, že ten první bude vykonán dříve než příkaz druhý. Např.: i = 5; j = 8; - po překladu

Více

KTE / ZPE Informační technologie

KTE / ZPE Informační technologie 4 KTE / ZPE Informační technologie Ing. Petr Kropík, Ph.D. email: pkropik@kte.zcu.cz tel.: +420 377 63 4639, +420 377 63 4606 (odd. informatiky) Katedra teoretické elektrotechniky FEL ZČU Plzeň Největší

Více

Pokud zadání nerozumíte nebo se vám zdá nejednoznačné, zeptejte se. Pište čitelně, nečitelná řešení nebudeme uznávat.

Pokud zadání nerozumíte nebo se vám zdá nejednoznačné, zeptejte se. Pište čitelně, nečitelná řešení nebudeme uznávat. Pokud zadání nerozumíte nebo se vám zdá nejednoznačné, zeptejte se. Pište čitelně, nečitelná řešení nebudeme uznávat. 1. Odkrokujte následující program a s použitím notace z přednášky popište stav paměti

Více

IB111 Programování a algoritmizace. Objektově orientované programování (OOP)

IB111 Programování a algoritmizace. Objektově orientované programování (OOP) IB111 Programování a algoritmizace Objektově orientované programování (OOP) OP a OOP Objekt Kombinuje data a funkce a poskytuje určité rozhraní. OP = objektové programování Vše musí být objekty Např. Smalltalk,

Více

Z. Kotala, P. Toman: Java ( Obsah )

Z. Kotala, P. Toman: Java ( Obsah ) Z. Kotala, P. Toman: Java ( Obsah ) 13. Výjimky Výjimka (exception) je definována jako událost, která nastane během provádění programu a která naruší normální běh instrukcí. Výjimka je vyvolána například

Více

PREPROCESOR POKRAČOVÁNÍ

PREPROCESOR POKRAČOVÁNÍ PREPROCESOR POKRAČOVÁNÍ Chybová hlášení V C# podobně jako v C++ existuje direktiva #error, která způsobí vypsání chybového hlášení překladačem a zastavení překladu. jazyk C# navíc nabízí direktivu #warning,

Více

Objekty strana 11. Abstrakce je základní objektovou vlastností. Skutečnost, kterou chceme do programu promítnout,

Objekty strana 11. Abstrakce je základní objektovou vlastností. Skutečnost, kterou chceme do programu promítnout, Objekty strana 11 2. Objekty Java je objektově orientovaný programovací jazyk přenositelný na různé platformy. Pracuje tedy s objekty. Co to vlastně jsou objekty? Jedná se o abstrakci z reality, každý

Více

1. Téma 03 - Rozhodování

1. Téma 03 - Rozhodování 1. Téma 03 - Rozhodování Cíl látky Seznámit se a prakticky si vyzkoušet zápis rozhodování v jazyce Java 1.1. Úvod Jednou z nejčastěji používanou konstrukcí při programování je rozhodování. Právě této problematice

Více

Regulární výrazy. Vzory

Regulární výrazy. Vzory Regulární výrazy Regulární výrazy jsou určeny pro práci s textovými řetězci, jsou součástí J2SDK až od verze 1.4, v předchozích verzích je potřeba použít některou z externích knihoven, např. knihovnu ORO

Více

Programovací jazyk Java

Programovací jazyk Java 1 z 8 Programovací jazyk Java Enumerace (výčty) Složitější definice výčtového typu Konstanty anonymních typů Výčtový typ a datové struktury Java packaging JAR archivy CLASSPATH Apache Ant 10. přednáška

Více

11 Diagram tříd, asociace, dědičnost, abstraktní třídy

11 Diagram tříd, asociace, dědičnost, abstraktní třídy 11 Diagram tříd, asociace, dědičnost, abstraktní třídy Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost diagramům tříd, asociaci,

Více

Java Výjimky Java, zimní semestr

Java Výjimky Java, zimní semestr Java Výjimky 1 Výjimky (exceptions) hlášení a ošetření chyb výjimka signalizuje nějaký chybový stav výjimka = instance třídy java.lang.throwable dvě podtřídy java.lang.error a java.lang.exception konkrétní

Více

4.4.2012. Obsah přednášky. Příkaz for neúplný. Příkaz for příklady. Cyklus for each (enhanced for loop) Příkaz for příklady

4.4.2012. Obsah přednášky. Příkaz for neúplný. Příkaz for příklady. Cyklus for each (enhanced for loop) Příkaz for příklady Základy programování (IZAPR, IZKPR) Přednáška 5 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 03 022, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky Příkazy cyklu -

Více

PB161 Programování v jazyce C++ Přednáška 9

PB161 Programování v jazyce C++ Přednáška 9 PB161 Programování v jazyce C++ Přednáška 9 Právo friend Přetěžování operátorů Nikola Beneš 16. listopadu 2015 PB161 přednáška 9: friend, přetěžování operátorů 16. listopadu 2015 1 / 30 Reklama PB173 Tematicky

Více

Jazyk C# a platforma.net

Jazyk C# a platforma.net Jazyk C# a platforma.net Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Syntaxe jazyka C# - 1. část BI-DNP Evropský sociální fond

Více

Jazyk C++ 1. Blok 3 Objektové typy jazyka C++ Třída. Studijní cíl. Doba nutná k nastudování. Průvodce studiem

Jazyk C++ 1. Blok 3 Objektové typy jazyka C++ Třída. Studijní cíl. Doba nutná k nastudování. Průvodce studiem Jazyk C++ 1 Blok 3 Objektové typy jazyka C++ Studijní cíl Ve třetím bloku bude představen a rozebrán nejdůležitější objektový typ jazyka C++ a to sice třída. Po absolvování bloku bude student schopen navrhovat

Více

24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1 24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE AUTOR DOKUMENTU: MGR. MARTINA SUKOVÁ DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 UČIVO: STUDIJNÍ OBOR: PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) INFORMAČNÍ TECHNOLOGIE

Více

3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda

3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda 1. Lze vždy z tzv. instanční třídy vytvořit objekt? 2. Co je nejčastější příčinou vzniku chyb? A. Specifikace B. Testování C. Návrh D. Analýza E. Kódování 3. Je defenzivní programování technikou skrývání

Více

Řídicí příkazy KAPITOLA 3. Vstup znaků z klávesnice

Řídicí příkazy KAPITOLA 3. Vstup znaků z klávesnice Řídicí příkazy V této kapitole se seznámíte s příkazy, které řídí postup provádění programu Příkazy řízení programu se řadí do třech kategorií: příkazy výběru, kam patří příkazy if a switch, příkazy iterace,

Více

Proměnné a datové typy

Proměnné a datové typy Proměnné a datové typy KAPITOLA 2 V této kapitole: Primitivní datové typy Proměnné Opakování Mezi základní dovednosti každého programátora bezesporu patří dobrá znalost datových typů. Ta vám umožní efektivní

Více

Vyřešené teoretické otázky do OOP ( )

Vyřešené teoretické otázky do OOP ( ) Vyřešené teoretické otázky do OOP (16. 1. 2013) 1) Vyjmenujte v historickém pořadí hlavní programovací paradigmata a stručně charakterizujte každé paradigma. a) Naivní chaotičnost, špatná syntaxe a sémantika

Více

1. ÚVOD... 3 2. ZÁKLADY JAZYKA...

1. ÚVOD... 3 2. ZÁKLADY JAZYKA... Obsah 1. ÚVOD... 3 2. ZÁKLADY JAZYKA... 4 PROMĚNNÉ... 4 PRIMITIVNÍ DATOVÉ TYPY... 5 Deklarace proměnné promitivního typu...5 Konstanty... 6 Přetypování... 7 Přetečení... 7 VÝRAZY A OPERÁTORY... 8 Aritmetické

Více

O autorovi O odborném korektorovi Úvod 17 Vývoj jazyka Java Java SE 8 Struktura této knihy Předchozí zkušenosti s programováním nejsou potřebné

O autorovi O odborném korektorovi Úvod 17 Vývoj jazyka Java Java SE 8 Struktura této knihy Předchozí zkušenosti s programováním nejsou potřebné O autorovi 15 O odborném korektorovi 15 Úvod 17 Vývoj jazyka Java 17 Java SE 8 19 Struktura této knihy 20 Klíčové znalosti a pojmy 20 Testové otázky 20 Odpovídá expert 20 Cvičení 20 Předchozí zkušenosti

Více

NPRG031 Programování II --- 2/2 Z, Zk

NPRG031 Programování II --- 2/2 Z, Zk NPRG031 Programování II --- 2/2 Z, Zk paralelka Y St 14:00-15:30 v S3 Pavel Töpfer Kabinet software a výuky informatiky MFF UK MFF Malostranské nám., 4. patro, pracovna 404 pavel.topfer@mff.cuni.cz http://ksvi.mff.cuni.cz/~topfer

Více

Programování v C++ 2, 4. cvičení

Programování v C++ 2, 4. cvičení Programování v C++ 2, 4. cvičení statické atributy a metody, konstruktory 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled Přístupová práva

Více

Základy jazyka C# Obsah přednášky. Architektura.NET Historie Vlastnosti jazyka C# Datové typy Příkazy Prostory jmen Třídy, rozhraní

Základy jazyka C# Obsah přednášky. Architektura.NET Historie Vlastnosti jazyka C# Datové typy Příkazy Prostory jmen Třídy, rozhraní Základy jazyka C# doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah přednášky Architektura.NET Historie Vlastnosti

Více

Funkcionální programování. Kristýna Kaslová

Funkcionální programování. Kristýna Kaslová Funkcionální programování Kristýna Kaslová Historie Alonzo Church (30. léta) Netypovaný lambda kalkul Základ prvních funkcionálních jazyků Jeho konstrukce i v mnoha současných programovacích jazycích (Python)

Více

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7 Pascal Katedra aplikované kybernetiky Ing. Miroslav Vavroušek Verze 7 Proměnné Proměnná uchovává nějakou informaci potřebnou pro práci programu. Má ve svém oboru platnosti unikátní jméno. (Připadne, musí

Více