ADT/ADS = abstraktní datové typy / struktury

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

Download "ADT/ADS = abstraktní datové typy / struktury"

Transkript

1 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 = { až } + {+,,*,/,} ADT/ADS = abstraktní datové typy / struktury poprvé představen 1974, veřejnosti až 1977 implementačně nezávislá struktura dat s operacemi na této struktuře určen: množství alokované paměti + druh dat paměť (B) dáno programovacím jazykem a typem PC» Java (pevná velikost), C, C++ (dle velikosti registru ½, 1, 2) druh dat způsob manipulace s daty (DT)» celé číslo, řetězec znaků, měna, desetinné číslo, 1

2 podle historického vývoje IT klasické DT jednoduché DT složené DT zvláštní DT klasické ADT základní ZDT uživatelské UDT prostředí.net hodnotový DT referenční DT klasické DT jednoduché DT ordinální (ex. předchůdce a následník)» log.hodnota (boolean), c.číslo (integer), znak (char), výč.typ (enum) neordinální (číslo s plovoucí čárkou)» reálné číslo (real, float, double) prázdný» void, null, nill složené DT homogenní» pole, textový řetězec nehomogenní» seznamy, struktury, záznamy, třídy zvláštní DT» ukazatel (*pt), soubor (file),... 2

3 klasické ADT/ADS ZDT = základní, primitivní, vestavěné (built in) definované programovacím jazykem celočíselné, s plovoucí desetinnou čárkou, znakové, logická hodnota» Java: byte, short, int, long, float, double, char, String, boolean» C#: s byte, u short, u int, u long, float, double, decimal, char, string, bool, object UDT = uživatelsky definované definované programátorem seskupení primitivních ZDT pole, textový řetězec, fronta, seznam, zásobník, strom,...» Java: pole array, třída class, výčtový typ enum, rozhraní interface» C#: pole array, třída class, výčtový typ enum, struktura struct, v prostředí.net předek třídy System.Object hodnotový datový typ vytváření dynamicky (složka třídy) nebo v zásobníku (lokální proměnná metody) Primitivní (atomické) datové typy celá čísla (byte, short, int, long), znaky (char), reálná čísla (float, double), logické hodnoty (bool), prázdný typ (void, null), výčtový typ, struktura referenční (odkazový) datový typ vytváření pouze dynamicky odkazování reference rušení automatická správa paměti řetězce (String), pole ([]), třídy (class), 3

4 celá čísla uložení: znaménko + bin.číslo byte (1B) 0 až 255 / 128 až +127 short (2B) 0 až / až int (4B, 6B) bez znaménka / se znaménkem unsigned / signed záporná čísla doplňkový kód např až / až long (8B) 0 až / až Java : byte, short, int, long signed C# : sbyte, byte, short, ushort, int, uint, long, ulong reálné číslo reálné číslo = mantisa * 2 exponent mantisa v normalizovaném tvaru (1, ) uložení: znaménko + mantisa + exponent (= pohyblivá čárka) velikost mantisy = max. počet platných cifer velikost exponentu = rozsah zobrazovaných hodnot real / float (4B) s jednoduchou přesností (3B mantisa + 1B exponent) ±1.5 x až ± 3.4 x přesnost na 7 8 cifer za desetinnou čárkou double (8B) s dvojitou přesností (6B mantisa + 2B exponent) ±5.0 x až ± 1.7 x přesnost na cifer za desetinnou čárkou 4

5 celočíselná hodnota znakové sady znaková sada (kódová stránka) + kódování ASCII (1B) 256/128 znaků (1 způsob kódování) kódování EBCDIC (souběžně s ASCII, pro sálové počíteče) kódové stránky národních abeced latin 1, latin 2, Kamenických, Win1250 Unicode (1B,2B,4B) znaků (17*65536)» standardy UCS (až 32b) + Unicode (až 16b) 1991 kódování UTF 7 (7b, znaková sada ASCII) kódování UTF 8 (8 32b, ISO , Internet + OS GNU/Linux) kódování UCS 2 (16b), UTF 16 (16 32b, LE, BE, OS Windows) kódování UCS 4, UTF 32 (32b, LE, BE, neefektivní)» endianita = ukládání vícebajtových DT (0x4A3B2C1D), LE, BE, ME char (2B) lze použít jako celočíselný typ bez znaménka (ushort) boolean (1bit) 1 / 0 true / false pravda / nepravda uložen často jako 1B existují i další ZDT různé pro různé programovací jazyky Java : string C# : decimal, void, list, 5

6 proměnná = odkaz na paměťové místo na paměťovém místě najdeme hodnotu proměnné název = ukazatel na 1.bajt datový_typ = velikost paměťového místa (1B, 2B, 4B, ) obsah deklarace: datový_typ název_proměnné ; short obsah; definice: název_proměnné = hodnota ; obsah = 15; ukazatel = odkaz na paměťovou adresu na paměťové adrese najdeme adresu jiné proměnné velikost adresy v pamě rychlejší práce pro velké datové struktury lze použít jako prvek struktury, atribut třídy adresový operátor & pro získání adresy proměnné operátor * pro práci s hodnotou proměnné v místě adresy obsah ptobsah deklarace: datový_typ * název_ukazatele ; short *ptobsah; definice: název_ukazatele = & proměnná ; ptobsah = &obsah; 6

7 pole = odkaz na řadu homogenních paměťových míst prvek pole = jedno paměťové místo určen indexem [i] umístěny v paměti vedle sebe stejného datového typu statické pole (při překladu musí být známa fixní velikost pole) dynamické pole (při běhu programu se může měnit velikost pole) obsah[0] obsah[1] obsah[2] obsah[3] deklarace: datový_typ[] název_pole [počet_prvků] ; short obsah[4]; short[] objem = new short[pocet]; definice: název_pole[prvek] = hodnota ; obsah[1] = 15; objem[3] = 7; struktura = odkaz na seskupení heterogenních paměťových míst prvek struktury = jedno paměťové místo různého datového typu umístěny v paměti vedle sebe určen instancí a operátorem. ABCD.obsah ABCD.nazev[0] ABCD.nazev[1] hodnotový typ ADS PQRS.obsah deklarace: struct název_str { typ prvek; } prom ; struct ctverec{ short obsah; char nazev[2]; } ABCD, PQRS; definice: název_prom. prvek = hodnota ; ABCD.obsah = 15; ABCD.nazev = "PX"; 7

8 třída = odkaz na seskupení heterogenních paměťových míst prvek třídy = jedno paměťové místo různého datového typu umístěny v paměti vedle sebe určen instancí a operátorem new ABCD.obsah ABCD.nazev[0] ABCD.nazev[1] referenční typ ADS PQRS.obsah deklarace: class název_tr { typ prvek; metody } ; class ctverec{ short obsah; char nazev[2]; Constr() }; definice: název_tr prom = new Constr() ; ctverec ABCD = new Constr(15,"PX"); ctverec PQRS = new Constr(); zásobník = způsob seskupení paměťových míst metoda LIFO (last in, first out) součást skoro každého programu zasobnik[0] zasobnik[1] zasobnik[2] zasobnik[3] vrchol = 1 int velikost = 4; int Zasobnik[velikost]; int vrchol = 1; public class Stack { object[] items; int count; public void Push(object item) {...} public object Pop() {...} } Stack zasobnik = new Stack(); 8

9 zásobník = způsob seskupení paměťových míst metoda LIFO (last in, first out) Vložení hodnoty 24 do Zásobníku zasobnik[0] zasobnik[1] zasobnik[2] zasobnik[3] 24 vrchol = vrchol + 1; Zasobnik[vrchol] = 24; vrchol = 0 zasobnik.push(24); zásobník = způsob seskupení paměťových míst metoda LIFO (last in, first out) Vložení hodnoty 59 do Zásobníku zasobnik[0] zasobnik[1] zasobnik[2] zasobnik[3] vrchol = vrchol + 1; Zasobnik[vrchol] = 59; vrchol = 1 zasobnik.push(59); 9

10 zásobník = způsob seskupení paměťových míst metoda LIFO (last in, first out) Vložení hodnoty 11 do Zásobníku zasobnik[0] zasobnik[1] zasobnik[2] zasobnik[3] vrchol = vrchol + 1; Zasobnik[vrchol] = 11; vrchol = 2 zasobnik.push(11); zásobník = způsob seskupení paměťových míst metoda LIFO (last in, first out) Vložení hodnoty 37 do Zásobníku zasobnik[0] zasobnik[1] zasobnik[2] zasobnik[3] vrchol = vrchol + 1; Zasobnik[vrchol] = 37; zasobnik.push(37); vrchol = 3 10

11 zásobník = způsob seskupení paměťových míst metoda LIFO (last in, first out) Vyjmutí hodnoty 37 ze Zásobníku zasobnik[0] zasobnik[1] zasobnik[2] zasobnik[3] pom = Zasobnik[vrchol]; vrchol = vrchol 1; vrchol = 2 int pom = (int) zasobnik.pop(); zásobník = způsob seskupení paměťových míst metoda LIFO (last in, first out) Vyjmutí hodnoty 11 ze Zásobníku zasobnik[0] zasobnik[1] zasobnik[2] zasobnik[3] pom = Zasobnik[vrchol]; vrchol = vrchol 1; vrchol = 1 int pom = (int) zasobnik.pop(); 11

12 zásobník = způsob seskupení paměťových míst metoda LIFO (last in, first out) Vyjmutí hodnoty 59 ze Zásobníku zasobnik[0] zasobnik[1] zasobnik[2] zasobnik[3] pom = Zasobnik[vrchol]; vrchol = vrchol 1; vrchol = 0 int pom = (int) zasobnik.pop(); zásobník = způsob seskupení paměťových míst metoda LIFO (last in, first out) Vložení hodnoty 31 do Zásobníku zasobnik[0] zasobnik[1] zasobnik[2] zasobnik[3] vrchol = vrchol + 1; Zasobnik[vrchol] = 31; vrchol = 1 zasobnik.push(31); 12

13 používané metody / funkce: je zásobník plný? ano, pokud 1 ne, pokud 1 je zásobník prázdný? ano, pokud 1 ne, pokud 0 vlož (push) hodnotu do zásobníku. otestuj, zda již není plný vyjmi (pop) hodnotu ze zásobníku. otestuj, zda již není prázdný fronta = způsob seskupení paměťových míst metoda FIFO (first in, first out) cyklická fronta[0] fronta[1] fronta[2] fronta[3] int velikost = 4; int Fronta[velikost]; int = 0; int konec = 0; = 0 konec = 0 public class Queue { object[] items; int start, stop; public void Push(object item) {...} public object Pop() {...} } Queue fronta = new Queue(); 13

14 fronta = způsob seskupení paměťových míst metoda FIFO (first in, first out) cyklická Vložení hodnoty 24 do Fronty fronta[0] fronta[1] fronta[2] fronta[3] 24 = 0 Fronta[konec] = 24; konec = (konec + 1) % velikost; konec = 1 fronta.push(24); fronta = způsob seskupení paměťových míst metoda FIFO (first in, first out) cyklická Vložení hodnoty 59 do Fronty fronta[0] fronta[1] fronta[2] fronta[3] = 0 Fronta[konec] = 59; konec = (konec + 1) % velikost; konec = 2 fronta.push(59); 14

15 fronta = způsob seskupení paměťových míst metoda FIFO (first in, first out) cyklická Vložení hodnoty 11 do Fronty fronta[0] fronta[1] fronta[2] fronta[3] = 0 Fronta[konec] = 11; konec = (konec + 1) % velikost; fronta.push(11); konec = 3 fronta = způsob seskupení paměťových míst metoda FIFO (first in, first out) cyklická Vyjmutí hodnoty 24 z Fronty fronta[0] fronta[1] fronta[2] fronta[3] pom = Fronta[]; = ( + 1) % velikost; = 1 konec = 3 int pom = (int) fronta.pop(); 15

16 fronta = způsob seskupení paměťových míst metoda FIFO (first in, first out) cyklická Vyjmutí hodnoty 59 z Fronty fronta[0] fronta[1] fronta[2] fronta[3] pom = Fronta[]; = ( + 1) % velikost; = 2 konec = 3 int pom = (int) fronta.pop(); fronta = způsob seskupení paměťových míst metoda FIFO (first in, first out) cyklická Vložení hodnoty 31 do Fronty fronta[0] fronta[1] fronta[2] fronta[3] konec = 0 Fronta[konec] = 31; konec = (konec + 1) % velikost; = 2 fronta.push(31); 16

17 fronta = způsob seskupení paměťových míst metoda FIFO (first in, first out) cyklická Vložení hodnoty 47 do Fronty fronta[0] fronta[1] fronta[2] fronta[3] Fronta[konec] = 47; konec = (konec + 1) % velikost; konec = 1 = 2 fronta.push(47); používané metody / funkce: je fronta plná? ano, pokud 1 % ne, pokud 1 % je fronta prázdná? ano, pokud ne, pokud vlož (push) hodnotu do fronty. otestuj, zda již není plná vyjmi (pop) hodnotu z fronty. otestuj, zda již není prázdná 17

18 lineární spojový seznam, zřetězený seznam (list) dynamická datová struktura» dynamická alokace paměti, tvorba struktur pole, stromy, grafy náročnější na čas, paměť a zkušenost programátora prvek» přístup k prvkům složitější (nelze indexy) jednosměrný data + odkaz na další prvek jednodušší, horší procházení obousměrný (dvoucestný, dvousměrný) data + odkaz na předchozí a další prvek složitější, procházení oběma směry data data prvek predchozi jednosměrný data + odkaz na další prvek jednodušší, horší procházení vkládání prvků na začátek na konec na pozici v seznamu prvek data jednosměrně zřetězený seznam class Prvek{ private int data; private Prvek ; public Prvek(int d) { NastavData(d); = null; } public int VratData() {} public void NastavData(int d) {} }; 18

19 jednosměrný, vkládání na začátek seznamu Vložení hodnoty 24 do Seznamu 24 null = new Prvek(24); jednosměrný, vkládání na začátek seznamu Vložení hodnoty 59 do Seznamu 24 null 59 null = new Prvek(59); 19

20 jednosměrný, vkládání na začátek seznamu Vložení hodnoty 59 do Seznamu 24 null 59 adr.24. = ; jednosměrný, vkládání na začátek seznamu Vložení hodnoty 59 do Seznamu 24 null 59 adr.24 = ; 20

21 jednosměrný, vkládání na začátek seznamu Vložení hodnoty 11 do Seznamu 24 null 11 null 59 adr.24 = new Prvek(11); jednosměrný, vkládání na začátek seznamu Vložení hodnoty 11 do Seznamu 24 null 11 adr adr.24. = ; 21

22 jednosměrný, vkládání na začátek seznamu Vložení hodnoty 11 do Seznamu 24 null 11 adr adr.24 = ; jednosměrný, vkládání na začátek seznamu Seznam null 11 adr adr.24 22

23 jednosměrný, vkládání na začátek seznamu Vyjmutí hodnoty 59 ze Seznamu pom 24 null 11 adr adr.24 = ; pom =.; while (pom.data!= 59) = pom; pom =.; jednosměrný, vkládání na začátek seznamu Vyjmutí hodnoty 59 ze Seznamu pom 24 null 11 adr adr.24. = pom.; 23

24 jednosměrný, vkládání na začátek seznamu Vyjmutí hodnoty 59 ze Seznamu pom 24 null 11 adr adr.24 // zpracuj pom; jednosměrný, vkládání na začátek seznamu Seznam null 11 adr.24 24

25 obousměrný data + odkaz předchozí, další složitější vkládání prvků na začátek na konec na pozici v seznamu prvek data predchozi obousměrně zřetězený seznam class Prvek{ private int data; private Prvek predchozi, ; public: Prvek(int d) { NastavData(d); predchozi = null; = null; } public int VratData() {} public void NastavData(int d) {} }; obousměrný, vkládání na konec seznamu Vložení hodnoty 24 do Seznamu 24 null null konec = new Prvek(24); konec = ; 25

26 obousměrný, vkládání na konec seznamu Vložení hodnoty 59 do Seznamu 24 null null 59 null null konec = new Prvek(59); obousměrný, vkládání na konec seznamu Vložení hodnoty 59 do Seznamu 24 null adr null null konec konec. = ; 26

27 obousměrný, vkládání na konec seznamu Vložení hodnoty 59 do Seznamu 24 null adr adr.24 null konec.predchozi = konec; obousměrný, vkládání na konec seznamu Vložení hodnoty 59 do Seznamu 24 null adr adr.24 null konec = ; konec 27

28 obousměrný, vkládání na konec seznamu Vložení hodnoty 11 do Seznamu 24 null adr null null 59 adr.24 null = new Prvek(11); konec obousměrný, vkládání na konec seznamu Vložení hodnoty 11 do Seznamu 24 null adr null null 59 adr.24 adr.11 konec. = ; konec 28

29 obousměrný, vkládání na konec seznamu Vložení hodnoty 11 do Seznamu 24 null adr adr.59 null 59 adr.24 adr.11.predchozi = konec; konec obousměrný, vkládání na konec seznamu Vložení hodnoty 11 do Seznamu 24 null adr adr.59 null 59 adr.24 adr.11 konec = ; konec 29

30 obousměrný, vkládání na konec seznamu Seznam null adr adr.59 null 59 adr.24 adr.11 konec obousměrný, vkládání na konec seznamu Vyjmutí hodnoty 59 ze Seznamu 24 null adr adr.59 null 59 adr.24 adr.11 = ; while (.data!=59) =.; konec 30

31 obousměrný, vkládání na konec seznamu Vyjmutí hodnoty 59 ze Seznamu pom 24 null adr adr.59 null 59 adr.24 adr.11 pom =.predchozi; pom. =.; konec obousměrný, vkládání na konec seznamu Vyjmutí hodnoty 59 ze Seznamu pom 24 null adr adr.59 null 59 adr.24 adr.11 konec pom =.; pom.predchozi =.predchozi; 31

32 obousměrný, vkládání na konec seznamu Vyjmutí hodnoty 59 ze Seznamu pom 24 null adr adr.24 null 59 adr.24 adr.11 // zpracuj ; konec obousměrný, vkládání na konec seznamu Seznam null adr adr.24 null konec 32

Reprezentace dat v informačních systémech. Jaroslav Šmarda

Reprezentace dat v informačních systémech. Jaroslav Šmarda Reprezentace dat v informačních systémech Jaroslav Šmarda Reprezentace dat v informačních systémech Reprezentace dat v počítači Datové typy Proměnná Uživatelské datové typy Datové struktury: pole, zásobník,

Více

Algoritmizace prostorových úloh

Algoritmizace prostorových úloh INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Datové struktury Daniela Szturcová

Více

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

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

Více

Algoritmizace prostorových úloh

Algoritmizace prostorových úloh INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Datové struktury Daniela Szturcová

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

Datové typy a struktury

Datové typy a struktury atové typy a struktury Jednoduché datové typy oolean = logická hodnota (true / false) K uložení stačí 1 bit často celé slovo (1 byte) haracter = znak Pro 8-bitový SII kód stačí 1 byte (256 možností) Pro

Více

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické Jak v Javě primitivní datové typy a jejich reprezentace BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické Obsah Celočíselný datový typ Reálný datový typ Logický datový typ, typ Boolean

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

Algoritmizace a programování

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

Více

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

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

Ahoj mami. Uložení dat v počítači. Příklady kódování dat. IAJCE Přednáška č. 4

Ahoj mami. Uložení dat v počítači. Příklady kódování dat. IAJCE Přednáška č. 4 Uložení dat v počítači Data = užitečné, zpracovávané informace Kódování (formát) dat = způsob uložení v počítači (nutno vše převést na čísla ve dvojkové soustavě) Příklady kódování dat Text každému znaku

Více

Datové typy v Javě. Tomáš Pitner, upravil Marek Šabo

Datové typy v Javě. Tomáš Pitner, upravil Marek Šabo Datové typy v Javě Tomáš Pitner, upravil Marek Šabo Úvod k datovým typům v Javě Existují dvě základní kategorie datových typů: primitivní a objektové Primitivní v proměnné je uložena přímo hodnota např.

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

Zápis programu v jazyce C#

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

Více

Ing. Igor Kopetschke TUL, NTI

Ing. Igor Kopetschke TUL, NTI ALGORITMY A DATOVÉ STRUKTURY 1. Organizace dat v paměti, datové typy Ing. Igor Kopetschke TUL, NTI http://www.nti.tul.cz Jednotlivé body Ukládání a a organizace dat Vnitřní paměť Vnější paměť Přístup k

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

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

Úvod do programovacích jazyků (Java)

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

Více

ABSTRAKTNÍ DATOVÉ TYPY (ADT)

ABSTRAKTNÍ DATOVÉ TYPY (ADT) ABSTRAKTNÍ DATOVÉ TYPY (ADT) hierarchie abstrakcí: nejvyšší úroveň ZOO DruhZvirat celá čísla, řetězce nejnižší úroveň bity Abstrahujeme od - reprezentace (implementace) dat - realizace (implementace) operací

Více

Algoritmy a datové struktury

Algoritmy a datové struktury Algoritmy a datové struktury Data a datové typy 1 / 28 Obsah přednášky Základní datové typy Celá čísla Reálná čísla Znaky 2 / 28 Organizace dat Výběr vhodné datvé struktry různá paměťová náročnost různá

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

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

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

Více

Elementární datové typy

Elementární datové typy Elementární datové typy Celočíselné typy (integers) Mohou nabývat množiny hodnot, která je podmnožinou celých čísel (někdy existuje implementační konstanta maxint). Operace: aritmetické, relační, bitové,

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

Úvod do programovacích jazyků (Java)

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

Více

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Předmět: Vývoj aplikací Téma: Datové typy Vyučující: Ing. Milan Káža Třída: EK3 Hodina: 5 Číslo: V/5 Programování v jazyce

Více

Proměnná. Datový typ. IAJCE Cvičení č. 3. Pojmenované místo v paměti sloužící pro uložení hodnoty.

Proměnná. Datový typ. IAJCE Cvičení č. 3. Pojmenované místo v paměti sloužící pro uložení hodnoty. Proměnná Pojmenované místo v paměti sloužící pro uložení hodnoty. K pojmenování můžeme použít kombinace alfanumerických znaků, včetně diakritiky a podtržítka Rozlišují se velká malá písmena Název proměnné

Více

Fronta (Queue) Úvod do programování. Fronta implementace. Fronta implementace pomocí pole 1/4. Fronta implementace pomocí pole 3/4

Fronta (Queue) Úvod do programování. Fronta implementace. Fronta implementace pomocí pole 1/4. Fronta implementace pomocí pole 3/4 Fronta (Queue) Ú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 Fronta uplatňuje mechanismus přístupu FIFO first

Více

Opakování programování

Opakování programování Opakování programování HW návaznost - procesor sběrnice, instrukční sada, optimalizace rychlosti, datové typy, operace (matematické, logické, podmínky, skoky, podprogram ) - paměti a periferie - adresování

Více

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

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

Více

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

Programování v Javě I. Leden 2008

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

Více

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

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

Více

Datové typy a jejich reprezentace v počítači.

Datové typy a jejich reprezentace v počítači. Datové typy a jejich reprezentace v počítači. Celá čísla. Reálná čísla. Semilogaritmický tvar. Komplexní čísla. Řetězce. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie,

Více

1 2 3 4 5 6 součet cvičení celkem. známka. Úloha č.: max. bodů: skut. bodů:

1 2 3 4 5 6 součet cvičení celkem. známka. Úloha č.: max. bodů: skut. bodů: Úloha č.: max. bodů: skut. bodů: 1 2 3 4 5 6 součet cvičení celkem 20 12 20 20 14 14 100 známka UPOZORNĚNÍ : a) Písemná zkouška obsahuje 6 úloh, jejichž řešení musí být vepsáno do připraveného formuláře.

Více

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

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

Více

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

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

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu 1 Podklady předmětu pro akademický rok 2006/2007 Radim Farana Obsah 2 Obsah předmětu, Požadavky kreditového systému, Datové typy jednoduché, složené, Programové struktury, Předávání dat. Obsah předmětu

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

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

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

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

Více

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

Programování v C++, 2. cvičení Programování v C++, 2. cvičení 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 Operátory new a delete 2 3 Operátory new a delete minule

Více

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

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

Více

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

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

Více

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

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty Data v počítači Informační data (elementární datové typy) Logické hodnoty Znaky Čísla v pevné řádové čárce (celá čísla) v pohyblivé (plovoucí) řád. čárce (reálná čísla) Povelová data (instrukce programu)

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

Tato tematika je zpracována v Záznamy přednášek: str. 214 235 + materiál: PrikladyZobrazeniCisel.pdf

Tato tematika je zpracována v Záznamy přednášek: str. 214 235 + materiál: PrikladyZobrazeniCisel.pdf Obsah 11. přednášky: Kódování dat - terminologie Rozdělení kódů Kódování čísel Kódování znaků Tato tematika je zpracována v Záznamy přednášek: str. 214 235 + materiál: PrikladyZobrazeniCisel.pdf Jak bude

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 5. března 2019 Jiří Dvorský (VŠB TUO) Lineární datové

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

Š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

DUM 07 téma: Proměnné, konstanty a pohyb po buňkách ve VBA

DUM 07 téma: Proměnné, konstanty a pohyb po buňkách ve VBA DUM 07 téma: Proměnné, konstanty a pohyb po buňkách ve VBA ze sady: 03 tematický okruh sady: Tvorba skript a maker ze šablony: 10 Algoritmizace a programování určeno pro: 4. ročník vzdělávací obor: vzdělávací

Více

Š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

4 Datové struktury. Datové struktury. Zobrazení dat v počítači

4 Datové struktury. Datové struktury. Zobrazení dat v počítači 4 Datové struktury Zobrazení dat v počítači Každá hodnota v paměti počítače je zakódovaná do posloupnosti bitů. Využívá se přitom dvojková (binární) soustava, která používá dva znaky, 1 (nebo I ) a 0,

Více

PA152. Implementace databázových systémů

PA152. Implementace databázových systémů PA152 Implementace databázových systémů RAID level 1 zrcadlení disku výpočet MTTF 2 stejné disky, MTTF 3 roky výměna vadného 3,5 dne výpadek oba disky během 3,5 dne p(výpadku disku za rok) = 1/6 p(výp.

Více

Java reprezentace dat, výrazy. A0B36PR1-Programování 1 Fakulta elektrotechnická České vysoké učení technické

Java reprezentace dat, výrazy. A0B36PR1-Programování 1 Fakulta elektrotechnická České vysoké učení technické Java reprezentace dat, výrazy A0B36PR1-Programování 1 Fakulta elektrotechnická České vysoké učení technické Dva základní přístupy k imperativnímu programování Strukturované procedurální Objektové V PR1

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

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

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

Více

Desetinná čísla. pro celá čísla jsme používali typ int. pro desetinná čísla používáme typ double

Desetinná čísla. pro celá čísla jsme používali typ int. pro desetinná čísla používáme typ double Čísla Desetinná čísla pro celá čísla jsme používali typ int pro desetinná čísla používáme typ double analogicky pro konverzi ze stringu na double se místo Convert.ToInt32 používá Convert.ToDouble Př. program,

Více

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

Programování v C++ 1, 1. cvičení Programování v C++ 1, 1. cvičení opakování látky ze základů programování 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 2 Shrnutí procvičených

Více

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

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

Více

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

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

Více

Strukturované typy a ukazatele. Úvod do programování 1 Tomáš Kühr

Strukturované typy a ukazatele. Úvod do programování 1 Tomáš Kühr Strukturované typy a ukazatele Úvod do programování 1 Tomáš Kühr Motivace Se základními datovými typy si sice vystačíme Někdy to ale může být nepříjemně nepřehledné Příklady: long double soucet(const long

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

Spojové struktury. Spojová struktura (linked structure):

Spojové struktury. Spojová struktura (linked structure): Spojová struktura (linked structure): Spojové struktury množina objektů propojených pomocí spojů (odkazů, referencí, ukazatelů) Spoj často vyjadřuje vztah předchůdce následník Lineární spojové struktury

Více

IRAE 07/08 Přednáška č. 7. Začátek (head)

IRAE 07/08 Přednáška č. 7. Začátek (head) Fronta (Queue) FIFO First In First Out (první dovnitř první ven) Vložení položky (Enqueue) Vyjmutí položky (Dequeue) Přidávání prvků Konec (Tail) Začátek (head) na jedné straně (konec) Odebírání prvků

Více

Teoretické minimum z PJV

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

Více

Generické programování

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

Více

Informatika Datové formáty

Informatika Datové formáty Informatika Datové formáty Radim Farana Podklady předmětu Informatika pro akademický rok 2007/2008 Obsah Datové formáty (datové typy). Textové formáty, vlastnosti zdroje zpráv. Číselné formáty, číselné

Více

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5 Obsah Obsah 1 Programovací jazyk Pascal 1 1.1 Struktura programu v Pascalu.................... 1 2 Proměnné 2 2.1 Vstup a výstup............................ 3 3 Operátory a některé matematické funkce 5

Více

PREPROCESOR POKRAČOVÁNÍ

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

Více

Spojová implementace lineárních datových struktur

Spojová implementace lineárních datových struktur Spojová implementace lineárních datových struktur 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

Více

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

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

Více

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

6. lekce Úvod do jazyka C knihovny datové typy, definice proměnných základní struktura programu a jeho editace Miroslav Jílek

6. lekce Úvod do jazyka C knihovny datové typy, definice proměnných základní struktura programu a jeho editace Miroslav Jílek 6. lekce Úvod do jazyka C knihovny datové typy, definice proměnných základní struktura programu a jeho editace Miroslav Jílek 1/73 https://en.cppreference.com internetová stránka s referencemi https://gedit.en.softonic.com/download

Více

Výrazy, operace, příkazy

Výrazy, operace, příkazy Výrazy, operace, příkazy Karel Richta a kol. katedra počítačů FEL ČVUT v Praze Přednášky byly připraveny s pomocí materiálů, které vyrobili Ladislav Vágner, Pavel Strnad Karel Richta, Martin Hořeňovský,

Více

Sada 1 - PHP. 03. Proměnné, konstanty

Sada 1 - PHP. 03. Proměnné, konstanty S třední škola stavební Jihlava Sada 1 - PHP 03. Proměnné, konstanty Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284 Šablona: III/2 - inovace a

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

Správa paměti. Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta, 2016

Správa paměti. Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta, 2016 Správa paměti Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta, 2016 Objektové modelování, B36OMO 10/2016, Lekce 2 https://cw.fel.cvut.cz/wiki/courses/xxb36omo/start

Více

Číselné soustavy. Binární číselná soustava

Číselné soustavy. Binární číselná soustava 12. Číselné soustavy, binární číselná soustava. Kódování informací, binární váhový kód, kódování záporných čísel. Standardní jednoduché datové typy s pevnou a s pohyblivou řádovou tečkou. Základní strukturované

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

Object Pascal je přísně typový procedurální jazyk, který umožňuje jak strukturované, tak objektově orientované programování.

Object Pascal je přísně typový procedurální jazyk, který umožňuje jak strukturované, tak objektově orientované programování. Delphi lekce 6 Minimum z Object Pascalu Vrátíme se ještě k základům Object Pascalu. Struktura programu Object Pascal je přísně typový procedurální jazyk, který umožňuje jak strukturované, tak objektově

Více

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

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

Více

Část I Spojové struktury

Část I Spojové struktury Část 1 Spojové struktury (seznamy) Spojové struktury Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 10 A0B36PR1 Programování 1 Spojové struktury Spojový

Více

Jazyk C# a platforma.net

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

Více

Spojové struktury. Jan Faigl. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze. Přednáška 10 A0B36PR1 Programování 1

Spojové struktury. Jan Faigl. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze. Přednáška 10 A0B36PR1 Programování 1 Spojové struktury Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 10 A0B36PR1 Programování 1 Jan Faigl, 2015 A0B36PR1 Přednáška 10: Spojové struktury

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

Dynamické datové typy a struktury

Dynamické datové typy a struktury .. a Programovací techniky doc. Ing. Jiří Rybička Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Programovací techniky a 2 / 18 Uchovávají adresu v paměti Programovací techniky a 2 / 18 Uchovávají

Více

typová konverze typová inference

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

Více

Základy programování (IZP)

Základy programování (IZP) Základy programování (IZP) Jedenácté počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Gabriela Nečasová, inecasova@fit.vutbr.cz

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

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

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

IUJCE 07/08 Přednáška č. 6

IUJCE 07/08 Přednáška č. 6 Správa paměti Motivace a úvod v C (skoro vždy) ručně statické proměnné o datový typ, počet znám v době překladu o zabírají paměť po celou dobu běhu programu problém velikosti definovaných proměnných jak

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

Sada 1 - Základy programování

Sada 1 - Základy programování S třední škola stavební Jihlava Sada 1 - Základy programování 04. Datové typy, operace, logické operátory Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284

Více

ZPRO v "C" Ing. Vít Hanousek. verze 0.3

ZPRO v C Ing. Vít Hanousek. verze 0.3 verze 0.3 Hello World Nejjednoduší program ukazující vypsání textu. #include using namespace std; int main(void) { cout

Více

Odvozené a strukturované typy dat

Odvozené a strukturované typy dat Odvozené a strukturované typy dat Petr Šaloun katedra informatiky FEI VŠB-TU Ostrava 14. listopadu 2011 Petr Šaloun (katedra informatiky FEI VŠB-TU Ostrava) Odvozené a strukturované typy dat 14. listopadu

Více