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

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

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

Transkript

1 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í pro programování operačních systémů (v širším slova smyslu)? Popište krátce některé jazyky, které slouží pro komunikaci s počítačem a nejsou programovací. 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. Vysvětlete výrok Programátor komunikuje s virtuálním strojem příslušného programovacího jazyka. Jaké jsou fáze překladu u klasicky překládaných programovacích jazyků? Vysvětlete rozdíl mezi klasicky překládaným programovacím jazykem a interpretem. Jaké jsou výhody a nevýhody interpretovaných programovacích jazyků? Z hlediska překladu se Java označuje za hybridní programovací jazyk. Proč je právě hybridní? Jak byste charakterizovali assembler. Vyjmenujte čtyři základní rysy procedurálních programovacích jazyků. Které programovací jazyky byste zařadili mezi procedurální programovací jazyky? 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ě. Charakterizujte programovací jazyky 4. generace. K čemu se používají skriptovací programovací jazyky? Charakterizujte programovací jazyk Plankalkül. Charakterizujte programovací jazyk Fortran. Charakterizujte programovací jazyk LISP. Charakterizujte programovací jazyk Algol. Charakterizujte programovací jazyk Algol 68. Jak ovlivnil další programovací jazyky? Charakterizujte programovací jazyk Cobol. Charakterizujte programovací jazyk Basic či Visual Basic. Charakterizujte programovací jazyk PL/I.

2 Charakterizujte programovací jazyk Pascal. Charakterizujte programovací jazyk C. Charakterizujte programovací jazyk Prolog. Charakterizujte programovací jazyk Ada. Charakterizujte programovací jazyk Smalltalk. Charakterizujte programovací jazyk C++. Charakterizujte programovací jazyk C#. Charakterizujte programovací jazyk JavaScript. Charakterizujte programovací jazyk PHP. Zkuste krátce vysvětlit pojem proměnná. Jaké jsou atributy proměnné. Co se zvažuje při návrhu pravidel pro názvy proměnných v programovacím jazyce? Co je to jmenná konvence? Uveďte příklady jmenných konvencí. Zkuste krátce charakterizovat maďarskou notaci. Jaké jsou výhody statické vazby typu k proměnné? Používá se i Javě? Vysvětlete pojem dynamická vazba typu proměnné. Jaké má výhody? Jaký je rozdíl mezi zásobníkem a haldou z hlediska alokace paměti pro proměnné? Co to je globální proměnná? Jaké má výhody/nevýhody? Co to je typová kontrola? Kdy se provádí? Co znamená, že je nějaký programovací jazyk je silně typový? Uveďte příklady silně typových jazyků. Jaký je rozdíl mezi životností a rozsahem platnosti proměnné. Jaké typy se zařazují mezi primitivní datové typy v Javě? Charakterizujte dekadický číselný typ. Jak se může alokovat paměť pro pole? K čemu se používá datový typ pointer? Jaké operace jsou pro pointer k dispozici? Jaký je rozdíl mezi typem pointer a referenčním typem?

3 Jaké vlastnosti musí splňovat abstraktní datový typ? Patří typ záznam mezi uživatelem definované typy? Proč? Patří typ záznam mezi abstraktní datové typy? Proč? Jaké jsou výhody abstraktního datového typu? Uveďte příklad parametrických abstraktních datových typů. V čem se liší datový typ objekt od abstraktního datového typu? Co víte o objektech (datovém typu objekt) ve Smalltalku? Co víte o objektech (datovém typu objekt) v C++? Popište rozdíl mezi používáním počítačového programu a programováním počítače. Vypište nevýhody assembleru vůči programovacímu jazyku vyšší úrovně. Co označuje pojem integrované vývojové prostředí 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? Vysvětlete (např. pomocí příkladů) vliv jednoduchosti návrhu programovacího jazyka na čitelnost programu? Co označuje pojem ortogonalita v souvislosti s návrhem programovacího jazyka? Jaká kritéria ovlivňují čitelnost kódu určitého programovacího jazyka? Co ovlivňuje snadnost zápisu programu v jednotlivých programovacích jazycích? Co se označuje výrazem expresivita programovacího jazyka? Jaký je rozdíl mezi lexikální a syntaktickou analýzou? Jaký je rozdíl mezi syntaxí a sémantikou programovacího jazyka. Jak se formálně popisuje syntaxe programovacího jazyka. Co to je syntaktický strom programu. K čemu se používá Backus-Naurova forma? V čem se liší statická sémantika od dynamické sémantiky? Jak lze popsat dynamickou sémantiku programovacího jazyka? Popište výčtový typ v Javě? Jakým jiným způsobem se realizuje v některých jiných programovacích jazycích? Co označuje pojem asociativní pole? Je k dispozici programátorům v Javě? Pokud ano, jak se v Javě označuje.

4 Co to je datový typ záznam (record)? Uveďte příklady programovacích jazyků, které používají datový typ záznam. 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. Vysvětlete datovou abstrakci. Jaký je rozdíl mezi infixovou a postfixovou notací? Vysvětlete prefixovou (polskou) notaci. Kde se používá? Popište krátce rozdíly mezi procedurálními a funkcionálními programovacími jazyky? Vypište nejznámější funkcionální programovací jazyky včetě stručné charakteristiky. Pro jaké aplikace se nejčastěji používají funkcionální programovací jazyky? Stručně charakterizujte logické programovací jazyky? Vysvětlete tvrzení, že Prolog patří mezi deklarativní jazyky. Jaké jsou nejčastější oblasti použití Prologu. Jaký je v Prologu rozdíl mezi faktem (predikátem) a pravidlem. Vysvětlete pojem informace. Jaký je rozdíl mezí syntaxí a sémantikou informace? Jaké jsou základní oblasti aplikované informatiky? Definujte osobní informatiku. Definujte podnikovou informatiku. Co je to proces z pohledu podnikové informatiky? Jaké jsou základní prvky von Neumanova návrhu počítače? Co je to instrukční sada počítače? Jaké instrukční sady znáte? Vysvětlete pojem sběrnice. Jaké typy sběrnic znáte? Jaký je rozdíl mezi pamětmi ROM a RAM? Co je to vnější paměť počítače? Uveďte několik příkladů. Jaký je rozdíl mezi programem a algoritmem? Jaký je rozdíl mezi centralizovaným a decentralizovaným zpracováním? 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.

5 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. Vysvětlete pojem operační systém. Jaké jsou základní funkce operačního systému? Uveďte příklady operačních systémů. Vysvětlete pojem soubor. K čemu se používá souborový systém? Uveďte příklady souborových systémů. Vysvětlete pojem middleware. Jaké jsou formy prezentace dat? Jaký je rozdíl mezi položkou a záznamem při ukládání dat v systému? Jaké jsou výhody tradičního (souborového) přístupu k datům? Jaké jsou výhody databázového přístupu k datům? Co je to kódování znaků? Uveďte několik standardů pro kódování českých znaků. Co je to schéma databáze? Co je součástí SQL (Structure Query Language)? Co je to XML? K čemu se používá DTD (Document Type Definition)? K čemu se používá XSLT? Co je to parsování XML dokumentů? Jaký je rozdíl mezi HTML a XHTML? Jaký je rozdíl mezi rastrovou (bitmapovou) a vektorovou grafikou? Stručně charakterizujte grafické formáty GIF, JPEG a PNG. Popište rozdíly mezi instancí a třídou. Popište rozdíly mezi instancí a odkazem na instanci. Popište rozdíly mezi objektem a instancí. Popište rozdíly mezi konstruktorem a metodou. Popište rozdíly mezi datovým atributem a identifikátorem odkazujícím na tento atribut.

6 Jaké jsou rozdíly mezi datovým atributem a lokální proměnnou. Popište následující pojmy: příkaz sekvence příkazů blok příkazů Lze přetypovat potomka na předka? Pokud ano, napište nějaký příklad. Pokud ne, vysvětlete proč. Lze přetypovat předka na potomka? Pokud ano, napište nějaký příklad. Pokud ne, vysvětlete proč. Proč je nebezpečné používat veřejné datové atributy? Kde (v čem) se uchovává stav instance mezi jednotlivými voláními metod instance. Existuje dědičnost mezi rozhraními? Pokud ano, zkuste popsat situaci, kdy by mělo smysl ji použít. Stručně vysvětlete rozdíl mezi metodou instance a statickou metodou. Co označuje v souvislostí s objektovou teorií pojem "posílání zpráv"?. Jak se realizuje v Javě? Čím se liší konstruktor od ostatních metod? Jak souvisí dědičnost se znovupoužitelností kódu? Nakreslete diagram tříd, ve kterém je třída A potomkem třídy B a třída A současně implementuje rozhraní R. Ukažte na příkladu, jak rozhraní umožňuje volbu implementace. Stručně vysvětlete polymorfismus v souvislosti s přetěžováním metod. Vysvětlete pojem zapouzdření z objektové teorie. Vysvětlete pojem ukrývání implementace z objektové teorie. Popište rozdíly mezi příkazy new Ucet(5, "Jarmila", 10); a Ucet ucet = new Ucet(5, "Jarmila", 10); Popište rozdíly mezi deklaracemi Ucet a; a Ucet a = new Ucet(5, "Jarmila", 10); Popište chybu v následujícím kódu: CtyrUhelnik r = (5, 10, 15, 20); Popište chybu v následujícím kódu: double x = Ucet(5, "Jarmila", 10).getStav(); Popište chybu v následujících dvou řádcích kódu: Ucet ucet; ucet.vloz(10000); Přepiště následující výraz pomocí matematického zápisu: obsah = 4 * Math.PI * Math.pow(r, 3) / 3; Která z následujících tříd je neměnná (read only): String java.util.random java.util.arraylist

7 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á? Napište aspoň tři varianty příkazu pro přičtení 1 k proměnné x typu int. 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; K čemu se používá příkaz přiřazení? Jak se zapisuje v Javě? Jak zakreslíte typ enum v diagramu tříd? K čemu se používá metoda System.exit()? Lze v Javě dědit konstruktory mezi třídami? Co to je Java virtual machine? Co to je konzole? Popište speciální význam escape znaku \ při psaní znakových řetězců v Javě. Jaký je význam odkazu this. Jaký význam má použití klíčového slova final v deklaraci proměnné. Popište podobnost a rozdíly při přiřazování pomocí přiřazovacího příkazu ( = ) primitivních a referenčních typů. Popište rozdíl mezi operátorem == a metodou equals() při porovnávání referenčních typů. Napište jednoduchá pravidla pro výběr příkazu cyklu, tj. kdy použít for a kdy while. Co je to nekonečný cyklus? Co je to vnořený cyklus? Napište příklad situace, kdy se vnořený cyklus typicky používá. Co označuje pojem nepojmenovaný balíček (noname package)? Popište aspoň dvě rozdílné situace, kdy se používá klíčové slovo super. Popište aspoň dvě odlišné situace, kdy se používá klíčové slovo this. Které modifikátory přístupu lze použít u datových atributů? 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? Které modifikátory přístupu je možné použít u metod instancí? Lze všechny použít i u statických metod? 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.

8 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. 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, 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. 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í? 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ě. Popište aspoň dvě situace, ve kterých se v Javě používají složené závorky. Popište aspoň tři situace, ve kterých se v Javě používají kulaté závorky. Popište dvě situace, ve kterých se v Javě používají hranaté závorky. Zkuste vysvětlit rozdíl mezi skutečným a formálním parametrem metody. Popište význam balíčku (package) v Javě? Vysvětlete rozdíl mezi deklarací a inicializací datového atributu. 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)? Kolik může mít třída konstruktorů? Jak se od sebe odliší? Pokud zdrojovém kódu třídy neuvedu konstruktor, bude mít tato třída konstruktor? Pokud ano, uveďte co bude jeho obsahem? Mohou se konstruktoryv Javě překrývat (overriding)? Pokud ne, tak napište důvod. Pokud ano, tak napište příklad. Mohou se konstruktory v Javě přetěžovat (overloading)? Pokud ne, tak napište důvod. Pokud ano, tak napište příklad. Záleží na pořadí klauzulí import? Pokud ano, napište proč. K čemu se využívají literály u číselných primitivních datových typů? Proč existují v Javě obalové třídy k primitivním datovým typům? K čemu se používají statické atributy (proměnné třídy)? Je statický atribut třídy s modifikátorem private dostupný z instancí této třídy? Zdůvodněte.

9 Jaký význam má modifikátor final u parametru metody? Jaký význam má modifikátor final u lokální proměnné (proměnné deklarované uvnitř metody)? 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:". 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) Co označuje pojem escape znak u řetězců? Lze použít escape znaky i u typu znak? Co označuje pojem regulární výraz? Jaké jsou výhody tříd StringBuffer a StringBuilder proti používání třídy String? Nechť třída Predek má 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. 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. 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. Popište rozdíl významu modifikátoru protected od ostatních možností přístupu k prvkům. 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. Může abstraktní třída implementovat rozhraní? Pokud ne, vysvětlete proč. Napište příklad přetypování referenčních typů. Jaké jsou důvody pro používání dědičnosti? Vysvětlete tvrzení, že dědičnost porušuje zapouzdření. 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 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);

10 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++; Co je chybně v následujícím kódu: Ucet ucet;... if (ucet.equals(null)) { ucet = new Ucet(1, "Jarmila", 10); 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; 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; 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 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();

11 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. 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"); Co je špatného na následujícím cyklu while: suma=0; z=5; while ( z >= 0 ) { suma += z; 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é. 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 ); 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 Uveďte aspoň dvě jazykové konstrukce Javy, které nelze uvést uvnitř metody. Uveďte ukázku kódu, ve kterém se uplatní autoboxing. Jaký je rozdíl mezi rozhraním Comparable a Comparator? 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? 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? Popište význam metody tostring() u třídy Object a u jejich potomků? Popište význam metody equals() u třídy Object a u jejich potomků? Jaký má význam metoda hashcode() u třídy Object a u jejich potomků? Kdy se používá metoda finalize() třídy Object či jejich potomků?

12 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ší. Může nastat chyba překročení hranice pole u seznamů (instancí třídy List)? Co označuje pojem index u seznamů a u polí? 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). 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ů. 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ů. 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. U kterých datových struktur lze používat indexy? Které datové struktury je možné procházet pomocí klasického cyklu for s řídící proměnnou, podmínkou a krokem? V čem se liší mapy od kolekcí? 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; 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? Popište rozdíly mezi kolekcemi a poli v Javě. Popište rozdíly mezi seznamy (implementacemi rozhraní List) a množinami (implementacemi rozhraní Set). Máte pole s pěti prvky. Jak můžete z pole vymazat prvek s indexem 2? Obsah trojúhelníka se dá vypočítat pomocí vzorce S = absin(γ ) 2 Přepište tento vzorec do programového kódu. 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);

13 Popište, co je uloženo v proměnných y a t v následujícím 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 = 2; y = x + 2; s = "2"; t = s + s; 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. Co vypíše následující kód: System.out.println("*\n**\n***\n****\n*****"); Napište příklad kódu, ve kterém dojde k přetečení celého čísla. Popište rozdíly mezi následujícími výrazy: '2' "2" "2.0" 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? V čem se liší přetypování instance (Ucet)x od přetypování celého čísla (int)cislo? 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; 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; 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; Uveďte příklad kódu, ve kterém se musí použít přetypování u primitivních datových typů. Máte celé číslo (např ). Napište kód, pomocí kterého získáte první číslici (tj. číslici 2), aniž byste převedli číslo na řetězec. Máte celé číslo (např ). Napište kód, pomocí kterého získáte poslední číslici (tj. číslici 6), aniž byste převedli číslo na řetězec. 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() 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;

14 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 { 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); 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(); 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(); Proč se nemusí v hlavičce metody uvádět, že v metodě může vzniknout výjimka NullPointerException? Co může být uvedeno jako parametr příkazu throw? Je instance výjimky vždycky stejného typu, jako typ uvedený v klauzuli catch, která výjimku odchytne? Jaký je rozdíl mezi kontrolovanou a nekontrolovanou výjimkou? Jaký je význam klauzule finally při odchytávání výjimek? Jak mohou vznikat výjimky? Může je vyvolat programátor? Co označuje pojem "předání výjimky výš"? V kterých situacích by se měla používat výjimka IllegalArgumentException, kdy IllegalStateException? Popište pravidla pro používání malých a velkých písmen v identifikátorech v Javě. Vysvětlete, proč by na jednom řádku měl být pouze jeden příkaz. Výhody ukažte na příkladu. Vysvětlete, proč by se měl odsazovat kód v bloku. Výhody ukažte na příkladech. Jaké jsou možnosti kontroly správnosti kódu? Uveďte příklad umístění ladících výpisů do kódu.

15 Jaké má výhody debugování kódu pro hledání chyb? Jaké má nevýhody? K čemu se používají při debugování kódu zarážky (breakpoints)? 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? 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í? 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í? Vysvětlete, proč by se z konstruktoru neměly volat překrytelné metody. 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. Jaké mohou nastat problémy, pokud se současně nepřekryjí metody equals a hashcode? Jak by se mohla zjednodušit následující metoda? private boolean jekonechry() { if (aktmistnost.getjmeno().equals("kancelar")) { return true; else { return false; 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í. 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)? 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) Proč by v příkazu switch měla být uvedena klauzule (větev) default? 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.

Testy z Javy verze 1.0 Stránka 1 z 13

Testy z Javy verze 1.0 Stránka 1 z 13 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

Více

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

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

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

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

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

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

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

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

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

Ú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

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

Ří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

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

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

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

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

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í 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ú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

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

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

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

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

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

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

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

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

Java a XML. 10/26/09 1/7 Java a XML

Java a XML. 10/26/09 1/7 Java a XML Java a XML Java i XML jsou přenositelné V javě existuje podpora pro práci s XML, nejčastější akce prováděné při zpracování XML: načítání XML elementů generování nových elementů nebo úprava starého zápis

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

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

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

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

Č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

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

Profilová část maturitní zkoušky 2013/2014

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

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

6 Příkazy řízení toku

6 Příkazy řízení toku 6 Příkazy řízení toku 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 příkazům pro řízení toku programu. Pro všechny tyto základní

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

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

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

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

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

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

Úvod do programování v jazyce Java

Úvod do programování v jazyce Java Úvod do programování v jazyce Java Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci 5. říjen, 2011 Petr Krajča (UP) KMI/UP3J: Seminář I. 5.10.2011 1 / 17 Organizační informace email: petr.krajca@upol.cz

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á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

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

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

Programování v C++ 1, 1. cvičení Programování v C++ 1, 1. cvičení opakování látky ze základů 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 1 2 Shrnutí procvičených

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

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

Obsah přednášky. 12. Dokumentace zdrojového kódu Tvorba elektronické dokumentace UML. Co je diagram tříd. Ing. Ondřej Guth

Obsah přednášky. 12. Dokumentace zdrojového kódu Tvorba elektronické dokumentace UML. Co je diagram tříd. Ing. Ondřej Guth Evropský sociální fond. 12. Dokumentace zdrojového kódu Tvorba elektronické dokumentace Ing. Ondřej Guth Katedra teoretické informatiky Fakulta informačních technologií České vysoké učení technické v Praze

Více

Maturitní témata Školní rok: 2015/2016

Maturitní témata Školní rok: 2015/2016 Maturitní témata Školní rok: 2015/2016 Ředitel školy: Předmětová komise: Předseda předmětové komise: Předmět: PhDr. Karel Goš Informatika a výpočetní technika Mgr. Ivan Studnička Informatika a výpočetní

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

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

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

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií 1 Fakulta elektrotechniky a informatiky Katedra softwarových technologií 12. října 2009 Organizace výuky Přednášky Teoretické základy dle normy jazyka C Cvičení Praktické úlohy odpřednášené látky Prostřední

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

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

DTP Základy programování Úvod do předmětu

DTP Základy programování Úvod do předmětu DTP Základy programování 01 - Úvod do předmětu Úvod Co již umíte? Plán předmětu Studijní materiály Způsob ukončení předmětu Základní pojmy I. Řešený problém: Řešeným nebo zpracovávaným problémem je konkrétní

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

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: 1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.

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

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

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

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

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

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

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

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