Přetěžování operátorů

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Přetěžování operátorů"

Transkript

1 Karel Müller, Josef Vogel (ČVUT FIT) Přetěžování operátorů BI-PA2, 2011, Přednáška 4 1/31 Přetěžování operátorů Ing. Josef Vogel, CSc Katedra softwarového inženýrství Katedra teoretické informatiky, Fakulta informačních technologii, ČVUT v Praze Karel Müller, Josef Vogel, 2011 Programování a algoritmizace 2, BI-PA2, 2011, Přednáška 4 BI-PA2 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

2 Přetěžování operátorů třída Zlomek s operacemi pomocí funkcí třída Zlomek s operacemi pomocí metod třída Zlomek s operátory přetíženými pomocí funkcí třída Zlomek s operátory přetíženými pomocí metod třída Zlomek s operátory přetíženými pomocí friend-funkcí třída Zlomek s přetíženým operátorem << konstruktor uživatelské konverze přehled přetěžování operátorů Karel Müller, Josef Vogel (ČVUT FIT) Přetěžování operátorů BI-PA2, 2011, Přednáška 4 2/31

3 p4\zlomek1\zlomek.h Třída Zlomek po prvé Instance třídy Zlomek je objekt obsahující dvě celočíselné položky: čitatel a jmenovatel Instanční metody jsou zřejmé z následující deklarace třídy. Operace sčítání a odčítání realizujeme pomocí funkcí definovaných mimo třídu: class Zlomek { int cit, jmen; void zkratit(); public: Zlomek(int c = 0, int j = 1); int citatel() const {return cit; int jmenovatel() const {return jmen; void vypis() const; ; Zlomek soucet(zlomek, Zlomek); Zlomek rozdil(zlomek, Zlomek); bool rovno(zlomek, Zlomek); Karel Müller, Josef Vogel (ČVUT FIT) Přetěžování operátorů BI-PA2, 2011, Přednáška 4 3/31

4 Operace se zlomky Zkrácení zlomku čitatele i jmenovatele vydělíme největším společným dělitelem čitatele a jmenovatele Součet zlomků zlomky převedeme na společného jmenovatele a pak sečteme Rozdíl zlomků zlomky převedeme na společného jmenovatele a pak odečteme Karel Müller, Josef Vogel (ČVUT FIT) Přetěžování operátorů BI-PA2, 2011, Přednáška 4 4/31

5 Karel Müller, Josef Vogel (ČVUT FIT) Přetěžování operátorů BI-PA2, 2011, Přednáška 4 5/31 Definice konstruktoru a metod: p4\zlomek1\zlomek.cpp Třída Zlomek po prvé Zlomek::Zlomek(int c, int j) { cit = c; if (j>0) jmen = j; else if (j<0) { jmen = -j; cit = -cit; else throw "jmenovatel je 0"; zkratit(); vyvolání výjimky int nsd(int x, int y) { int zbytek = x%y; while (zbytek!=0) { x = y; y = zbytek; zbytek = x%y; return y; void Zlomek::zkratit() { int d = nsd(abs(cit), jmen); if (d==1) return; cit /= d; jmen /= d; void Zlomek::vypis() const { cout << '(' << cit << '/' << jmen << ')';

6 p4\zlomek1\zlomek.cpp Třída Zlomek po prvé Karel Müller, Josef Vogel (ČVUT FIT) Přetěžování operátorů BI-PA2, 2011, Přednáška 4 6/31 Definice netřídních funkcí Zlomek soucet(zlomek x, Zlomek y) { int spoljm = x.jmenovatel() * y.jmenovatel(); Zlomek res(x.citatel()*y.jmenovatel() + y.citatel()*x.jmenovatel(), spoljm); return res; Zlomek rozdil(zlomek x, Zlomek y) { int spoljm = x.jmenovatel() * y.jmenovatel(); Zlomek res(x.citatel()*y.jmenovatel() y.citatel()*x.jmenovatel(), spoljm); return res; bool rovno(zlomek x, Zlomek y) { return x.citatel()*y.jmenovatel() == x.jmenovatel()*y.citatel();

7 p4\zlomek1\main.cpp Třída Zlomek po prvé Karel Müller, Josef Vogel (ČVUT FIT) Přetěžování operátorů BI-PA2, 2011, Přednáška 4 7/31 Použití: #include "zlomek.h" int main() { Zlomek a(3,5), b(1), c; a.vypis(); cout << ' '; b.vypis(); cout << endl; c = soucet(a, b); c.vypis(); cout << endl; c = rozdil(a, b); c.vypis(); cout << endl; cout << rovno(a,b) << endl; system("pause"); return 0;

8 p4\zlomek2\zlomek.h Třída Zlomek po druhé Karel Müller, Josef Vogel (ČVUT FIT) Přetěžování operátorů BI-PA2, 2011, Přednáška 4 8/31 Binární operace se zlomky můžeme realizovat pomocí metod (metody třídy Zlomek mohou používat privátní položky) class Zlomek { int cit, jmen; void zkratit(); public: Zlomek(int c = 0, int j = 1); int citatel() const {return cit; int jmenovatel() const {return jmen; void vypis() const; Zlomek soucet(zlomek) const; Zlomek rozdil(zlomek) const; bool rovno(zlomek) const; ;

9 p4\zlomek2\zlomek.cpp Třída Zlomek po druhé Karel Müller, Josef Vogel (ČVUT FIT) Přetěžování operátorů BI-PA2, 2011, Přednáška 4 9/31 V metodě realizující binární operaci se zlomky bude první operand reprezentován objektem, na který se metoda aplikuje, a druhý operand bude dán parametrem metody Zlomek Zlomek::soucet(Zlomek y) const { int spoljm = jmen * y.jmen; Zlomek res(cit*y.jmen + y.cit*jmen, spoljm); return res; Zlomek Zlomek::rozdil(Zlomek y) const { int spoljm = jmen * y.jmen; Zlomek res(cit*y.jmen - y.cit*jmen, spoljm); return res; bool Zlomek::rovno(Zlomek y) const { return cit*y.jmen == jmen*y.cit;

10 p4\zlomek2\main.cpp Třída Zlomek po druhé Karel Müller, Josef Vogel (ČVUT FIT) Přetěžování operátorů BI-PA2, 2011, Přednáška 4 10/31 V metodě realizující binární operaci se zlomky bude první operand reprezentován objektem, na který se metoda aplikuje, a druhý operand bude dán parametrem metody int main() { Zlomek a(3,5), b(1), c; a.vypis(); cout << ' '; b.vypis(); cout << endl; c = a.soucet(b); c.vypis(); cout << endl; c = a.rozdil(b); c.vypis(); cout << endl; cout << a.rovno(b) << endl; system("pause"); return 0;

11 p4\zlomek3\main.cpp Třída Zlomek po třetí Karel Müller, Josef Vogel (ČVUT FIT) Přetěžování operátorů BI-PA2, 2011, Přednáška 4 11/31 Nelíbilo by se vám, kdybychom pro součet zlomků mohli použít operátor + a pro rozdíl zlomků operátor -? Pak by hlavní funkce mohla mít tento kód: int main() { Zlomek a(3,5), b(1), c; a.vypis(); cout << ' '; b.vypis(); cout << endl; c = a + b; c.vypis(); cout << endl; c = a - b; c.vypis(); cout << endl; cout << (a == b) << endl; system("pause"); return 0; Toho lze dosáhnout přetížením operátorů

12 p4\zlomek3\zlomek.h Třída Zlomek po třetí Karel Müller, Josef Vogel (ČVUT FIT) Přetěžování operátorů BI-PA2, 2011, Přednáška 4 12/31 Deklarace třídy Zlomek a funkcí přetěžujících operátory: class Zlomek { int cit, jmen; void zkratit(); public: Zlomek(int c = 0, int j = 1); int citatel() const {return cit; int jmenovatel() const {return jmen; void vypis() const; ; Zlomek operator+(zlomek, Zlomek); Zlomek operator-(zlomek, Zlomek); bool operator==(zlomek, Zlomek);

13 Třída Zlomek po třetí Přetížení binárních operátorů pomocí funkcí způsobí, že c = a + b; se provede jako c = operator+(a, b); c = a - b; se provede jako c = operator-(a, b); a == b se vyhodnotí jako operator==(a, b); Karel Müller, Josef Vogel (ČVUT FIT) Přetěžování operátorů BI-PA2, 2011, Přednáška 4 13/31

14 p4\zlomek3\zlomek.cpp Třída Zlomek po třetí Karel Müller, Josef Vogel (ČVUT FIT) Přetěžování operátorů BI-PA2, 2011, Přednáška 4 14/31 Definice funkcí přetěžujících operátory: Zlomek operator+(zlomek x, Zlomek y) { int spoljm = x.jmenovatel() * y.jmenovatel(); Zlomek res(x.citatel()*y.jmenovatel() + y.citatel()*x.jmenovatel(), spoljm); return res; Zlomek operator-(zlomek x, Zlomek y) { int spoljm = x.jmenovatel() * y.jmenovatel(); Zlomek res(x.citatel()*y.jmenovatel() y.citatel()*x.jmenovatel(), spoljm); return res; bool operator==(zlomek x, Zlomek y) { return x.citatel()*y.jmenovatel() == x.jmenovatel()*y.citatel();

15 p4\zlomek4\zlomek.h Třída Zlomek po čtvrté Karel Müller, Josef Vogel (ČVUT FIT) Přetěžování operátorů BI-PA2, 2011, Přednáška 4 15/31 Operátor lze přetížit též metodou: class Zlomek { int cit, jmen; void zkratit(); public: Zlomek(int c = 0, int j = 1); int citatel() const {return cit; int jmenovatel() const {return jmen; void vypis() const; Zlomek operator+(zlomek) const; Zlomek operator-(zlomek) const; bool operator==(zlomek) const; ;

16 Třída Zlomek po čtvrté Přetížení binárních operátorů pomocí metod způsobí, že c = a + b; se provede jako c = a.operator+(b); c = a - b; se provede jako c = a.operator-(b); a == b se vyhodnotí jako a.operator==(b); Poznámka: operátor nemůže být současně přetížen funkcí i metodou Karel Müller, Josef Vogel (ČVUT FIT) Přetěžování operátorů BI-PA2, 2011, Přednáška 4 16/31

17 p4\zlomek4\zlomek.cpp Třída Zlomek po čtvrté Karel Müller, Josef Vogel (ČVUT FIT) Přetěžování operátorů BI-PA2, 2011, Přednáška 4 17/31 Operátor lze přetížit též metodou: Zlomek Zlomek::operator+(Zlomek y) const { int spoljm = jmen * y.jmen; Zlomek res(cit*y.jmen + y.cit*jmen, spoljm); return res; Zlomek Zlomek::operator-(Zlomek y) const { int spoljm = jmen * y.jmen; Zlomek res(cit*y.jmen - y.cit*jmen, spoljm); return res; bool Zlomek::operator==(Zlomek y) const { return cit*y.jmen == jmen*y.cit;

18 p4\zlomek5\zlomek.h Třída Zlomek po páté Karel Müller, Josef Vogel (ČVUT FIT) Přetěžování operátorů BI-PA2, 2011, Přednáška 4 18/31 Operátor lze přetížit pomocí friend funkce, která má stejný přístup k private položkám, jako instanční metody třídy: class Zlomek { int cit, jmen; void zkratit(); public: Zlomek(int c = 0, int j = 1); int citatel() const {return cit; int jmenovatel() const {return jmen; void vypis() const; friend Zlomek operator+(zlomek, Zlomek); friend Zlomek operator-(zlomek, Zlomek); friend bool operator==(zlomek, Zlomek); ;

19 p4\zlomek5\zlomek.cpp Třída Zlomek po páté Karel Müller, Josef Vogel (ČVUT FIT) Přetěžování operátorů BI-PA2, 2011, Přednáška 4 19/31 Definice friend-funkcí vypadají stejně, jako definice jiných funkcí (můžeme v nich však používat private položky) Zlomek operator+(zlomek x, Zlomek y) { int spoljm = x.jmen * y.jmen; Zlomek res(x.cit*y.jmen + y.cit*x.jmen, spoljm); return res; Zlomek operator-(zlomek x, Zlomek y) { int spoljm = x.jmen * y.jmen; Zlomek res(x.cit*y.jmen - y.cit*x.jmen, spoljm); return res; bool operator==(zlomek x, Zlomek y) { return x.cit*y.jmen == x.jmen*y.cit;

20 p4\zlomek6\main.cpp Třída Zlomek po šesté Karel Müller, Josef Vogel (ČVUT FIT) Přetěžování operátorů BI-PA2, 2011, Přednáška 4 20/31 A co výstupní konverze do standardního proudu cout? Lze dosáhnout toho, aby výpis zlomku byl předepsán operátorem <<, jak je uvedeno v následující funkci main? int main() { Zlomek a(3,5), b(1), c; cout << a << ' ' << b << endl; c = a + b; cout << c << endl; c = a - b; cout << c << endl; cout << (a == b) << endl; system("pause"); return 0;

21 p4\zlomek6\zlomek.h, zlomek.cpp Třída Zlomek po šesté Karel Müller, Josef Vogel (ČVUT FIT) Přetěžování operátorů BI-PA2, 2011, Přednáška 4 21/31 Výstupní konverzi zlomků pomocí operátoru << umožní přetížení tohoto operátoru (pomocí funkce) pro pravý operand typu Zlomek: class Zlomek { int cit, jmen; void zkratit(); public: Zlomek(int c = 0, int j = 1); int citatel() const {return cit; int jmenovatel() const {return jmen; friend Zlomek operator+(zlomek, Zlomek); friend Zlomek operator-(zlomek, Zlomek); friend bool operator==(zlomek, Zlomek); friend ostream& operator<<(ostream&, Zlomek); ; ostream& operator<<(ostream& os, Zlomek x) { os << '{' << x.cit << '/' << x.jmen << ')'; return os;

22 p4\zlomek6\main2.cpp Třída Zlomek po šesté a půl Karel Müller, Josef Vogel (ČVUT FIT) Přetěžování operátorů BI-PA2, 2011, Přednáška 4 22/31 Podívejme se ještě na funkci main2.cpp: číslo typu int se přiřazuje do proměnné typu Zlomek, sčítá se zlomek s číslem typu int, číslo typu int se zlomkem: int main() { Zlomek a(3,5), b; int i = 1; b = 2; cout << b << endl; b = a + i; cout << b << endl; b = 2 + a; cout << b << endl; system("pause"); return 0; Kdo za to může? Zlomek = int Zlomek = Zlomek + int Zlomek = int + Zlomek

23 Konstruktor uživatelské konverze Konstruktorem uživatelské konverze typu T1 na T je každý konstruktor třídy T, který lze volat s jediným parametrem typu T1 Je-li ve třídě takový konstruktor, pak všude tam, kde se očekává objekt typu T, může být uveden výraz typu T1. Konverze se provede tak, že se vytvoří dočasný objekt typu T a ten se inicializuje konstruktorem uživatelské konverze Konstruktor Zlomek(int c = 0, int j = 1); je konstruktorem uživatelské konverze. Proto: b = 2; se provede jako b = Zlomek(2); b = a + 2; se provede jako b = a + Zlomek(2); b = 2 + a; se provede jako b = Zlomek(2) + a; Uživatelskou konverzi lze zakázat tím, že před deklaraci konstruktoru se uvede explicit: explicit Zlomek(int c = 0, int j = 1); Vyzkoušejte Karel Müller, Josef Vogel (ČVUT FIT) Přetěžování operátorů BI-PA2, 2011, Přednáška 4 23/31

24 p4\zlomek7\zlomek.h,zlomek.cpp Přehled přetěžování binárních operátorů Binární (* / % + - << >> < <= > >= ==!= & ^ && += -=...) zápis operace: signatura: přetížení metodou třídy T1: ekviv. volání metody: přetížení funkcí: ekviv. -> Tv Tv Tv Poznámka: přetížením operátoru např. + není přetížen operátor +=, ten musíme přetížit zvlášť, např. takto: friend Zlomek& operator+=(zlomek&, Zlomek); Zlomek& operator+=(zlomek& x, Zlomek y) { int spoljm = x.jmen*y.jmen; x.cit = x.cit*y.jmen+y.cit*x.jmen; x.jmen = spoljm; x.zkratit(); return x; Karel Müller, Josef Vogel (ČVUT FIT) Přetěžování operátorů BI-PA2, 2011, Přednáška 4 24/31

25 p4\zlomek7\zlomek.h,zlomek.cpp Přehled přetěžování unárních operátorů Karel Müller, Josef Vogel (ČVUT FIT) Přetěžování operátorů BI-PA2, 2011, Přednáška 4 25/31 a) Unární prefixové (! ~ & *) zápis operace: signatura: přetížení metodou třídy T: ekviv. volání metody: přetížení funkcí: ekviv. -> Tv Tv Tv Příklad: Zlomek operator++(); Zlomek Zlomek::operator ++() { cit += jmen; zkratit(); return *this;

26 p4\zlomek7\zlomek.h,zlomek.cpp Přehled přetěžování unárních operátorů b) Unární postfixové (++ --) zápis operace: signatura: přetížení metodou třídy T: ekviv. volání metody: přetížení funkcí: ekviv. volání -> Tv Tv Tv Příklad: Zlomek operator++(int); Zlomek Zlomek::operator ++(int) { Zlomek vysl = *this; cit += jmen; zkratit(); return vysl; Karel Müller, Josef Vogel (ČVUT FIT) Přetěžování operátorů BI-PA2, 2011, Přednáška 4 26/31

27 p4\zlomek7\main.cpp Třída Zlomek po sedmé Karel Müller, Josef Vogel (ČVUT FIT) Přetěžování operátorů BI-PA2, 2011, Přednáška 4 27/31 Použití: int main() { Zlomek a(2,5); cout << a << endl; // vypise (2/5) cout << ++a << endl; // vypise (7/5) cout << a++ << endl; // vypise (7/5) cout << a << endl; // vypise (12/5) Zlomek x(3,4), y(1,8); x += y; cout << x << endl; // vypise (7/8) return 0;

28 Přetížení operátoru = Operátor přiřazení (=) zápis operace: signatura: přetížení metodou třídy T: ekviv. volání metody: přetížení funkcí: ekviv. volání funkce: x = y T = T1 -> T T& operator=(const T1&) x.operator=(y) - - Poznámky: Typ argumentu T1 je obvykle stejný s T Typ výsledku může být též const T& nebo void. Jaký je v tom případě důsledek? Karel Müller, Josef Vogel (ČVUT FIT) Přetěžování operátorů BI-PA2, 2011, Přednáška 4 28/31

29 Přetížení operátoru [] Operátor [] zápis operace: signatura: přetížení metodou třídy T: ekviv. volání metody: přetížení funkcí: ekviv. volání funkce: x[y] T[T1] -> Tv Tv& operator[](t1) nebo const Tv& operator[](t1) cons x.operator[](y) - - První způsob přetížení je určen pro nekonstantní objekty a umožňuje použít výsledek jako l-value (tzn. na levé straně přiřazení) Druhý způsob přetížení je určen pro konstantní objekty, výsledek není modifikovatelný Karel Müller, Josef Vogel (ČVUT FIT) Přetěžování operátorů BI-PA2, 2011, Přednáška 4 29/31

30 Karel Müller, Josef Vogel (ČVUT FIT) Přetěžování operátorů BI-PA2, 2011, Přednáška 4 30/31 Přetížení operátoru -> Operátor -> (unární) zápis operace: signatura: přetížení metodou třídy T: ekviv. volání metody: přetížení funkcí: ekviv. volání funkce: x -> p T -> Tv* Tv* operator->() (x.operator->()) -> p - -

31 Karel Müller, Josef Vogel (ČVUT FIT) Přetěžování operátorů BI-PA2, 2011, Přednáška 4 31/31 Přetížení operátoru volání funkce Operátor () zápis operace: signatura: přetížení metodou třídy T: ekviv. volání metody: přetížení funkcí: ekviv. volání funkce: x(x1,x2,,xn) T(T1,T2,,Tn) -> Tv Tv operator()(t1,t2,,tn) x.operator()(x1,x2,,xn) - -

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

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

PB161 Programování v C++ Proudy pro standardní zařízení Souborové proudy Paměťové proudy Manipulátory

PB161 Programování v C++ Proudy pro standardní zařízení Souborové proudy Paměťové proudy Manipulátory PB161 Programování v C++ Proudy pro standardní zařízení Souborové proudy Paměťové proudy Manipulátory Výhody objektového řešení Nástroje pro IO operace jsou v C++ součástí knihoven Hierarchie objektový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

Pokročilé programování v jazyce C pro chemiky (C3220) Statické proměnné a metody, šablony v C++

Pokročilé programování v jazyce C pro chemiky (C3220) Statické proměnné a metody, šablony v C++ Pokročilé programování v jazyce C pro chemiky (C3220) Statické proměnné a metody, šablony v C++ Globální konstantní proměnné Konstantní proměnné specifikujeme s klíčovým slovem const, tyto konstantní proměné

Více

Syntaxe vyjímek. #include <iostream> #include <string> using namespace std; // Trida vyjimek class Vyjimka { private:

Syntaxe vyjímek. #include <iostream> #include <string> using namespace std; // Trida vyjimek class Vyjimka { private: Vyjímky. Pod pojmem výjimka se rozumí nějaká výjimečná situace, která nastane v dané funkci. V jazyce C i C++ se často používá návratových hodnot funkcí, které vracejí úspěšnost provádění nějaké operace

Více

Kód. Proměnné. #include <iostream> using namespace std; int main(void) { cout << "Hello world!" << endl; cin.get(); return 0; }

Kód. Proměnné. #include <iostream> 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

Více

Jazyk C++ II. Šablony a implementace

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

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

Ú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

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

Datové struktury. alg12 1

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

Více

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

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

Iterátory v C++. int pole[20]; for (int *temp = pole, temp!= &pole[20]; temp++) { *temp = 0;

Iterátory v C++. int pole[20]; for (int *temp = pole, temp!= &pole[20]; temp++) { *temp = 0; Iterátory v C++. Iterátor v C++ je vlastně taková obdoba ukazatelů pro kontejnery. Dříve, než se dostaneme k bližšímu vysvětlení pojmu iterátor, ukážeme si jednoduchý příklad, jak pracovat s obyčejným

Více

Virtuální metody - polymorfizmus

Virtuální metody - polymorfizmus - polymorfizmus - potomka lze použít v místě, kde je možné použít předka - v dosud probraných situacích byly vždy volány funkce, které jsou známy již v době překladu. V situaci, kdy v době překladu není

Více

Využití OOP v praxi -- Knihovna PHP -- Interval.cz

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í

Více

Programování v C++ Ostrava, 2008 Rostislav Fojtík

Programování v C++ Ostrava, 2008 Rostislav Fojtík Programování v C++ Ostrava, 2008 Rostislav Fojtík Obsah: Úvodní lekce... 5 1. Základy OOP v C++... 7 2. Nové prvky jazyka C++... 17 3. Třídy a instance... 29 4. Statické datové členy a funkce. Přátelé....

Více

map, multimap - Asociativní pole v C++.

map, multimap - Asociativní pole v C++. map, multimap - Asociativní pole v C++. Jedná se o asociativní pole. V asociativním poli jsou uloženy hodnoty ve tvaru (klíč,hodnota), kde klíč je vlastně "index" prvku. Klíčem může být libovolný objekt,

Více

Pokročilé programování v jazyce C pro chemiky (C3220) Dědičnost tříd v C++

Pokročilé programování v jazyce C pro chemiky (C3220) Dědičnost tříd v C++ Pokročilé programování v jazyce C pro chemiky (C3220) Dědičnost tříd v C++ Dědičnost tříd Dědičnost umožňuje vytvářet nové třídy z tříd existujících tak, že odvozené třídy (tzv. potomci) dědí vlastnosti

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

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

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

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

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

Pokročilé programování v jazyce C pro chemiky (C3220) Vstup a výstup v C++

Pokročilé programování v jazyce C pro chemiky (C3220) Vstup a výstup v C++ Pokročilé programování v jazyce C pro chemiky (C3220) Vstup a výstup v C++ Proudy pro standardní vstup a výstup V jazyce C++ provádíme textový vstup a výstup prostřednictvím tzv. datových proudů Datové

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

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

Pro kontrolu správného formátu hodnoty N použijeme metodu try-catch.

Pro kontrolu správného formátu hodnoty N použijeme metodu try-catch. 1. ŘEŠENÉ PŘÍKLADY 1.2 PŘÍKLAD 24-2-8-2_DOKONALÉ ČÍSLO Napište program, který má na vstupu přirozené číslo N > 1. Výstupem je informace o tom, zda toto číslo je/není dokonalé. (Dokonalé číslo je takové

Více

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

Více

Programování a algoritmizace 1 2012-2013

Programování a algoritmizace 1 2012-2013 Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti Algoritmy Kdo je

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

Programovací jazyk C++ Mgr. Rostislav Fojtík Ostrava, 1998

Programovací jazyk C++ Mgr. Rostislav Fojtík Ostrava, 1998 1 Programovací jazyk C++ Mgr. Rostislav Fojtík Ostrava, 1998 2 Obsah 1. Úvod...3 2. Základy objektově orientovaného programování v jazyku C++...4 2.1. Třídy...4 2.2. Dědičnost - inheritance...6 3. Nové

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

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

Projekt Obrázek strana 135

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

Více

1. Téma 12 - Textové soubory a výjimky

1. Téma 12 - Textové soubory a výjimky 1. Téma 12 - Textové soubory a výjimky Cíl látky Procvičit práci se soubory s využitím výjimek. 1.1. Úvod Program, aby byl programem, my mít nějaké výstupy a vstupy. Velmi častým případem je to, že se

Více

Práce se soubory v Javě

Práce se soubory v Javě Práce se soubory v Javě Cílem kapitoly je naučit pracovat se soubory a adresáři v Javě. Na jednoduchých příkladech ukázat procházení adresáře, čtení z textového souboru a zápis do textového souboru. Klíčové

Více

Znaky. IAJCE Přednáška č. 10. každému znaku je nutné přiřadit nějaké číslo (nezáporné přímé mapování znak <->

Znaky. IAJCE Přednáška č. 10. každému znaku je nutné přiřadit nějaké číslo (nezáporné přímé mapování znak <-> Znaky každému znaku je nutné přiřadit nějaké číslo (nezáporné přímé mapování znak číslo) kódování jiný příklad kódování existuje mnoho kódů pojmy: morseova abeceda problémy o znaková sada které znaky

Více

1. Úvod www.uamt.feec.vutbr.cz/~richter (vyuka/1011_ppc/bppc) 2.1 Opakování programování

1. Úvod www.uamt.feec.vutbr.cz/~richter (vyuka/1011_ppc/bppc) 2.1 Opakování programování 1. Úvod www.uamt.feec.vutbr.cz/~richter (vyuka/1011_ppc/bppc) - starší materiály stále na síti, kombinovaný KPPC další příklady - cvičící a přednášející - rovnocenní - organizace přednášek a cvičení -

Více

17. Projekt Trojúhelníky

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

Více

Literatura. Zdroje informací. Petr Peringer peringer AT fit.vutbr.cz

Literatura. Zdroje informací. Petr Peringer peringer AT fit.vutbr.cz Úvod Jazyk Knihovny C++11 Úvod Úvod Jazyk Knihovny C++11 Literatura Seminář C++ Petr Peringer peringer AT fit.vutbr.cz Vysoké učení technické v Brně Fakulta informačních technologií, Božetěchova 2, 61266

Více

PHP tutoriál (základy PHP snadno a rychle)

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

Více

IUJCE 07/08 Přednáška č. 4. v paměti neexistuje. v paměti existuje

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

Více

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

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

Více

Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz)

Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz) Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz) Autor: Radek Vystavěl Díl 12: Algebra Lineární transformace MATEMATIKA Lineární transformace, neboli přeet hodnoty x podle

Více

Bridge. Známý jako. Účel. Použitelnost. Handle/Body

Bridge. Známý jako. Účel. Použitelnost. Handle/Body Bridge Bridge Známý jako Handle/Body Účel odděluje abstrakci (rozhraní a jeho sémantiku) od její konkrétní implementace předchází zbytečnému nárůstu počtu tříd při přidávání implementací používá se v době

Více

Stream API. Petr Krajča. Základy programovaní 4 (Java) Katedra informatiky Univerzita Palackého v Olomouci

Stream API. Petr Krajča. Základy programovaní 4 (Java) Katedra informatiky Univerzita Palackého v Olomouci Základy programovaní 4 (Java) Stream API Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci Petr Krajča (UP) KMI/ZP4JV 5. listopad, 2014 1 / 10 Stream API Java 8 nový přístup k práci s kolekcemi

Více

- dělají se také pomocí #define - podobné (použitím) funkcím - předpřipravená jsou např. v ctype.h. - jak na vlastní makro:

- dělají se také pomocí #define - podobné (použitím) funkcím - předpřipravená jsou např. v ctype.h. - jak na vlastní makro: 21.4.2009 Makra - dělají se také pomocí #define - podobné (použitím) funkcím - předpřipravená jsou např. v ctype.h - jak na vlastní makro: #define je_velke(c) ((c) >= 'A' && (c)

Více

Kolekce, cyklus foreach

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

Více

Vlákno odlehčený proces kód vlákna, zásobník privátní ostatní sdíleno s dalšími vlákny téhož procesu

Vlákno odlehčený proces kód vlákna, zásobník privátní ostatní sdíleno s dalšími vlákny téhož procesu Procesy, vlákna Vlákno odlehčený proces kód vlákna, zásobník privátní ostatní sdíleno s dalšími vlákny téhož procesu Implementace vláken one-to-one o implementace na úrovni jádra o každé vlákno je pro

Více

Při studiu tohoto bloku se předpokládá, že student je zvládá základy programování v jazyce Java s využitím vývojového prostředí NetBeans.

Při studiu tohoto bloku se předpokládá, že student je zvládá základy programování v jazyce Java s využitím vývojového prostředí NetBeans. 1 Grafické rozhraní Studijní cíl Tento blok je věnován vytváření programů s využitím grafického rozhraní (GUI). Vysvětlen bude základní filozofie pro vytváření aplikací s GUI ve srovnání s konzolovými

Více

Jakub Čermák <jakub@jcermak.cz> http://www.jcermak.cz. Microsoft Student Partner

Jakub Čermák <jakub@jcermak.cz> http://www.jcermak.cz. Microsoft Student Partner Jakub Čermák http://www.jcermak.cz Microsoft Student Partner Úvod, příklady použití, trocha teorie Struktura aplikace Typy obecně, primitivní typy, speciální typy Podmínky, cykly, namespaces

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

Inovace bakalářského studijního oboru Aplikovaná chemie http://aplchem.upol.cz

Inovace bakalářského studijního oboru Aplikovaná chemie http://aplchem.upol.cz Inovace bakalářského studijního oboru Aplikovaná chemie http://aplchem.upol.cz CZ.1.07/2.2.00/15.0247 Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. Tvorba

Více

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

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

Prezentace a vysvětlení programového prostředí NXC

Prezentace a vysvětlení programového prostředí NXC Úvod Další jazyk, který je možno použít pro programování NXT kostky je NXC Not exatly C Na rozdíl od jazyku NXT-G, kde jsme vytvářeli program pomocí grafických prvků přesněji řečeno pomocí programovacích

Více

Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz)

Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz) Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz) Autor: Radek Vystavěl Díl 8: Analytická geometrie Polární souřadnice, kružnice, elipsa, spirála MATEMATIKA Pro úlohy aplikované

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

Testování. Zadání příkladu. Vytvoření kostry třídy. Obsah:

Testování. Zadání příkladu. Vytvoření kostry třídy. Obsah: Obsah: Testování... 1 Zadání příkladu... 1 Vytvoření kostry třídy... 1 Napsání testů... 2 Testy správnosti... 3 Testy výjimek... 3 Testy vztahů/závislostí... 4 Zdrojový text testu... 4 Spuštění testů...

Více

V případě jazyka Java bychom abstraktní datový typ Time reprezentující čas mohli definovat pomocí třídy takto:

V případě jazyka Java bychom abstraktní datový typ Time reprezentující čas mohli definovat pomocí třídy takto: 20. Programovací techniky: Abstraktní datový typ, jeho specifikace a implementace. Datový typ zásobník, fronta, tabulka, strom, seznam. Základní algoritmy řazení a vyhledávání. Složitost algoritmů. Abstraktní

Více

CODEWEEK 2014 Rozvoj algoritmického myšlení nejen pomocí programu MS Excel. Michaela Ševečková

CODEWEEK 2014 Rozvoj algoritmického myšlení nejen pomocí programu MS Excel. Michaela Ševečková CODEWEEK 2014 Rozvoj algoritmického myšlení nejen pomocí programu MS Excel Michaela Ševečková Rozvoj technického myšlení nejmenších dětí práce s předměty charakteristika, diferenciace (hledání rozdílů),

Více

Vstup a výstup datové proudy v C

Vstup a výstup datové proudy v C Vstup a výstup datové proudy v C Petr Šaloun katedra informatiky FEI VŠB-TU Ostrava 24. října 2011 Petr Šaloun (katedra informatiky FEI VŠB-TU Ostrava) Vstup a výstup 24. října 2011 1 / 37 Přehled, rozdělení

Více

Datové abstrakce v programovacích jazycích

Datové abstrakce v programovacích jazycích Datové abstrakce v programovacích jazycích Motivace Strukturovat rozsáhlé programy Dovolit separátní překlad Možné formy strukturování: Podprogramy původní forma abstrakce -abstrakce výpočtů Moduly kontejnery

Více

Už známe datové typy pro representaci celých čísel i typy pro representaci

Už známe datové typy pro representaci celých čísel i typy pro representaci Dlouhá čísla Tomáš Holan, dlouha.txt, Verse: 19. února 2006. Už známe datové typy pro representaci celých čísel i typy pro representaci desetinných čísel. Co ale dělat, když nám žádný z dostupných datových

Více

Seznámení s datovými typy a operátory

Seznámení s datovými typy a operátory Knihovny tříd Javy KAPITOLA 2 Seznámení s datovými typy a operátory Klíčové dovednosti a pojmy Seznámení s primitivními typy jazyka Java. Používání literálů. Inicializace proměnných. Seznámení s pravidly

Více

IPA - Lab.1 Úvod do programování v ASM

IPA - Lab.1 Úvod do programování v ASM IPA - Lab.1 Úvod do programování v ASM Ondřej Klubal http://www.fit.vutbr.cz/~iklubal/ipa/ 2014 Ondřej Klubal IPA - Lab.1 1 / 16 Osnova Nástroje Konvence volání Použití DLL Windows API Makra NASM + VS

Více

Algoritmy I, složitost

Algoritmy I, složitost A0B36PRI - PROGRAMOVÁNÍ Algoritmy I, složitost České vysoké učení technické Fakulta elektrotechnická v 1.01 Rychlost... Jeden algoritmus (program, postup, metoda ) je rychlejší než druhý. Co ta věta znamená??

Více

Roman Lukáš email: lukas@fit.vutbr.cz

Roman Lukáš email: lukas@fit.vutbr.cz ZADÁNÍ PROJEKTU Z PŘEDMĚTŮ IFJ A IAL Roman Lukáš email: lukas@fit.vutbr.cz 22. září 2008 1 Obecné informace Název projektu: Implementace interpretu imperativního jazyka IFJ08. Informace: diskusní skupina

Více

Objektově orientované programování v jazyce Python

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

Více

Vstupní požadavky, doporučení a metodické pokyny

Vstupní požadavky, doporučení a metodické pokyny Název modulu: Základy PHP Označení: C9 Stručná charakteristika modulu Modul je orientován na tvorbu dynamických stánek aktualizovaných podle kontextu volání. Jazyk PHP umožňuje velmi jednoduchým způsobem

Více

PHP. nejen pro začátečníky. $c; echo { Martin Pokorný. Vzdìlávání, které baví www.c-media.cz. Nakladatelství a vydavatelství.

PHP. nejen pro začátečníky. $c; echo { Martin Pokorný. Vzdìlávání, které baví www.c-media.cz. Nakladatelství a vydavatelství. }else{ { if($b >$ c){ echo $max=$b; // vypí }else{ echo $max=$c; // vypí?> cas se }e B : se{ echo B ; default: ($b>$c){ echo C ; } $max=$b; }else{ $max=$c; PHP nejen pro začátečníky k;?> $c; echo { Martin

Více

19. Projekt Adventura

19. Projekt Adventura Projekt Adventura strana 189 19. Projekt Adventura 19.1. Základní popis, zadání úkolu Pracujeme na projektu Adventura, který je ke stažení na java.vse.cz. Po otevření v BlueJ vytvoříme instanci třídy Hra.

Více

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

Seminář IVT. MS Excel, opakování funkcí

Seminář IVT. MS Excel, opakování funkcí Seminář IVT MS Excel, opakování funkcí Výuka Opakování z minulé hodiny. Založeno na výsledcích Vašich domácích úkolů, podrobné zopakování věcí, ve kterých děláte nejčastěji chyby. Nejčastější jsou následující

Více

IAJCE Přednáška č. 8. double tprumer = (t1 + t2 + t3 + t4 + t5 + t6 + t7) / 7; Console.Write("\nPrumerna teplota je {0}", tprumer);

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());

Více

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

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

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

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

Více

MQL4 COURSE. By Coders guru www.forex-tsd.com. -4 Operace & Výrazy

MQL4 COURSE. By Coders guru www.forex-tsd.com. -4 Operace & Výrazy MQL4 COURSE By Coders guru www.forex-tsd.com -4 Operace & Výrazy Vítejte ve čtvrté lekci mého kurzu MQL4. Předchozí lekce Datové Typy prezentovaly mnoho nových konceptů ; Doufám, že jste všemu porozuměli,

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

Algoritmy. 71 Zjištění, zda je číslo sudé. 72 Zjištění, zda je číslo dělitelné jiným beze zbytku

Algoritmy. 71 Zjištění, zda je číslo sudé. 72 Zjištění, zda je číslo dělitelné jiným beze zbytku Algoritmy 71 Zjištění, zda je číslo sudé Chceme-li zjistit, zda je určité číslo sudé, či liché, vypočítáme pomocí binárního operátoru % jeho zbytek po dělení číslem 2. Je-li roven 0, je číslo sudé, je-li

Více

Plánování a vývoj základního frameworku

Plánování a vývoj základního frameworku Shrnutí KAPITOLA 2 Plánování a vývoj základního frameworku Nyní, když máme jasno v tom, co nás v této knize čeká a proč, můžeme začít s vývojem našeho sociálního webu. Abychom zajistili rychlý postup vývoje,

Více

7.5 Diagram tříd pokročilé techniky

7.5 Diagram tříd pokročilé techniky 7.5 Diagram tříd pokročilé techniky Stereotypy - jeden ze základních prostředků rozšiřitelnosti UML - pro modelovací konstrukce neexistující v UML, ale podobné předdefinované v UML definované uživatelem

Více

7. Dynamické datové struktury

7. Dynamické datové struktury 7. Dynamické datové struktury Java poskytuje několik možností pro uložení většího množství dat (tj. objektů či primitivních datových typů) v paměti. S nejjednodušší z nich, s polem, jsme se již seznámili.

Více

2 Datové typy v jazyce C

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ý,

Více

- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku

- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku Znaky - standardní typ char var Z, W: char; - znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku - v TP (často i jinde) se používá kódová

Více

Základy programování v jazyce C++ Doprovodný text 1. část

Základy programování v jazyce C++ Doprovodný text 1. část Základy programování v jazyce C++ Zpracoval Mgr. Michal Tarabec (SŠ-COPTH) pro kroužek programování Doprovodný text 1. část 1. díl... 2 2. díl... 5 3. díl... 11 4.díl... 16 5. díl... 23 6. díl... 27 7.

Více

STŘEDOŠKOLSKÁ MATEMATIKA

STŘEDOŠKOLSKÁ MATEMATIKA STŘEDOŠKOLSKÁ MATEMATIKA MOCNINY, ODMOCNINY, ALGEBRAICKÉ VÝRAZY VŠB Technická univerzita Ostrava Ekonomická fakulta 006 Mocniny, odmocniny, algebraické výrazy http://moodle.vsb.cz/ 1 OBSAH 1 Informace

Více

Příklad : String txt1 = new String( Ahoj vsichni! ); //vytvoří instanci třídy String a přiřadí ji vnitřní hodnotu Ahoj vsichni!

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

Více

a jeho hodnotu pro x = 2 a jeho hodnotu pro x = 2 3 x. a jeho hodnotu pro x = 2 a jeho hodnotu pro x = 6; x = 13 28 = 1 7 a jeho hodnotu pro x = 2

a jeho hodnotu pro x = 2 a jeho hodnotu pro x = 2 3 x. a jeho hodnotu pro x = 2 a jeho hodnotu pro x = 6; x = 13 28 = 1 7 a jeho hodnotu pro x = 2 Obsah Definiční obory výrazů s proměnnou... Zápisy výrazů...3 Sčítání a odčítání mnohočlenů...4 Násobení mnohočlenů...5 Dělení mnohočlenů...7 Rozklad mnohočlenů na součin vytýkání...9 Rozklad mnohočlenů

Více

Skriptovací jazyky. Obsah

Skriptovací jazyky. Obsah Skriptovací jazyky 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 Co je to skriptovací jazyk? Výhody a nevýhody

Více

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:

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ý

Více

ARITMETIKA - SEKUNDA INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky

ARITMETIKA - SEKUNDA INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky ARITMETIKA - SEKUNDA Gymnázium Jiřího Wolkera v Prostějově Výukové materiály z matematiky pro nižší gymnázia Autoři projektu Student na prahu 21. století - využití ICT ve vyučování matematiky na gymnáziu

Více

Úvod do programování. Lekce 5

Úvod do programování. Lekce 5 I N V E S T I C E D O R O Z V O J E V Z D Ě L Á V Á N Í Inovace a zvýšení atraktivity studia optiky reg. č.: CZ.1.07/2.2.00/07.0289 Úvod do programování Lekce 5 Tento projekt je spolufinancován Evropským

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

Přirozená čísla do milionu 1

Přirozená čísla do milionu 1 statisíce desetitisíce tisíce stovky desítky jednotky Klíčová aktivita: Přirozená čísla do milionu 1 č. 1 Matematika 1. Porovnej čísla: , =. 758 258 4 258 4 285 568 470 56 847 203 488 1 584 2 458 896

Více

Ošetřování chyb v programech

Ošetřování chyb v programech Ošetřování chyb v programech Úvod chyba v programu = normální záležitost typy chyb: 1) programátorská chyba při návrhu každých 10 000 řádek 1 chyba lze jen omezeně ošetřit (před pádem aplikace nabídnout

Více

Algebraické výrazy pro učební obory

Algebraické výrazy pro učební obory Variace 1 Algebraické výrazy pro učební obory Autor: Mgr. Jaromír JUŘEK Kopírování a jakékoliv další využití výukového materiálu je povoleno pouze s uvedením odkazu na www.jarjurek.cz. 1. Algebraické výrazy

Více

Makra v OpenOffice.org Calc

Makra v OpenOffice.org Calc Makra v OpenOffice.org Calc Petr Ponížil Tento výukový materiál vznikl jako součást grantového projektu Gymnázia Kroměříž s názvem Beznákladové ICT pro učitele realizovaného v letech 2009 2012. Projekt

Více

( ) 2 2 2 ( ) 3 3 2 2 3. Výrazy Výraz je druh matematického zápisu, který obsahuje konstanty, proměnné, symboly matematických operací, závorky.

( ) 2 2 2 ( ) 3 3 2 2 3. Výrazy Výraz je druh matematického zápisu, který obsahuje konstanty, proměnné, symboly matematických operací, závorky. Výrzy Výrz je druh mtemtického zápisu, který obshuje konstnty, proměnné, symboly mtemtických opercí, závorky. Příkldy výrzů: + výrz obshuje pouze konstnty číselný výrz x výrz obshuje konstntu ( proměnnou

Více