Programovanie

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

Download "Programovanie"

Transkript

1 Programovanie Prednáška - STL Ing. František Gyárfáš, PhD. gyarfas@ii.fmph.uniba.sk

2 template<typename T> class POLE {... public: bool vloz(const T &vstup);... Cvičenie 8. template<typename T> class MNOZINA: public POLE<T> {... public: bool vloz(const T &vstup);... Umožňuje viacnásobné zadanie tej istej hodnoty. Neumožňuje viacnásobné zadanie tej istej hodnoty. Podobná situácia, ako pri vtákoch a pinguinoch.

3 Kopa dát

4 Kopa dát rovnakého typu

5 Ako ich uložiť? Čo s nimi budem robiť? Priamy prístup [i] Kontrola indexov Zaberanie miesta Ľahké a lacné vkladanie Usporiadanie Vyhľadávanie LIFO, FIFO, Protekcia Prechádzanie Duplicita Vyhadzovanie

6 Výhody a nevýhody pola double *pole = new double[size]; Výhody: jednoduchosť, pochopiteľnosť rýchly priamy prístup ku všetkým položkám úplná kontrola nad všetkými činnosťami Nevýhody: hrôzostrašné nebezpečenstvo prekročenia limitov pola veľká cena zmeny veľkosti veľká cena vsúvania dát do vnútra úplná kontrola nad všetkými činnosťami

7 STL C++ ponúka šablónové riešenie pre manipuláciu s dátami rovnakého typu: knižnicu STL (Standard Template Library). Sekvenčné kontajnery lineárne organizované kontajnery (vector, list, deque, bitset). Asociatívne kontajnery sami si určujú spôsob uloženia. Umožňujú prístup prostredníctvom kľúčov (set, multiset, map, multimap).

8 Sekvenčné kontajnery Sekvenčné kontajnery lineárne organizované kontajnery, u ktorých má zmysel hovoriť o poradí uložených dát. Dynamicky menia svoju veľkosť podľa potreby. vector je lineárna postupnosť objektov. deque je to fronta s dvoma koncami. list je to obojstranný zreťazený zoznam.

9 Kontajner - vector vector pripomína C++ pole. Ukladá objekty do súvislého pola objektov. Je optimalizovaný pre náhodný výber Umožňuje náhodný prístup k ľubovoľnej položke pomocou preťaženého operátora[] alebo metódy at(). Nové objekty sa štandardne vkladajú na koniec. v.push_back(8.12); Vsúvanie objektu inde, ako na koniec, je možné, ale je drahé.

10 Konštruktory kontajnera vector vector<type> name; vector<type> name(size, value); vector<type> name(size); vector<type> name(sourcevect); vector<type> name(prvy, posl); Vytvorí prázdny vektor. Vytvorí vektor veľkosti size. Nastaví všetky položky na value. Vytvorí vektor veľkosti size s preddefinovanými hodnotami. Vytvorí kópiu vektora sourcevect rovnakého typu. Skopíruje elementy zdrojového vektora od iterátora prvy po iterátor posl.

11 Alokovanie pamäti pre vector vector pri svojom vzniku alokuje toľko priestoru, koľko si myslí, že budete potrebovať. Veľkosť môžete zadať priamo v konštruktore alebo použitím metódy reserve(int). vector<typ> v(100); v.reserve(1000); Alokuje 100 prvkov Alokuje 1000 prvkov vector alokuje vždy súvislý kus pamäti. Ak sa alokovaný priestor vyčerpá a vkladá sa ďalší objekt: 1. alokuje sa väčší priestor 2. skopírujú sa všetky objekty do nového priestoru (pomocou kopírovacích konštruktorov) 3. zrušia sa všetky staré objekty (pomocou ich deštruktorov) 4. uvoľní sa stará pamäť

12 Metódy kontajnera vector intvector.size(); intvector.capacity(); Počet uložených údajov vo vektore Kapacita aktuálnej veľkosti vektora intvector[i]; Vracia referenciu i-ej položky (od 0) intvector.at(i); intvector.push_back(int); intvector.insert(pos,v); Vracia referenciu a vyhodí výnimku v prípade zlého indexu Pridá na koniec novú položku Vsunie novú položku na určenú pozíciu intvector.pop_back(); intvector.erase(pos); Zruší poslednú položku Zruší položku(y) určenú iterátorom intvector.clear(); intvector.empty(); Zruší všetky položky vektora. Vracia true, ak je vektor prázdny

13 Vkladanie položiek Pri vkladaní položiek do kontajnerov sa privoláva ich kopírovací konštruktor. class POLOZKA { string value; public: POLOZKA(string val = "") : value(val) { cout << "Normálny konstruktor = " << " " << value << endl; ; POLOZKA(const POLOZKA &p): value(p.value) { cout << "Kopirovaci konstruktor = " << " " << value << endl; ; string getvalue() { return value; ; ; int main() { POLOZKA a("prva"), b("druha"), c("tretia"); vector<polozka> polozky; polozky.push_back(c); polozky.insert(polozky.begin(), b); polozky.push_back(a); cout << "Polozky: "; for (unsigned int i = 0; i < polozky.size(); i++){ cout << polozky[i].getvalue() << " "; Záhada na premýšľanie: Prečo sa dvakrát volá kopírovací konštruktor pre Tretia

14 Zlý index #include <iostream> #include <vector> using namespace std; int main() { vector<int> v(10, 11); cout << "v[3] = " << v[3] << endl; cout << "v[33] = " << v[33] << endl; cout << "v[-1] = " << v[-1] << endl; cout << "v[-2] = " << v[-2] << endl; v[-2] = 99; v[-12] = 12; cout << "v[-200] = " << v[-200] << endl; cout << "v[-2] = " << v[-2] << endl; cout << "v[-12] = " << v[-12] << endl; cout << "v.at(-12) = "; cout << v.at(-12) << endl;

15 Kontajner deque deque je sekvenčný kontajner predstavujúci obojstrannú frontu. Umožňuje rýchly náhodný prístup k ľubovoľnej položke pomocou preťaženého operátora[]. Je optimalizovaný pre vkladanie a odoberanie objektov z oboch koncov. dq.push_front(i); dq.push_back(i); Zdroj: Wikipedia

16 Príklad pre deque #include <iostream> #include <deque> using namespace std; int main() { deque<int> dq; for (int i = 0; i < 6; i++){ dq.push_front(i); dq.push_back(i); for (int j = 0; j < dq.size(); j++) { cout << dq[j] << " ";

17 Porovnanie efektivity Porovnanie efektivity pri spracovaní 1.7 MB textového súboru. Vpisovanie do kontajneru vector: Vpisovanie do kontajneru deque: 92% - rýchlejší Používanie iterátoru pre vector: Používanie iterátoru pre deque : 105% - pomalšie Niekedy je výhodnejšie použiť pri načítavaní dát kontajner deque a potom ho prekopírovať do kontajnera vector.

18 Kontajner - list list je obojsmerný zreťazený zoznam. Vhodný pre rýchle vkladanie objektu kdekoľvek, čo sú pre vector aj deque drahé operácie. Je drahé sa v ňom náhodne pohybovať. Zdroj: Wikipedia Neumožňuje náhodný prístup pomocou operator[].

19 Vstavané metódy pre list charlist.reverse(); charlist.sort(); charlist.unique(); charlist.remove('f'); charlist.merge(charlist2); Vymení poradie položiek v zozname Usporiada položky Odstráni duplikáty, ak sú vedľa seba Odstráni všetky prvky 'f' Spojí dva zoznamy. Ak sú rovnako utriedené, vytvorí utriedený zoznam z oboch.

20 Príklad pre list #include <iostream> #include <list> using namespace std; int main() { list<char> charlist; for (int i=0; i < 5; i++){ charlist.push_back('e' + i); charlist.push_front('e' - i); list<char>::iterator iter; for (iter=charlist.begin(); iter!= charlist.end(); iter++){ cout << *iter; charlist.reverse(); cout << endl << "Opacne poradie: "; for (iter=charlist.begin(); iter!= charlist.end(); iter++){ cout << *iter; charlist.remove('f'); cout << endl << "Odstranene 'f': "; for (iter=charlist.begin(); iter!= charlist.end(); iter++){ cout << *iter; charlist.unique(); cout << endl << "Odstranene duplicity: "; for (iter=charlist.begin(); iter!= charlist.end(); iter++){ cout << *iter; charlist.sort(); cout << endl << "Usporiadanie: "; for (iter=charlist.begin(); iter!= charlist.end(); iter++){ cout << *iter; list<char> charlist1(charlist); charlist.merge(charlist1); cout << endl << "Spojenie: "; for (iter=charlist.begin(); iter!= charlist.end(); iter++){ cout << *iter;

21 Spoločné metódy Kontajnery sa snažia mať podobné rozhrania (pokiaľ to ich typ povoľuje). Všetky sekvenčné kontajnery vector, deque, list majú metódu: push_back(t); Vloží nový objekt T na koniec Kontajnery deque, list majú metódu na vkladanie na začiatok: push_front(t); Vloží nový objekt T na začiatok Kontajnery vector, deque majú metódu na priamy prístup : operator[i] Priamy prístup

22 Výber najvhodnejšieho kontajnera Pravidlo správneho nástroja Výber správneho kontajnera sa riadi jeho účelom, nie sympatiou. Pravidlo jednoduchosti Ak nemáte špeciálny dôvod na výber kontajneru, použite vector. Vector: Je najintuitívnejšie pochopiteľný zo všetkých kontajnerov. Objekty, ktoré sú vedľa seba v kontajneri, sú vedľa seba aj v pamäti. Poskytuje najrýchlejší prístup ku všetkým elementom kontajneru. Má najmenšiu réžiu.

23 Adaptéry Adaptéry stack, queue, priority_queue nie sú samostatné kontajnery, ale upravujú si (adaptujú) existujúce kontajnery vector, list a deque. Nemôžete v nich použiť metódy kontajnerov, ktoré adaptujú. Používajú svoje vlastné metódy. Adaptér stack sa správa ako zásobník LIFO (last in, first out). Adaptér queue sa správa ako fronta FIFO (first in, first out). Adaptér priority_queue sa správa ako usporiadaný zásobník.

24 Metódy adaptéra stack Konštruktory: stack<type> zasob; stack<type, vector<type> >zasob; stack<type, list<type> > zasob; Vytvorí prázdny stack z deque Vytvorí prázdny stack z vector Vytvorí prázdny stack z list Metódy (pre int): const int & top(); void push(const int &); void pop(); bool empty(); int size(); Referencia na posledný element. Vloží na koniec nový element. Zruší posledný element. Vracia true, ak je adaptér prázdny Veľkosť adaptéra.

25 Príklad pre adaptér stack #include <iostream> #include <list> #include <stack> using namespace std; int main(){ stack<int, list<int> > intstack; cout << "Vkladanie:" << endl; for (int x = 0; x < 5; x++) { intstack.push((x + 1)*100); cout << intstack.top() << endl; cout << "Vyber:" << endl; while(intstack.size()){ cout << intstack.top() << endl; intstack.pop();

26 Konštruktory: Metódy adaptéra queue Adaptér queue sa správa ako fronta FIFO (first in, first out). Nemôže sa preto vytvoriť z kontajnera vector. queue<type> fronta; queue<type, list<type> > fronta; Vytvorí prázdny queue z deque Vytvorí prázdny queue z list Metódy (pre int): const int & front(); void push(const int &); void pop(); bool empty(); int size(); Referencia na prvý element. Vloží na koniec nový element. Zruší prvý element. Vracia true, ak je adaptér prázdny Veľkosť adaptéra.

27 Príklad pre adaptér queue #include <iostream> #include <queue> using namespace std; int main(){ queue<int> intqueue; cout << "Vkladanie:" << endl; for (int x = 0; x < 5; x++) { intqueue.push((x + 1)*100); cout << (x + 1)*100 << endl; cout << "Vyber:" << endl; while(intqueue.size()){ cout << intqueue.front() << endl; intqueue.pop();

28 Adaptér priority_queue Adaptér priority_queue sa správa ako usporiadaný zásobník. Čítať možno iba najvyšší element, ale metóda push nevkladá nový element na koniec, ale ho uloží podľa usporiadajúcej funkcie. Implicitná šablóna je less, ale je možné si definovať aj svoju vlastnú. Pre adaptér priority_queue je preddefinovaný kontajner vector.

29 Metódy priority_queue Konštruktory: priority_queue<int> pqueue; priority_queue<int, deque<int>, greater<int> > pqueue; Metódy (pre int): const int & top(); void push(const int &); void pop(); bool empty(); int size(); Usporiadaná fronta int. Kontajner je vector. Predikát je less. Usporiadaná fronta int. Kontajner je deque. Predikát je greater. Referencia na najvyšší element. Vloží podľa usporiadania element. Zruší najvyšší element. Vracia true, ak je adaptér prázdny Veľkosť adaptéra.

30 Predikát pre priority_queue template<class T> class compare { public: bool operator()(t x, T y) { return x < y; ; priority_queue<int, vector<int>, compare<int> > pqueue; V šablónovej triede compare definujete preťažený operator(), ktorý vracia true, ak je podmienka predikátu splnená. Predikát je compare

31 Priority queue príklad #include <iostream> #include <queue> using namespace std; template<class T> class Greater{ Predikát Greater public: bool operator()(t x, T y) { return x < y; ; int main(){ priority_queue<int, deque<int>, Greater<int> > priorqeueu; priorqeueu.push(30); priorqeueu.push(10); priorqeueu.push(40); priorqeueu.push(35); priorqeueu.push(22); cout << "Usporiadana fronta:" << endl; int size = priorqeueu.size(); for (int x = 0; x < size; x++) { cout << priorqeueu.top() << endl; priorqeueu.pop();

32 Iterátory iterator niečo ako špecializovaný smerník na položky daného kontajnera. Umožňuje programu pohybovať sa v kontajneri pomocou iterátorovej aritmetiky, pristupovať k jednotlivým položkám a manipulovať nimi. Je niekoľko typov iterátorov: <typ_kontajneru>::iterator <typ_kontajneru>::reverse_iterator <typ_kontajneru>::const_iterator <typ_kontajneru>::istream_iterator <typ_kontajneru>::ostream_iterator Štandardný iterátor Cúvajúci iterátor Konštantný iterátor, neumožňuje meniť položky, na ktoré ukazuje Načítavajúci iterátor, umožňujúci iba jeden prechod Zapisujúci iterátor, umožňujúci iba jeden prechod

33 Použitie iterátorov deque<int>::iterator iq; *iq (*iq).f() iq->f() Objekt, na ktorý iterátor ukazuje Metóda objektu, na ktorý iterátor ukazuje Metóda objektu, na ktorý iterátor ukazuje

34 Metódy, ktoré vracajú iterátory iter = vector.begin(); iter = vector.end(); iter = vector.rbegin(); iter = vector.rend(); iter = vector.insert(poz,v); Vracia iterátor na začiatok kontajnera Vracia iterátor na koniec kontajnera Vracia iterátor na reverzný začiatok Vracia iterátor na reverzný koniec Vracia iterátor na vložený prvok

35 Príklad na iterátory #include <iostream> #include <vector> using namespace std; int main() { vector<int> intvector(5); vector<int>::iterator iter = intvector.begin(); *iter++ = 7; *iter++ = 2; *iter++ = 10; *iter++ = -6; *iter++ = 20; cout << "Polozky vektora: " << endl; for (iter = intvector.begin(); iter < intvector.end(); iter++){ cout << *iter << " ";

36 Chyby: pretečenie iterátora #include <iostream> #include <vector> using namespace std; const int MAX = 5; int main() { vector<int> intvector(max); vector<int>::iterator out = intvector.begin(); for(int i = 0; i < MAX + 1; i++, out++){ *out = i * 10; cout << "Polozky vektora: " << endl; vector<int>::iterator it = intvector.begin(); while (it!= intvector.end()){ cout << *it++ << endl; Pretečenie Iterátora.

37 Chyby: zmena kapacity #include <iostream> #include <vector> using namespace std; const int MAX = 5; int main() { vector<int> intvector(max); vector<int>::iterator prvy = intvector.begin(); for(unsigned int i = 0; i < MAX + 1; i++){ intvector[i] = i * 10; cout << *prvy << endl; Po zmene kapacity vektora prestáva platiť nastavenie iterátora prvy.

38 Chyby: neplatná hodnota #include <iostream> #include <vector> using namespace std; int main() { vector<int> intvector(5, 1); cout << "Polozky vektora: " << endl; vector<int>::iterator it = intvector.begin(); for (int i = 0; i < intvector.size(); i++){ intvector.insert(it, 55); cout << *it++ << endl; Program padne, pretože po insert stratil iterátor it správnu hodnotu. it = intvector.insert(it,55); Správna verzia:

39 Chyby: zlý rozsah od do for_each(intvector.end(), intvector.begin(), nieco); Vymenené poradie iterátorov for_each(intvector.begin(), intvector2.end(), nieco); Iterátory ukazujú do rôznych kontajnerov.

Šablony, kontejnery a iterátory

Šablony, kontejnery a iterátory 7. října 2010, Brno Připravil: David Procházka Šablony, kontejnery a iterátory Programovací jazyk C++ Šablony Strana 2 / 21 Šablona funkce/metody Šablona je obecný popis (třídy, funkce) bez toho, že by

Více

Šablony, kontejnery a iterátory

Šablony, kontejnery a iterátory 11. března 2015, Brno Připravil: David Procházka Šablony, kontejnery a iterátory Programovací jazyk C++ Šablony Strana 2 / 31 Obsah přednášky 1 Šablony 2 Abstraktní datové struktury 3 Iterátory 4 Array

Více

Šablony funkcí a tříd (Templates) Genericita

Šablony funkcí a tříd (Templates) Genericita Šablony funkcí a tříd (Templates) Genericita Šablony funkcí Motivace přetížíme funkci pro výpočet minima ze dvou hodnot: int minimum(int a, int b) { return (a

Více

Abstraktní datové typy

Abstraktní datové typy Karel Müller, Josef Vogel (ČVUT FIT) Abstraktní datové typy BI-PA2, 2011, Přednáška 10 1/27 Abstraktní datové typy Ing. Josef Vogel, CSc Katedra softwarového inženýrství Katedra teoretické informatiky,

Více

Hornerovo schéma. je algoritmus výpočtu hodnoty polynomu P(x) v bodě x 0. eliminuje výpočet i-té mocniny převodem na postupné násobení.

Hornerovo schéma. je algoritmus výpočtu hodnoty polynomu P(x) v bodě x 0. eliminuje výpočet i-té mocniny převodem na postupné násobení. Hornerovo schéma je algoritmus výpočtu hodnoty polynomu P(x) v bodě x 0 n + n 1 + L + + n n 1 1 P( x) = a x a x a x a eliminuje výpočet i-té mocniny převodem na postupné násobení 0 Vstup: Algoritmus výpočtu

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

Množina v C++ (set, multiset).

Množina v C++ (set, multiset). Množina v C++ (set, multiset). Množina je datová struktura, ve které jsou uloženy nějaké prvky. V množině nesmí být dva stejné prvky. Naopak multimnožina může obsahovat i stejné prvky. Nad množinou lze

Více

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

PB161 Programování v jazyce C++ Přednáška 3 PB161 Programování v jazyce C++ Přednáška 3 Kontejnery Iterátory Algoritmy Nikola Beneš 4. října 2016 PB161 přednáška 3: kontejnery, iterátory, algoritmy 4. října 2016 1 / 25 Standardní knihovna C++ Už

Více

Konstruktory a destruktory

Konstruktory a destruktory Konstruktory a destruktory Nedostatek atributy po vytvoření objektu nejsou automaticky inicializovány hodnota atributů je náhodná vytvoření metody pro inicializaci, kterou musí programátor explicitně zavolat,

Více

Vector datový kontejner v C++.

Vector datový kontejner v C++. Vector datový kontejner v C++. Jedná se o datový kontejner z knihovny STL jazyka C++. Vektor je šablona jednorozměrného pole. Na rozdíl od "klasického" pole má vector, mnoho užitečných vlastností a služeb.

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

Čo ak program potrebuje pamäť, ktorej veľkosť závisí od konkrétneho vstupu?

Čo ak program potrebuje pamäť, ktorej veľkosť závisí od konkrétneho vstupu? SPRÁVA PAMÄTE Čo ak program potrebuje pamäť, ktorej veľkosť závisí od konkrétneho vstupu? a.) Programátor môže odhadnúť maximálnu možnú veľkosť a vyhradiť tento priestor v statických premenných (riešenie

Více

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

PB161 Programování v jazyce C++ Přednáška 6 PB161 Programování v jazyce C++ Přednáška 6 Kontejnery Iterátory Algoritmy Nikola Beneš 26. října 2015 PB161 přednáška 6: kontejnery, iterátory, algoritmy 26. října 2015 1 / 37 Standardní knihovna C++

Více

Jazyk C++ II. STL knihovna kontejnery část 2

Jazyk C++ II. STL knihovna kontejnery část 2 Jazyk C++ II STL knihovna kontejnery část 2 AR 2013/2014 Jazyk C++ II Asociativní kontejnery Slovníky u kterých pořadí dat nemá smysl. Kontejner si sám určuje, kam který údaj uloží. Údaje mají tvar klíč/hodnota.

Více

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

PB161 Programování v jazyce C++ Přednáška 3 PB161 Programování v jazyce C++ Přednáška 3 Kontejnery Iterátory Algoritmy Nikola Beneš 2. října 2018 PB161 přednáška 3: kontejnery, iterátory, algoritmy 2. října 2018 1 / 27 Automatická dedukce typů (od

Více

Jazyk C++ II. STL knihovna kontejnery část 1

Jazyk C++ II. STL knihovna kontejnery část 1 Jazyk C++ II STL knihovna kontejnery část 1 AR 2013/2014 Jazyk C++ II STL kontejnery Kontejnery jsou třídy, jejichž instance slouží k uskladňování dat. Každý druh kontejneru má své výhody a nevýhody. Kontejnery

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

Množina čísel int stl-set-int.cpp

Množina čísel int stl-set-int.cpp Řetězce, pole a STL V C++ je výhodné pro práci s řetězci použít třídu string, funkce C jsou stále k dispozici cstring, ukazatele a pole lze stále používat stejně, jako v C, použití iterátorů a dalších

Více

Funkční objekty v C++.

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í

Více

Príklad ponuky: Riešenie: vrch. hodnota 3 hodnota 2 hodnota 1

Príklad ponuky: Riešenie: vrch. hodnota 3 hodnota 2 hodnota 1 Zásobník je abstraktný dátový typ, na ktorom sú dovolené len operácie: vytvoriť prázdny zásobník pridať prvok na vrch zásobníka odobrať prvok z vrchu zásobníka zistiť, či je zásobník prázdny Nie je možné

Více

Programovanie v jazyku C - to chce dynamiku

Programovanie v jazyku C - to chce dynamiku CVIČENIE 8/13 (S7) Programovanie v jazyku C - to chce dynamiku About rozdiel medzi statickou a dynamickou alokaciou pamate pre c objekty, spojkove zoznamy Basic knowledge kazda premenna musi mat pocas

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

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

Programování v C++ 2, 7. cvičení Programování v C++ 2, 7. cvičení spojový seznam 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í minule procvičené látky Dědění

Více

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

Programování v C++ 1, 5. cvičení Programování v C++ 1, 5. cvičení konstruktory, nevirtuální dědě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 3 Shrnutí minule procvičené

Více

PB161 Programování v jazyku C++

PB161 Programování v jazyku C++ PB161 Programování v jazyku C++ Textové řetězce (2. část) Vstupy a výstupy STL Základ (0. část) Manipulátory Kontejnery Iterátory Algoritmy Řetězce ve stylu C++ Používá se třída string. Řetězec ve stylu

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

Standardní algoritmy vyhledávací.

Standardní algoritmy vyhledávací. Standardní algoritmy vyhledávací. Vyhledávací algoritmy v C++ nám umožňují vyhledávat prvky v datových kontejnerech podle různých kritérií. Také se podíváme na vyhledávání metodou půlením intervalu (binární

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

MATLAB (1) - úvod do programovania vedeckých problémov. LS 2017, 8.predn.

MATLAB (1) - úvod do programovania vedeckých problémov. LS 2017, 8.predn. MATLAB (1) - úvod do programovania vedeckých problémov LS 2017, 8.predn. Program predmetu: 1. týždeň: úvod, základné info o Matlabe, pracovné prostredie Matlabu, interaktívny režim, prvé info o písaní

Více

Standardní algoritmy v C++.

Standardní algoritmy v C++. Standardní algoritmy v C++. Standardní algoritmy jsou součástí STL. Jedná se o spoustu užitečných šablon funkcí, které za nás naprogramoval někdo jiný. Na nás je jen, abychom je používali. Také si ukážeme

Více

Více o konstruktorech a destruktorech

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í

Více

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

Programování v C++ 2, 8. cvičení Programování v C++ 2, 8. cvičení návrhový vzor iterátor 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í minule procvičené látky

Více

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

PB161 Programování v jazyce C++ Přednáška 10 .. PB161 Programování v jazyce C++ Přednáška 10 Šablony Nikola Beneš 23. listopadu 2015 PB161 přednáška 10: šablony 23. listopadu 2015 1 / 29 K zamyšlení Jaký je rozdíl mezi new int[10] a new int[10]()?

Více

Užívateľská príručka systému CEHZ. Základné zostavy Farmy podľa druhu činnosti

Užívateľská príručka systému CEHZ. Základné zostavy Farmy podľa druhu činnosti Užívateľská príručka systému CEHZ Základné zostavy Farmy podľa druhu činnosti Užívateľská príručka systému CEHZ... 1 Základné zostavy Farmy podľa druhu činnosti... 1 1.1. Farmy podľa druhu činnosti...

Více

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

Programování v C++ 1, 17. cvičení Programování v C++ 1, 17. cvičení výjimky 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í minule procvičené látky Binární vyhledávací

Více

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

PB161 Programování v jazyce C++ Přednáška 10 PB161 Programování v jazyce C++ Přednáška 10 Šablony Nikola Beneš 27. listopadu 2017 PB161 přednáška 10: šablony 27. listopadu 2017 1 / 33 Šablony PB161 přednáška 10: šablony 27. listopadu 2017 2 / 33

Více

Programovanie v jazyku C - pole treba poorat...

Programovanie v jazyku C - pole treba poorat... CVIČENIE 3/13 (SW2) Programovanie v jazyku C - pole treba poorat... PrednaskaB: Operátory, pravidla vyhodnocování PrednaskaZ: Číselné typy, operátory, typové konstrukce, pole a struktury About zadefinovanie

Více

PB161 6. přednáška (26. října 2015)

PB161 6. přednáška (26. října 2015) PB161 6. přednáška (26. října 2015) Standardní knihovna C++ obsahuje řadu částí, některé už jsme viděli (strings, I/O streams) mimo jiné obsahuje i knihovní funkce ze standardní knihovny jazyka C jiné

Více

Jazyk C++ I. Šablony 2

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

Více

Kombinatorická pravdepodobnosť (opakovanie)

Kombinatorická pravdepodobnosť (opakovanie) Kombinatorická pravdepodobnosť (opakovanie) Metódy riešenia úloh z pravdepodobnosti a štatistiky Cvičenie 1 Beáta Stehlíková, FMFI UK Bratislava www.iam.fmph.uniba.sk/institute/stehlikova Príklad 1: Zhody

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

Jazyk C++ I. Šablony

Jazyk C++ I. Šablony Jazyk C++ I Šablony AR 2013/2014 Jazyk C++ I Úvod Zatím známe programovací styly: Strukturované programování, Objektově orientované programovaní. AR 2013/2014 Jazyk C++ I 2 Příklady void Print(const int&

Více

KOMISNÝ PREDAJ. Obr. 1

KOMISNÝ PREDAJ. Obr. 1 KOMISNÝ PREDAJ Komisný predaj sa realizuje na základe komisionárskej zmluvy, pričom ide v podstate o odložený predaj, kde práva k výrobku alebo tovaru prevedie dodávateľ (výrobca, komitent) na predajcu

Více

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

PB161 Programování v jazyce C++ Přednáška 8 .. PB161 Programování v jazyce C++ Přednáška 8 Výjimky Správa prostředků (RAII) Nikola Beneš 9. listopadu 2015 PB161 přednáška 8: výjimky, RAII 9. listopadu 2015 1 / 24 . PB161 přednáška 8: výjimky, RAII

Více

Elektronické odosielanie výplatných pások

Elektronické odosielanie výplatných pások Elektronické odosielanie výplatných pások Od verzie 11.50 pribudla v programe Olymp možnosť hromadného odosielania zaheslovaných výplatných pások na e-maily jednotlivých pracovníkov. V evidencii Personalistika

Více

Import Excel Univerzál

Import Excel Univerzál Import Excel Univerzál PRÍKLAD Ako jednoducho postupova pri importe akéhoko vek súboru z MS Excel do programu CENKROS plus, ktorý má podobu rozpo tu (napr. rozpo et vytvorený v inom programe)? RIEŠENIE

Více

Návod na použite plaftormy ELMARK E- Business obsahuje popis hlavných možností a funkcií programu. Príručka je štruktúrovaná podľa poradia možností.

Návod na použite plaftormy ELMARK E- Business obsahuje popis hlavných možností a funkcií programu. Príručka je štruktúrovaná podľa poradia možností. Návod na použite PLATFORMA ELMARK E-BUSINESS ÚVOD Návod na použite plaftormy ELMARK E- Business obsahuje popis hlavných možností a funkcií programu. Príručka je štruktúrovaná podľa poradia možností. Platforma

Více

Lineární datové struktury

Lineární datové struktury Lineární datové struktury doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 13. března 2017 Jiří Dvorský (VŠB TUO) Lineární datové

Více

MS PowerPoint - Úvod.

MS PowerPoint - Úvod. 8. MS PowerPoint -prezentačný program - základná úloha - prehľadne prezentovať informácie vo forme: premietania na obrazovku PC premietania na plátno alebo stenu prostr. dataprojektoru premietania vytlačených

Více

Základy algoritmizácie a programovania

Základy algoritmizácie a programovania Základy algoritmizácie a programovania Pojem algoritmu Algoritmus základný elementárny pojem informatiky, je prepis, návod, realizáciou ktorého získame zo zadaných vstupných údajov požadované výsledky.

Více

Metóda vetiev a hraníc (Branch and Bound Method)

Metóda vetiev a hraníc (Branch and Bound Method) Metóda vetiev a hraníc (Branch and Bound Method) na riešenie úloh celočíselného lineárneho programovania Úloha plánovania výroby s nedeliteľnosťami Podnikateľ vyrába a predáva zemiakové lupienky a hranolčeky

Více

Abstraktní třídy, polymorfní struktury

Abstraktní třídy, polymorfní struktury Karel Müller, Josef Vogel (ČVUT FIT) Abstraktní třídy, polymorfní struktury BI-PA2, 2011, Přednáška 9 1/32 Abstraktní třídy, polymorfní struktury Ing. Josef Vogel, CSc Katedra softwarového inženýrství

Více

Dynamické datové struktury I.

Dynamické datové struktury I. Dynamické datové struktury I. Seznam. Fronta. Zásobník. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK. Tomáš Bayer bayertom@natur.cuni.cz

Více

8. Relácia usporiadania

8. Relácia usporiadania 8. Relácia usporiadania V tejto časti sa budeme venovať ďalšiemu špeciálnemu typu binárnych relácií v množine M - reláciám Najskôr si uvedieme nasledujúce štyri definície. Relácia R definovaná v množine

Více

Operačný systém Úvodná prednáška

Operačný systém Úvodná prednáška Operačný systém Úvodná prednáška Pohľad zvonka (z vyšších úrovní) Pohľad zvnútra Pojmy správy procesov Úlohy jednotlivých častí operačného systému Autor: Peter Tomcsányi, Niektoré práva vyhradené v zmysle

Více

Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. October 17, 2016

Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. October 17, 2016 ZPRO cvičení 2 Martin Flusser Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague October 17, 2016 Outline I 1 Outline 2 Proměnné 3 Proměnné - cvičení 4 Funkce 5 Funkce

Více

ADT/ADS = abstraktní datové typy / struktury

ADT/ADS = abstraktní datové typy / struktury DT = datové typy obor hodnot, které může proměnná nabývat, s operacemi na tomto oboru určen: obor hodnot + výpočetní operace např. INT = { 2 147 483 648 až +2 147 483 647} + {+,,*,/,} ADT/ADS = abstraktní

Více

Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy

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

Více

PODPROGRAMY. Vyčlenenie podprogramu a jeho pomenovanie robíme v deklarácii programu a aktiváciu vykonáme volaním podprogramu.

PODPROGRAMY. Vyčlenenie podprogramu a jeho pomenovanie robíme v deklarácii programu a aktiváciu vykonáme volaním podprogramu. PODPROGRAMY Podprogram je relatívne samostatný čiastočný algoritmus (čiže časť programu, ktorý má vlastnosti malého programu a hlavný program ho môže volať) Spravidla ide o postup, ktorý bude v programe

Více

Vytvorenie používateľov a nastavenie prístupov

Vytvorenie používateľov a nastavenie prístupov Vytvorenie používateľov a nastavenie prístupov 1. Vytvorenie používateľov Spustite modul Správa systému, prihláste sa ako používateľ sa, z ponuky vyberte Evidencie Používatelia - Zoznam. Pomocou tlačidla

Více

NA POUŽITIE ŠABLÓNY PRE PÍSANIE ZÁVEREČNEJ PRÁCE

NA POUŽITIE ŠABLÓNY PRE PÍSANIE ZÁVEREČNEJ PRÁCE NA POUŽITIE ŠABLÓNY PRE PÍSANIE ZÁVEREČNEJ PRÁCE OKTÓBER 2016 UNIVERZITA VETERINÁRSKEHO LEKÁRSTVA A FARMÁCIE V KOŠICIACH Oddelenie informačných a komunikačných technológií Obsah 1. Vypísanie titulnej strany...2

Více

Bitmapové a vektorové grafické editory. Grafické editory používame na kresbu, resp. editovanie obrázkov. Obrázky sa dajú kresliť dvoma spôsobmi.

Bitmapové a vektorové grafické editory. Grafické editory používame na kresbu, resp. editovanie obrázkov. Obrázky sa dajú kresliť dvoma spôsobmi. Bitmapové a vektorové grafické editory Grafické editory používame na kresbu, resp. editovanie obrázkov. Obrázky sa dajú kresliť dvoma spôsobmi. Menu 1. Bitmapový editor (rastrový) Farebné palety Príklad:

Více

Tlač do PDF a odosielanie dokladov cez . OBSAH

Tlač do PDF a odosielanie dokladov cez  . OBSAH Tlač do PDF a odosielanie dokladov cez e-mail. OBSAH Úvod... 2 Základné podmienky:... 2 Kde nájdem inštalačný program pre PDF tlačiarne?... 2 Pre aký operačný systém ho môžem použiť?... 2 Inštalácia PDF

Více

přetížení operátorů (o)

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 - operátor je speciální

Více

OBOZNÁMTE SA S VAŠÍM TELEFÓNOM

OBOZNÁMTE SA S VAŠÍM TELEFÓNOM Alcatel 4400 OBOZNÁMTE SA S VAŠÍM TELEFÓNOM 2 4 3 i 5 10 9 1 Audio tlačidlá zníženie hlasitosti reproduktora alebo slúchadla 1 6 7 8 Reproduktor: umožňuje podielať sa viacerým účastníkom na konverzácii

Více

Seznamy a iterátory. Kolekce obecně. Rozhraní kolekce. Procházení kolekcí

Seznamy a iterátory. Kolekce obecně. Rozhraní kolekce. Procházení kolekcí Kolekce obecně Seznamy a iterátory 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 Kolekce ::= homogenní sada prvků

Více

Základní datové struktury

Základní datové struktury Základní datové struktury Martin Trnečka Katedra informatiky, Přírodovědecká fakulta Univerzita Palackého v Olomouci 4. listopadu 2013 Martin Trnečka (UPOL) Algoritmická matematika 1 4. listopadu 2013

Více

Zachovanie mentálnej mapy pri interakcií s grafom. RNDr. Jana Katreniaková PhD.

Zachovanie mentálnej mapy pri interakcií s grafom. RNDr. Jana Katreniaková PhD. Zachovanie mentálnej mapy pri interakcií s grafom RNDr. Jana Katreniaková PhD. Cieľ Nájsť spôsob, ako obmedziť zmeny pri kreslení hrán grafov (vizualizácia) počas používateľskej interakcie. Kreslenie grafov

Více

Objektovo orientované programovanie v C# ERIK KUČERA METÓDY VÝPOČTOVEJ INTELIGENCIE PREDNÁŠKA 3

Objektovo orientované programovanie v C# ERIK KUČERA METÓDY VÝPOČTOVEJ INTELIGENCIE PREDNÁŠKA 3 Objektovo orientované programovanie v C# ERIK KUČERA METÓDY VÝPOČTOVEJ INTELIGENCIE PREDNÁŠKA 3 Statické členy Statické členy nie sú takým pilierom OOP ako dedičnosť alebo polymorfizmus, ale sú užitočným

Více

Prístupnosť elektronických dokumentov vo formáte PDF

Prístupnosť elektronických dokumentov vo formáte PDF Prístupnosť elektronických dokumentov vo formáte PDF www.informatizacia.sk Zhotoviteľ Únia nevidiacich a slabozrakých Slovenska Vypracované pre potreby Ministerstva financií SR. Ministerstvo financií Slovenskej

Více

Základy - prihlásenie

Základy - prihlásenie Základy - prihlásenie Plnohodnotná práca s aplikáciou WK ereader je možná po prihásení užívateľa. Prihlasovacie meno a heslo si vyberáte sami pri registrácii na www.wolterskluwer.sk (ak Vám nebolo pridelené

Více

Datové struktury. Obsah přednášky: Definice pojmů. Abstraktní datové typy a jejich implementace. Algoritmizace (Y36ALG), Šumperk - 12.

Datové struktury. Obsah přednášky: Definice pojmů. Abstraktní datové typy a jejich implementace. Algoritmizace (Y36ALG), Šumperk - 12. Obsah přednášky: Definice pojmů o datový typ, o abstraktní datový typ Datové struktury Abstraktní datové typy a jejich implementace o Fronta (Queue) o Zásobník (Stack) o Množina (Set) Algoritmizace (Y36ALG),

Více

REŽIM PRENESENIA DAŇOVEJ POVINNOSTI

REŽIM PRENESENIA DAŇOVEJ POVINNOSTI REŽIM PRENESENIA DAŇOVEJ POVINNOSTI Ak Vaša spoločnosť obchoduje s komoditami, ktoré podliehajú tuzemskému preneseniu daňovej povinnosti, tieto je potrebné pre slovenských odberateľov DPH fakturovať bez

Více

Dátové rozhranie pre výmenu dát v stavebníctve NDS. Verzia 1.1

Dátové rozhranie pre výmenu dát v stavebníctve NDS. Verzia 1.1 Dátové rozhranie pre výmenu dát v stavebníctve NDS Verzia 1.1 Zmyslom tohto predpisu je definovať jednoznačné podmienky pre tvorbu a odovzdávanie ponukových rozpočtov, dodatkov k rozpočtom, zisťovacích

Více

Postup vkladania záverečnej práce do systému evidencie záverečných prác (EZP):

Postup vkladania záverečnej práce do systému evidencie záverečných prác (EZP): Postup vkladania záverečnej práce do systému evidencie záverečných prác (EZP): 1. Aktivácia prístupu do systému EZP: pre prístup do EZP sa využíva jednotný spôsob prístupu cez LDAP server ŽU (tak ako napr.

Více

OBJEKTOVÉ PROGRAMOVÁNÍ V C++ V PŘÍKLADECH 8 Proudová knihovna 8.1 Hierarchie proudů... 8-1 8.2 Standardně zavedené proudy... 8-1 8.

OBJEKTOVÉ PROGRAMOVÁNÍ V C++ V PŘÍKLADECH 8 Proudová knihovna 8.1 Hierarchie proudů... 8-1 8.2 Standardně zavedené proudy... 8-1 8. David MATOUŠEK OBJEKTOVÉ PROGRAMOVÁNÍ V C++ V PØÍKLADECH Praha 2011 David Matoušek Objektové programování v C++ v pøíkladech Lektoroval Ing. Bohumil Brtník, Ph.D. Bez pøedchozího písemného svolení nakladatelství

Více

Mělká a hluboká kopie

Mělká a hluboká kopie Karel Müller, Josef Vogel (ČVUT FIT) Mělká a hluboká kopie BI-PA2, 2011, Přednáška 5 1/28 Mělká a hluboká kopie Ing. Josef Vogel, CSc Katedra softwarového inženýrství Katedra teoretické informatiky, Fakulta

Více

VECIT 2006 Tento materiál vznikol v rámci projektu, ktorý je spolufinancovaný Európskou úniou. 1/4

VECIT 2006 Tento materiál vznikol v rámci projektu, ktorý je spolufinancovaný Európskou úniou. 1/4 Príklad 1 Naučte korytnačku príkaz čelenka. Porozmýšľajte nad využitím príkazu plnytrojuhol60: viem plnytrojuhol60 opakuj 3 [do 60 vp 120 Riešenie: definujeme ďalšie príkazy na kreslenie trojuholníka líšiace

Více

DIZAJN MANUÁL KULT MINOR LOGO MANUÁL. Fond na podporu kultúry národnostných menšín

DIZAJN MANUÁL KULT MINOR LOGO MANUÁL. Fond na podporu kultúry národnostných menšín LOGO MANUÁL 1 1.1 Explikácia Základným prvkom vizuálnej identity je logo. Logo abstraktým, geometrickým spôsobom zobrazuje zástúpenie menšín na Slovensku. Z dvoch typov geometrických tvarov, kruhu a štvorca

Více

Referenčná ponuka na prístup ku káblovodom a infraštruktúre. Príloha 7 Poplatky a ceny

Referenčná ponuka na prístup ku káblovodom a infraštruktúre. Príloha 7 Poplatky a ceny Príloha 7 Poplatky a ceny Príloha 7: Poplatky a ceny strana 1 z 5 Obsah 1. CENY V RÁMCI DOHODY NDA A RÁMCOVEJ ZMLUVY... 3 2. CENY V RÁMCI ZMLUVY O DUCT SHARING... 3 2.1 CENA ZA POSKYTOVANIE ZÁKLADNEJ SLUŽBY

Více

ALGORITMY A PROGRAMOVANIE VO VÝVOJOVOM PROSTREDÍ LAZARUS. Vývojové prostredie Lazarus, prvý program

ALGORITMY A PROGRAMOVANIE VO VÝVOJOVOM PROSTREDÍ LAZARUS. Vývojové prostredie Lazarus, prvý program ALGORITMY A PROGRAMOVANIE VO VÝVOJOVOM PROSTREDÍ LAZARUS Vývojové prostredie Lazarus, prvý program Lazarus si môžete stiahnuť z http://lazarus.freepascal.org 1 Začíname sa učiť programovací jazyk Pascal

Více

Všeobecne záväzné nariadenie Mesta Trenčianske Teplice č. x/2016 o používaní pyrotechnických výrobkov na území mesta Trenčianske Teplice

Všeobecne záväzné nariadenie Mesta Trenčianske Teplice č. x/2016 o používaní pyrotechnických výrobkov na území mesta Trenčianske Teplice Dôvodová správa S účinnosťou k 2.12.2015 došlo k zmene zákona č. 58/2014 Z. z. o výbušninách, výbušných predmetoch a munícii a o zmene a doplnení niektorých zákonov v znení neskorších predpisov, ktorý

Více

Programovanie I. Úvod do programovania Mgr. Stanislav Horal, Katedra informatiky, FPV, UCM

Programovanie I. Úvod do programovania Mgr. Stanislav Horal, Katedra informatiky, FPV, UCM Programovanie I 9.10.2007 Úvod do programovania Mgr. Stanislav Horal, Katedra informatiky, FPV, UCM Algoritmus (1) Existuje niekoľko definícií pojmu algoritmus Algoritmus je presná postupnosť krokov a

Více

přetížení operátorů (o)

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

Více

Dynamické datové struktury IV.

Dynamické datové struktury IV. Dynamické datové struktury IV. Prioritní fronta. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK. Tomáš Bayer bayertom@natur.cuni.cz (Katedra

Více

Dealer Extranet 3. Cenové ponuky

Dealer Extranet 3. Cenové ponuky Dealer Extranet 3 Cenové ponuky Obsah Vytvorenie cenovej ponuky so zľavou Velux 3 Vytvorenie klientskej cenovej ponuky zo súčasnej cenovej ponuky 10 Vytvorenie klientskej cenovej ponuky pomocou Konfigurátora

Více

Jemný úvod do spracovania XML

Jemný úvod do spracovania XML Jemný úvod do spracovania XML XML štandardy - nevyhnutná súčasť moderného SW, - umožňujú lepšiu integráciu rôznych aplikácií, - štruktúrovanie údajov (typovanie, pomenovanie polí,...) - vysoká flexibilita

Více

Návod na používanie Centrálnej úradnej elektronickej tabule (CUET)

Návod na používanie Centrálnej úradnej elektronickej tabule (CUET) Návod na používanie Centrálnej úradnej elektronickej tabule (CUET) Zoznam zmien: Dátum zmeny Verzia Popis zmien 15.12.2017 7 Str. 9: úprava Obr. 10 a popisu k nemu Dátum zverejnenia: 1. 2. 2014 Verzia

Více

Moderné vzdelávanie pre vedomostnú spoločnosť/projekt je spolufinancovaný zo zdrojov EÚ. Grafy

Moderné vzdelávanie pre vedomostnú spoločnosť/projekt je spolufinancovaný zo zdrojov EÚ. Grafy Moderné vzdelávanie pre vedomostnú spoločnosť/projekt je spolufinancovaný zo zdrojov EÚ Grafy Graf efektívne vizuálne nástroje dáta lepšie pochopiteľné graf môže odhaliť trend alebo porovnanie zobrazujú

Více

Da D to t v o é v ty t py IB111: Datové typy

Da D to t v o é v ty t py IB111: Datové typy Datové typy IB111: Datové typy Data a algoritmizace jaká data potřebuji pro vyřešení problému? jak budu data reprezentovat? jaké operaci s nimi potřebuji provádět? Navržení práce s daty je velice důležité

Více

Dell S2718H/S2718HX/S2718HN/ S2718NX Dell Display Manager Návod na obsluhu

Dell S2718H/S2718HX/S2718HN/ S2718NX Dell Display Manager Návod na obsluhu Dell S2718H/S2718HX/S2718HN/ S2718NX Dell Display Manager Návod na obsluhu Model: S2718H/S2718HX/S2718HN/S2718NX Regulačný model: S2718Hx/S2718Nx POZNÁMKA: POZNÁMKA označuje dôležité informácie, ktoré

Více

P R O L U C. POZNÁMKY individuálnej účtovnej závierky pre rok 2014

P R O L U C. POZNÁMKY individuálnej účtovnej závierky pre rok 2014 P R O L U C POZNÁMKY individuálnej účtovnej závierky pre rok 2014 Spustenie... 2 Doporučená verzia pre otvorenie a uloženie poznámok - Acrobat Reader XI... 2 Prvotné nastavenie a podmienky spracovania....

Více

Návod na aplikáciu Mobile Pay pre Orange

Návod na aplikáciu Mobile Pay pre Orange Návod na aplikáciu Mobile Pay pre Orange Aktivácia bezkontaktných mobilných platieb Keď máte stiahnutú aplikáciu, môžete si aktivovať bezkontaktné mobilné platby. V menu uvítacej obrazovky zvoľte tlačidlo

Více

OBOZNÁMTE SA S VAŠÍM TELEFÓNOM

OBOZNÁMTE SA S VAŠÍM TELEFÓNOM Alcatel 4400 OBOZNÁMTE SA S VAŠÍM TELEFÓNOM 2 6 3 i 5 1 Audio tlačidlá 4 1 Reproduktor: umožňuje podielať sa viacerým účastníkom na konverzácii zníženie hlasitosti reproduktora alebo slúchadla zvýšenie

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

Objektov orientované programování. C++ Akademie SH. 7. Objektov orientované programování. Michal Kvasni ka. Za áte níci C++ 2.

Objektov orientované programování. C++ Akademie SH. 7. Objektov orientované programování. Michal Kvasni ka. Za áte níci C++ 2. C++ Akademie SH Za áte níci C++ 2. kv tna 2011 Obsah 1 Objektov orientované programování Obsah Objektov orientované programování 1 Objektov orientované programování P et ºování Jev, díky kterému m ºeme

Více

Manuál na prácu s databázou zmlúv, faktúr a objednávok Mesta Martin.

Manuál na prácu s databázou zmlúv, faktúr a objednávok Mesta Martin. Manuál na prácu s databázou zmlúv, faktúr a objednávok Mesta Martin. Cieľom databázy zmlúv, faktúr a objednávok Mesta Martin je zverejnenie uvedených záznamov v zmysle ustanovení zákona č. 211/2000 Z.z.

Více

Formuláre PowerPoint MGR. LUCIA BUDINSKÁ,

Formuláre PowerPoint MGR. LUCIA BUDINSKÁ, Formuláre PowerPoint MGR. LUCIA BUDINSKÁ, 30.11.2016 Formuláre https://docs.google.com/forms/u/0/ Online formulár Správa výsledkov Google vám sám vytvorí tabuľku s odpoveďami, alebo dokonca aj grafy Možnosť

Více

Postup pri aktivácii elektronickej schránky na doručovanie pre fyzické osoby

Postup pri aktivácii elektronickej schránky na doručovanie pre fyzické osoby Postup pri aktivácii elektronickej schránky na doručovanie pre fyzické osoby Dátum zverejnenia: 1. 2. 2014 Verzia: 7 Dátum aktualizácie: 23. 8. 2017 Popis: Tento dokument je určený pre občanov a fyzické

Více