7 Formátovaný výstup, třídy, objekty, pole, chyby v programech
|
|
- Vít Černý
- před 2 lety
- Počet zobrazení:
Transkript
1 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, úvodu do tříd a objektů a polím. Doba nutná k nastudování 2 2,5 hodiny 7.1 Formátovaný výstup V bloku 3 jsme si uvedli základní příkaz pro výpis zadaného textu do konzole. Nyní se můžeme podívat na možnosti formátování výstupu do konzole v jazyce Java (např. když chceme vypsat hodnoty s určitou přesností, s určitým zarovnáním apod.). Další možnosti pro výpis textu do konzole jsou následující: System.out.print("text"); Výpis textu, kurzor zůstává na stejném řádku System.out.println("text"); Výpis textu s odřádkováním, kurzor se přesouvá na další řádek System.out.printf(format, polozky); Výpis s možností formátování, kde o format text se znaky pro formátování textu. Obecný zápis formátu je následující: %[modifikator][sirka][.presnost]konverze Konverze je povinný parametr a pro různé formy výpisu používáme různé parametry: celé číslo d, o, x (dekadicky, oktalově, hexa) desetinný zápis f, e vědecký zápis s exponentem šířka počet sázených míst, zarovnání vpravo.přesnost počet desetinných míst modifikátor další vlastnosti, např. znak + (znaménko), znak - (zarovnání vlevo), znak 0 (doplnění čísla zleva nulami) KST/IZAPR - Základy programování blok 7, strana 1 (10) Michael Bažant
2 %n- přechod na další řádek o polozky hodnoty pro dosazení. Nejčastěji se jedná o proměnné, jejichž hodnotu chceme vypsat do konzole. Příklady použit formátovaného výstupu: System.out.printf("Cislo Pi = %6.3f %n", Math.PI); System.out.printf("Cislo Pi = %8.3f %n", Math.PI); System.out.printf("Cislo Pi = %6.5e %n", Math.PI); System.out.printf("Cislo = %d %n", cislo); System.out.printf("Cislo = %d %n", -33); 7.2 Třídy, objekty - úvod V bloku 4 jsme si představili dva základní druhy datových typů v jazyce Java primitivní a referenční a řekli jsme si, že proměnné referenčního datového typu odkazují na objekty. V této kapitole se seznámíme se základy tříd a objektů (abychom se mohli seznámit s poli) a v dalším bloku se podíváme na bližší informace o objektech. Doposud jsme pracovali jen s primitivními datovými typy, v této kapitole se blíže podíváme na referenční datový typ, vytváření tříd a objektů a nejprve se seznámíme s třídami, které jsou pro práci s referenčními datovými typy základním prvkem. Pro připomenutí - referenční datový typ odkazuje na objekt v paměti (nepracujeme přímo s pamětí, proto nepoužíváme označení ukazatele). Nejprve začneme definicí tříd definic je celá řada, ale nejvýstižnější je asi tato: třída je popisem strukturovaného datového typu, obsahuje datové prvky potřebné pro objekt (stav objektu) a množinu metod pro práci s datovými prvky (mění stav objektu). Další z definic by mohla vypadat následovně: třída je programová jednotka tvořená množinou identifikátorů, které mají třídou definovaný význam a asi nejvíce obecnou definicí je ta, kdy je třída považována za zdroj metod popisujících řešení problému rozkladem na podproblémy. Všechny tyto definice jsou v pořádku a vzájemně se doplňují, pro nás v tuto chvíli bude nejdůležitější skutečnost, že třídy vytváříme pomocí zápisu zdrojového kódu (třída obsahuje kód napsaný programátorem). Abychom si hned udělali jasno mezi pojmy třída a objekt, tak si nyní vysvětlíme pojem objekt. Objekty jsou vytvářené při běhu programu dle předpisu, kterým je třída a proto se o objektech bavíme jako o instancích třídy, neboť na základě jedné třídy může být vytvořeno mnoho objektů. Z tohoto pohledu je třída předpis (šablona) pro vytváření objektů a JVM na základě definovaných tříd vytváří při běhu programu objekty (instance). KST/IZAPR - Základy programování blok 7, strana 2 (10) Michael Bažant
3 Třída je popis dat a chování, kterými disponuje každý objekt. Příklad: Třída: Student Objekty (reps. ref. prom. na objekty): studentnovak, studentnovy... Pro vysvětlení postupu při vytváření objektů použije následující obrázek (viz Obrázek 1). Deklarace referenční proměnné je v zásadě stejná jako u deklarace proměnné primitivního datového typu, jen s tím rozdílem že nepoužijeme primitivní datový typ, ale název třídy. P-hodnotou výrazu je potom operátor new, kterým vytváříme nové objekty a název třídy s kulatými závorkami (této části říkáme konstruktor třídy). Obrázek 1: Postup při vytváření objektu Nyní se podíváme na obecnou syntaxi třídy a také na konkrétní třídu s názvem Student, která obsahuje jeden atribut v podobě známky studenta z předmětu programování a jednu metodu pro výpis známky z předmětu programování do konzole. Obrázek 2: Obecná syntaxe třídy KST/IZAPR - Základy programování blok 7, strana 3 (10) Michael Bažant
4 Obrázek 3: Příklad třídy Student 7.3 Třídy atributy Po představení syntaxe třídy si představíme bližší informace o atributech třídy. Opět nejprve v obecné formě (viz Obrázek 4) a potom také na příkladu třídy Obdelnik (viz Obrázek 5), která bude disponovat atributy délka, šířka, zda je zobrazen a také označením daného obdélníka. Obrázek 4: Obecný zápis atributů tříd Obrázek 5: Atributy třídy Obdelnik V rámci třídy k atributům přistupuje pomocí tečkové notace. Příklad: obdelnik1.delka = 5; 7.4 Třídy metody Pomocí metod tříd popisujeme činnosti, které bude daný objekt umět vykonat. Opět se nejprve podíváme na obecný zápis metod (viz ) a poté na konkrétní příklad (viz ). KST/IZAPR - Základy programování blok 7, strana 4 (10) Michael Bažant
5 Obrázek 6: Obecný zápis metod tříd Obrázek 7: Metoda třídy Student 7.5 Jednorozměrná pole V jazyce Java jsou všechny pole objekty (je jedno zda se jedná o pole, které obsahuje prvky primitivního datového typu nebo prvky referenčního datového typu), což je také důvodem proč této kapitole předcházely alespoň základní informace o třídách a objektech. Pokud chceme deklarovat proměnnou, která bude odkazovat na objekt typu pole, je nutné použít primární výrazový operátor [], který se může nacházet jak před názvem proměnné, tak za ním (dle konvencí před názvem proměnné). Tento operátor je také používán pro přístup k prvkům pole. Způsob deklarace proměnné typu jednorozměrné pole můžeme demonstrovat na následujících příkladech. Zde je nutné upozornit na tu skutečnost, že samotnou deklarací těchto proměnných nedochází k vytváření žádných objektů typu pole, ale dochází opravdu pouze k deklaraci proměnné (tzn. pouze k alokaci místa pro referenční proměnnou, nikoliv pro samotný objekt typu pole a tudíž máme k dispozici proměnnou, která má schopnost odkazovat na objekt typu jednorozměrné pole, ale ještě na žádný neodkazuje). Příklady: double[] polerealnychcisel; //prvky pole typu //double double polerealnychcisel[];//nedoporucuje se ale //syntakticky v poradku char[] poleznaku; //prvky pole typu char Student[] polestudentu; //pole referenci na //objekty typu Student KST/IZAPR - Základy programování blok 7, strana 5 (10) Michael Bažant
6 Samotný objekt typu jednorozměrné pole vytvoříme (stejně jako i ostatní objekty) pomocí operátoru new nebo pomocí vyjmenování konkrétních hodnot, které má pole obsahovat (viz další text této kapitoly). Nejprve tedy ke způsobu vytváření pole pomocí operátoru new kdy po tomto operátoru následuje název datového typu, jehož budou jednotlivé prvky pole a do hranatých závorek zapíšeme kapacitu pole (počet prvků) viz následující příklady. Počet prvků pole musí být stanoven při vytváření objektu typu pole a tento počet nelze již dále měnit. Příklady na vytváření jednorozměrného pole: double[] pole1 = new double[10]; datovytyp[] pole2 = new datovytyp[pocetprvku]; Druhou možností pro vytvoření pole je, že při vytváření objektu pole inicializujeme s použitím zkrácené syntaxe s využitím symbolů {}: int[] pole = {2, 3, 1, 5, 10}; Indexování prvků v poli v jazyce Java začíná vždy od nuly, tzn. že pole[0] odkazuje na první prvek pole a index posledního prvku v poli je roven kapacitě pole sníženému o hodnotu jedna pro přechozí příklad pole1 bude mít poslední prvek index pole[9]. Ukázka pole s deseti prvky viz Obrázek 8. Obrázek 8: Prvky v jednorozměrném poli prim. datového typu Pro zjištění počtu prvků pole používáme atribut objektu s názvem length viz následující příklad. double[] pole = new double[10]; System.out.println( Pocet prvku pole = + pole.length); KST/IZAPR - Základy programování blok 7, strana 6 (10) Michael Bažant
7 Standardní hodnoty (pokud neuvedeme při vytváření objektu hodnoty jiné) prvků pole jsou pro: číselné primitivní datové typy 0 datový typ char \u0000 primitivní datový typ boolean false Při vytváření kopií polí je nutné mít na paměti, že pracujeme s referenčními proměnnými. Tuto skutečnost můžeme demonstrovat na příkladu kopírování polí, kdy nestačí použít operátor přiřazení viz následující příklad. double[] pole1 = new double[10]; double[] pole2 = new double[5]; pole1 = pole2; Obrázek 9: Dvě referenční proměnné odkazující na jeden objekt Pro kopírování polí můžeme využívat vlastní naprogramovaný kód nebo využít třídu Systém, která obsahuje metodu arraycopy (ta umožňuje efektivně kopírovat data z jednoho pole do jiného). Dva argumenty této metody určují pole, ze kterého a do kterého pole se budou data kopírovat. Tři argumenty int definují počáteční pozici ve zdrojovém poli, počáteční pozici v cílovém poli a počet kopírovaných prvků pole. Příklad kopírování s využitím cyklu: int[] zdrojpole = {2, 3, 1, 5, 10}; int[] cilpole = new int[zdrojpole.length]; for (int i = 0; i < zdrojpole.length; i++) { cilpole[i] = zdrojpole[i]; } Příklad kopírování s využitím metody arraycopy: int[] zdrojpole = {2, 3, 1, 5, 10}; int[] cilpole = new int[zdrojpole.length]; System.arraycopy(zdrojPole, 0, cilpole, 0, zdrojpole.length); KST/IZAPR - Základy programování blok 7, strana 7 (10) Michael Bažant
8 7.6 Vícerozměrná pole Vícerozměrná pole slouží k reprezentaci matic nebo tabulek (např. matice vzdáleností měst, matematické maticové operace apod.). V jazyce Java deklarujeme vícerozměrná pole podobně jako pole jednorozměrná. Jen používáme více dvojic operátorů [] viz následující příklady: datovytyp[][] refpromenna; Vytvoření samotného objektu, v němž budou uchovány prvky vícerozměrného (v tomto případě dvourozměrného) pole vytváříme (podobně jako u jednorozměrného pole) pomocí operátoru new viz příklad, kde vytváříme pole o rozměru 10x10 prvků. int matice = new int[10][10]; V jazyce Java jsou vícerozměrná pole poskládaná jednorozměrná pole. To znamená, že referenční proměnná v jednorozměrném poli odkazuje na další objekt typu jednorozměrné pole (viz Obrázek 10). Obrázek 10: Dvourozměrné pole s prvky primitivního datového typu Z tohoto důvodu není nutné při vytváření objektu prvotního objektu pro vícerozměrné pole definovat rozměry dalších polí, ale stačí definovat pouze rozměr prvotního jednorozměrného pole referencí na další jednorozměrná pole. Následující příklad je tedy v pořádku: int matice = new int[10][]; Rozměry dalších polí lze stanovit až v dalším kroku při vytváření dalších polí. Tato vlastnost umožňuje vytváření vícerozměrných polí, jejich počet prvků nemusí být vždy stejný (viz Obrázek 10 první řádek má dva sloupce, druhý řádek tři sloupce apod.). KST/IZAPR - Základy programování blok 7, strana 8 (10) Michael Bažant
9 7.7 Pole referenčních typů Prvky pole samozřejmě nemusí být vždy primitivního datového typu, ale také referenčního datového typu. V takovém případě uvedeme jako datový typ název třídy, jejíž objekty mají být uloženy v poli viz následující příklad: Student studentnovak = new Student("Novak"); Student[] polestudentu = {studentnovak, new Student("Novy"), new Student("Novotny")}; Obrázek 11: Jednorozměrné pole referenčních datových typů S polem se setkáváme v podstatě od samotného začátku programování v jazyce Java, neboť metoda main disponuje parametrem, který představuje pole řetězců. Této vlastnosti metody main lze využít při spuštění programu, kdy lze vkládat argumenty do programu pomocí příkazové řádky viz následující příklad. public class Student { } public static void main(string args[]) { System.out.println("args[0] = " + args[0]); System.out.println("args[1] = " + args[1]); System.out.println("args[2] = " + args[2]); } 7.8 Chyby v programech Při programování rozlišujeme tři základní druhy chyb: Syntaktické (syntax error) - na tento chyb upozorní kompilátor, např. in i = 10; delka int = 10; KST/IZAPR - Základy programování blok 7, strana 9 (10) Michael Bažant
10 Chyby za běhu programu (runtime error) - dělení nulou, nerespektování rozsahu polí, např. int i = 10 / 0; Logické (logic error) - špatné výsledky při výpočtech, zpracování dat apod. Tento typ chyb se nejhůře odhaluje a většinou spočívá ve špatném návrhu algoritmu. cenacelkem = mnozstvi / pocetkusu; Otázky na procvičení 1. Nakreslete obrázek pro grafickou reprezentaci dvourozměrného pole s prvky primitivního datového typu. 2. Nakreslete obrázek pro grafickou reprezentaci dvourozměrného pole s prvky referenčního datového typu. 3. Musí být uvedeny všechny rozměry vícerozměrného pole již při jeho vytváření? 4. Jaký je index posledního prvku pole? 5. Jaký je index prvního prvku pole? Odkazy a další studijní prameny 1. Java Tutorial - KST/IZAPR - Základy programování blok 7, strana 10 (10) Michael Bažant
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 -
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ů
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
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í
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
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,
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
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
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,
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
10 Balíčky, grafické znázornění tříd, základy zapozdření
10 Balíčky, grafické znázornění tříd, základy zapozdření 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 balíčkům, grafickému
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
Č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
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
IAJCE Přednáška č. 8. double tprumer = (t1 + t2 + t3 + t4 + t5 + t6 + t7) / 7; Console.Write("\nPrumerna teplota je {0}", tprumer);
Pole (array) Motivace Častá úloha práce s větším množstvím dat stejného typu o Př.: průměrná teplota za týden a odchylka od průměru v jednotlivých dnech Console.Write("Zadej T pro.den: "); double t = Double.Parse(Console.ReadLine());
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
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
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
Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem.
Algoritmus Algoritmus je schematický postup pro řešení určitého druhu problémů, který je prováděn pomocí konečného množství přesně definovaných kroků. nebo Algoritmus lze definovat jako jednoznačně určenou
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
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
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í
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
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
Pokročilé programování v jazyce C pro chemiky (C3220) Operátory new a delete, virtuální metody
Pokročilé programování v jazyce C pro chemiky (C3220) Operátory new a delete, virtuální metody Dynamická alokace paměti Jazyky C a C++ poskytují programu možnost vyžádat si část volné operační paměti pro
DSL manuál. Ing. Jan Hranáč. 27. října 2010. V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v
DSL manuál Ing. Jan Hranáč 27. října 2010 V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v současné době krátký) seznam vestavěných funkcí systému. 1 Vytvoření nového dobrodružství Nejprve
3 Vývojová prostředí, základní prvky jazyka Java, konvence jazyka Java
3 Vývojová prostředí, základní prvky jazyka Java, konvence jazyka Java Studijní cíl V tomto bloku navážeme na konec předchozího bloku a seznámíme se s vývojovými prostředími, které se nejčastěji používají
15. Projekt Kalkulačka
Projekt Kalkulačka strana 143 15. Projekt Kalkulačka 15.1. Základní popis, zadání úkolu Pracujeme na projektu Kalkulačka, který je ke stažení na java.vse.cz. Po otevření v BlueJ vytvoříme instanci třídy
IUJCE 07/08 Přednáška č. 4. v paměti neexistuje. v paměti existuje
Konstanty I možnosti: přednostně v paměti neexistuje žádný ; o preprocesor (deklarace) #define KONSTANTA 10 o konstantní proměnná (definice) const int KONSTANTA = 10; příklad #include v paměti
Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false
Logické operace Datový typ bool může nabýt hodnot: o true o false Relační operátory pravda, 1, nepravda, 0, hodnoty všech primitivních datových typů (int, double ) jsou uspořádané lze je porovnávat binární
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
Projekt Obrázek strana 135
Projekt Obrázek strana 135 14. Projekt Obrázek 14.1. Základní popis, zadání úkolu Pracujeme na projektu Obrázek, který je ke stažení na http://java.vse.cz/. Po otevření v BlueJ vytvoříme instanci třídy
Algoritmizace a programování
Algoritmizace a programování Řídicí struktury, standardní metody Problematika načítání pomocí Scanner Některé poznámky k příkazům Psaní kódu programu Metody třídy Math Obalové třídy primitivních datových
MAXScript výukový kurz
MAXScript výukový kurz Díl čtvrtý jazyk MAXScript, část I. Jan Melichar, březen 2008 Jan Melichar (aka JME) strana 1 OBSAH ÚVOD... 4 ZÁKLADNÍ PŘÍKAZY... 5 OPERÁTORY... 6 PROMĚNNÉ... 6 POLE... 7 ZÁVĚREM...
Ukazatele a pole. Chceme-li vyplnit celé pole nulami, použijeme prázdný inicializátor: 207 Čárka na konci seznamu inicializátorů
Ukazatele a pole 204 Deklarace jednorozměrného pole s inicializací Chceme-li pole v deklaraci inicializovat, zapíšeme seznam inicializátorů jednotlivých prvků do složených závorek: #define N 5 int A[N]
Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy
Úvod do programování Michal Krátký 1,Jiří Dvorský 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programování, 2004/2005 Procesor Procesorem je objekt, který vykonává algoritmem popisovanou
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
2 Datové typy v jazyce C
1 Procedurální programování a strukturované programování Charakteristické pro procedurální programování je organizace programu, který řeší daný problém, do bloků (procedur, funkcí, subrutin). Původně jednolitý,
III/2 Inovace a zkvalitnění výuky prostřednictvím ICT
Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět Cílová skupina (ročník) Úroveň
Odvozené a strukturované typy dat
Odvozené a strukturované typy dat Petr Šaloun katedra informatiky FEI VŠB-TU Ostrava 14. listopadu 2011 Petr Šaloun (katedra informatiky FEI VŠB-TU Ostrava) Odvozené a strukturované typy dat 14. listopadu
KAPITOLA 9 - POKROČILÁ PRÁCE S TABULKOVÝM PROCESOREM
KAPITOLA 9 - POKROČILÁ PRÁCE S TABULKOVÝM PROCESOREM CÍLE KAPITOLY Využívat pokročilé možnosti formátování, jako je podmíněné formátování, používat vlastní formát čísel a umět pracovat s listy. Používat
VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu
VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632
Základní vzorce a funkce v tabulkovém procesoru
Základní vzorce a funkce v tabulkovém procesoru Na tabulkovém programu je asi nejzajímavější práce se vzorci a funkcemi. Když jednou nastavíte, jak se mají dané údaje zpracovávat (některé buňky sečíst,
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č
Název předmětu: Školní rok: Forma studia: Studijní obory: Ročník: Semestr: Typ předmětu: Rozsah a zakončení předmětu:
Plán předmětu Název předmětu: Algoritmizace a programování (PAAPK) Školní rok: 2007/2008 Forma studia: Kombinovaná Studijní obory: DP, DI, PSDPI, OŽPD Ročník: I Semestr: II. (letní) Typ předmětu: povinný
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,
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
Správné vytvoření a otevření textového souboru pro čtení a zápis představuje
f1(&pole[4]); funkci f1 předáváme hodnotu 4. prvku adresu 4. prvku adresu 5. prvku hodnotu 5. prvku symbolická konstanta pro konec souboru je eof EOF FEOF feof Správné vytvoření a otevření textového souboru
III/2 Inovace a zkvalitnění výuky prostřednictvím ICT
Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět Cílová skupina (ročník) Úroveň
"Václav Klaus". public class Clovek { protected String jmeno; protected int roknarozeni; public Clovek(String j, int rn) {
4. Třída versus objekt Co je třída a objekt? Třída (také poněkud nepřesně zvaná objektový typ) představuje skupinu objektů, které nesou stejné vlastnosti "stejné" je myšleno kvalitativně, nikoli kvantitativně,
Příklad : String txt1 = new String( Ahoj vsichni! ); //vytvoří instanci třídy String a přiřadí ji vnitřní hodnotu Ahoj vsichni!
Java práce s řetězci Trochu povídání.. Řetězce jsou v Javě reprezentovány instancemi tříd StringBuffer a String. Tyto třídy jsou součástí balíčku java.lang, tudíž je možno s nimi pracovat ihned bez nutného
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í
2 Základní funkce a operátory V této kapitole se seznámíme s použitím funkce printf, probereme základní operátory a uvedeme nejdůležitější funkce.
Vážení zákazníci, dovolujeme si Vás upozornit, že na tuto ukázku knihy se vztahují autorská práva, tzv copyright To znamená, že ukázka má sloužit výhradnì pro osobní potøebu potenciálního kupujícího (aby
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 =
Principy objektově orientovaného programování
Principy objektově orientovaného programování Třídy a objekty 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 C E T
přetížení operátorů (o)
přetížení operátorů (o) - pro vlastní typy je možné přetížit i operátory (tj. definovat vlastní) - pro definici slouží klíčové slovo operator následované typem/znakem operátoru - deklarace pomocí funkčního
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í
Jazyk C# (seminář 5)
Jazyk C# (seminář 5) Pavel Procházka KMI 23. října 2014 Přetěžování metod motivace Představme si, že máme metodu, která uvnitř dělá prakticky to samé, ale liší se pouze parametry V C# můžeme více metod
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
Kód. Proměnné. #include using namespace std; int main(void) { cout << "Hello world!" << endl; cin.get(); return 0; }
Jazyk C++ Jazyk C++ je nástupcem jazyka C. C++ obsahuje skoro celý jazyk C, ale navíc přidává vysokoúrovňové vlastnosti vyšších jazyků. Z toho plyne, že (skoro) každý platný program v C je také platným
13 Barvy a úpravy rastrového
13 Barvy a úpravy rastrového Studijní cíl Tento blok je věnován základním metodám pro úpravu rastrového obrazu, jako je např. otočení, horizontální a vertikální překlopení. Dále budo vysvětleny různé metody
Ú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í
PROGRAMOVÁNÍ V JAZYCE C V PŘÍKLADECH 11 Dynamické datové struktury 11.1 Spojové struktury... 11-1 11.2 Příklad PROG_11-01... 11-2 11.
David Matoušek Programování v jazyce C v pøíkladech Praha 2011 David Matoušek Programování v jazyce C v pøíkladech Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována nebo
Úvod do programování - Java
Úvod do programování - Java Cvičení č.1 1 1 UPR informace Cvičící í RNDr. Eliška Ochodková, kancelář A1010 eliska.ochodkova@vsb.cz www.cs.vsb.cz/ochodkova Přednášející Ing. Michal Krátký, Ph.D., kancelář
OOPR_05. Případové studie
OOPR_05 Případové studie 1 Přehled probírané látky příklad skládání objektů - čára příklad skládání objektů kompozice a agregace přetížené konstruktory pole jako datový atribut 2 Grafický objekt - čára
VY_32_INOVACE_08_2_04_PR
Ing. Petr Stránský VY_32_INOVACE_08_2_04_PR Příkazy vstupu - definice Výstupním zařízením může být obrazovka, tiskárna nebo soubor. Jednotlivé údaje se zapisují pomocí příkazu WRITE nebo WRITELN. Příkaz
Ukazatel (Pointer) jako datový typ - proměnné jsou umístěny v paměti na určitém místě (adrese) a zabírají určitý prostor (počet bytů), který je daný
Ukazatel (Pointer) jako datový typ - proměnné jsou umístěny v paměti na určitém místě (adrese) a zabírají určitý prostor (počet bytů), který je daný typem proměnné - ukazatel je tedy adresa společně s
První kapitola úvod do problematiky
První kapitola úvod do problematiky Co je to Flex Adobe Flex je ActionSript (AS) framework pro tvorbu Rich Internet Aplications (RIA), tedy knihovna AS tříd pro Flash. Flex používáme k vytvoření SWF souboru
2 Postup při programování, úvod do programovacího jazyka Java
2 Postup při programování, úvod do programovacího jazyka Java Studijní cíl V tomto bloku bude věnována pozornost správnému postupu při programování, budou detailně vysvětleny jednotlivé etapy programování
Objektově orientované programování v jazyce Python
Objektově orientované programování v jazyce Python Co to je objektově orientované programování Python není přímo objektově orientovaný jazyk, ale podporuje nejdůležitější části objektově orientovaného
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
Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty
Data v počítači Informační data (elementární datové typy) Logické hodnoty Znaky Čísla v pevné řádové čárce (celá čísla) v pohyblivé (plovoucí) řád. čárce (reálná čísla) Povelová data (instrukce programu)
ÚVODNÍ ZNALOSTI. datové struktury. správnost programů. analýza algoritmů
ÚVODNÍ ZNALOSTI datové struktury správnost programů analýza algoritmů Datové struktury základní, primitivní, jednoduché datové typy: int, char,... hodnoty: celá čísla, znaky, jednoduché proměnné: int i;
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 o konstruktorech a destruktorech
Více o konstruktorech a destruktorech Více o konstruktorech a o přiřazení... inicializovat objekt lze i pomocí jiného objektu lze provést přiřazení mezi objekty v původním C nebylo možné provést přiřazení
Jazyk C++ I. Šablony 2
Jazyk C++ I Šablony 2 AR 2013/2014 Jazyk C++ I Třídy template class TVektor { T *a; int n; static int PocInstanci; public: TVektor(int _n = 0) : n(_n) { a = new T[n]; PocInstanci++; } ~TVektor()
Objektově orientované programování v jazyce Python
Objektově orientované programování v jazyce Python Základní pojmy objektově orientovaného programování Objekt vychází z reálného světa. Má dva charakteristické rysy. Všechny objekty mají stav Všechny objekty
5 Rekurze a zásobník. Rekurzivní volání metody
5 Rekurze a zásobník Při volání metody z metody main() se do zásobníku uloží aktivační záznam obsahující - parametry - návratovou adresu, tedy adresu, kde bude program pokračovat v metodě main () po skončení
Ú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
Datové struktury. alg12 1
Datové struktury Jedna z klasických knih o programování (autor prof. Wirth) má název Algorithms + Data structures = Programs Datová struktura je množina dat (prvků, složek, datových objektů), pro kterou
Ovládání Open Office.org Calc Ukládání dokumentu : Levým tlačítkem myši kliknete v menu na Soubor a pak na Uložit jako.
Ukládání dokumentu : Levým tlačítkem myši kliknete v menu na Soubor a pak na Uložit jako. Otevře se tabulka, v které si najdete místo adresář, pomocí malé šedočerné šipky (jako na obrázku), do kterého
Programujeme v softwaru Statistica
Programujeme v softwaru Statistica díl druhý Newsletter Statistica ACADEMY Téma: Programování, makra, skripty Typ článku: Návody V tomto článku si ukážeme další možnosti při psaní maker v softwaru Statistica.
Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost
Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence
2 Strukturované datové typy 2 2.1 Pole... 2 2.2 Záznam... 3 2.3 Množina... 4
Obsah Obsah 1 Jednoduché datové typy 1 2 Strukturované datové typy 2 2.1 Pole.................................. 2 2.2 Záznam................................ 3 2.3 Množina................................
Funkční objekty v C++.
Funkční objekty v C++. Funkční objekt je instance třídy, která má jako svou veřejnou metodu operátor (), tedy operátor pro volání funkce. V dnešním článku si ukážeme jak zobecnit funkci, jak používat funkční
ALGORITMIZACE A PROGRAMOVÁNÍ
Metodický list č. 1 Algoritmus a jeho implementace počítačovým programem Základním cílem tohoto tematického celku je vysvětlení pojmů algoritmus a programová implementace algoritmu. Dále je cílem seznámení
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í
Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání
Čtvrtek 3. listopadu Makra v Excelu Obecná definice makra: Podle definice je makro strukturovanou definicí jedné nebo několika akcí, které chceme, aby MS Excel vykonal jako odezvu na nějakou námi definovanou
Využití OOP v praxi -- Knihovna PHP -- Interval.cz
Page 1 of 6 Knihovna PHP Využití OOP v praxi Po dlouhé teorii přichází na řadu praxe. V následujícím textu si vysvětlíme možnosti přístupu k databázi pomocí různých vzorů objektově orientovaného programování
Ahoj mami. Uložení dat v počítači. Příklady kódování dat. IAJCE Přednáška č. 4
Uložení dat v počítači Data = užitečné, zpracovávané informace Kódování (formát) dat = způsob uložení v počítači (nutno vše převést na čísla ve dvojkové soustavě) Příklady kódování dat Text každému znaku
Základy jazyka C. Základy programování 1 Martin Kauer (Tomáš Kühr)
Základy jazyka C Základy programování 1 Martin Kauer (Tomáš Kühr) Organizační záležitosti Konzultace Pracovna 5.076 Úterý 15:00 16:30 Emailem martin.kauer@upol.cz Web předmětu http://tux.inf.upol.cz/~kauer/index.php?content=var&class=zp1
Překladač a jeho struktura
Překladač a jeho struktura Překladače, přednáška č. 1 Šárka Vavrečková Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz http://fpf.slu.cz/ vav10ui Poslední aktualizace: 23. září 2008 Definice
Jazyk C++ II. Šablony a implementace
Jazyk C++ II Šablony a implementace AR 2013/2014 Jazyk C++ II Úvod Dědičnost a kompozice nejsou vždy tou správnou odpovědí na požadavky znovupoužitelnosti kódu. Proto máme možnost definování určité třídy
VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu
VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632
PHP tutoriál (základy PHP snadno a rychle)
PHP tutoriál (základy PHP snadno a rychle) Druhá, vylepšená offline verze. Připravil Štěpán Mátl, http://khamos.wz.cz Chceš se naučit základy PHP? V tom případě si prostuduj tento rychlý průvodce. Nejdříve
Kolekce, cyklus foreach
Kolekce, cyklus foreach Jen informativně Kolekce = seskupení prvků (objektů) Jednu již známe pole (Array) Kolekce v C# = třída, která implementuje IEnumerable (ICollection) Cyklus foreach ArrayList pro
MQL4 COURSE. By Coders guru www.forex-tsd.com -3 DATA TYPES. Doufám, že předchozí lekce SYNTAX se vám líbila. V té jsme se pokoušeli zodpovědět:
MQL4 COURSE By Coders guru www.forex-tsd.com -3 DATA TYPES Vítám vás ve třetí lekci svého MQL4 kurzu. Doufám, že předchozí lekce SYNTAX se vám líbila. V té jsme se pokoušeli zodpovědět: Jaký formát můžete
Vzorce. StatSoft. Vzorce. Kde všude se dá zadat vzorec
StatSoft Vzorce Jistě se Vám již stalo, že data, která máte přímo k dispozici, sama o sobě nestačí potřebujete je nějak upravit, vypočítat z nich nějaké další proměnné, provést nějaké transformace, Jinak
1 2 3 4 5 6 součet cvičení celkem. známka. Úloha č.: max. bodů: skut. bodů:
Úloha č.: max. bodů: skut. bodů: 1 2 3 4 5 6 součet cvičení celkem 20 12 20 20 14 14 100 známka UPOZORNĚNÍ : a) Písemná zkouška obsahuje 6 úloh, jejichž řešení musí být vepsáno do připraveného formuláře.