Ukazatele. Paměť počítače Víte, jak velkou paměť má váš počítač? Ovládací panely/systém Víte, kolik je 1KiB,1kB, 1MB, 1GiB(ČSN IEC , 1998)?

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

Download "Ukazatele. Paměť počítače Víte, jak velkou paměť má váš počítač? Ovládací panely/systém Víte, kolik je 1KiB,1kB, 1MB, 1GiB(ČSN IEC , 1998)?"

Transkript

1 1 Přírava studijního rogramu Informatika je odorována rojektem financovaným z Evroského sociálního fondu a rozočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti roměnná tyu ukazatel oerace reference oerace dereference komatibilita ukazatelů ukazatelová aritmetika ole a ukazatele dynamické roměnné dealokace dynamických roměnných BI-PA1 Programování a algoritmizace 1, ZS Katedra teoretické informatiky Miroslav Balík Fakulta informačních technologií České vysoké učení technické 2/26 Paměť očítače Víte, jak velkou aměť má váš očítač? Ovládací anely/systém Víte, kolik je 1KiB,1kB, 1MB, 1GiB(ČSN IEC , 1998)? Jednotka Značka B kb KiB Kilobyte kb 00 1 ~0,9766 Kibibyte KiB 24 1,024 1 Megabyte MB ~976,6 Mebibyte MiB ~48,6 24 Gigabyte GB ,5 Gibibyte GiB 2 30 bytů ~ rog8-mocniny2.c Jak vysat adresy roměnných? rog8-adresy.c Obsah roměnné tyu ukazatel na T se cháe jako adresa roměnné tyu T (známe již arametry tyu ukazatel) Proměnnou tyu ukazatel na T zavedeme deklarací T *; Tuto roměnnou můžeme inicializovat ukazatelem na roměnnou x tyu int (adresou roměnné x) T * = &x; nebo ji řiřadit ukazatel na roměnnou x tyu int (adresu roměnné x) = &x; Unární refixový oerátor & označuje oeraci reference Je-li X roměnná tyu T, ak výsledkem oerace &X je ukazatel na roměnnou X (adresa roměnné X) a je tyu T*, tzn. ukazatel na T Příklad (rog8-ukazatele1.c) c = &c; 3/26 4/26 Nebudeme se zabývat číselnými adresami Skutečnost, že roměnná tyu ukazatel obsahuje adresu roměnné x vyjádříme šikou z na x Předchozí říklad ještě jednou: c = &c; i i c c *c = &c; Dereference Chceme-li oužít roměnnou, na kterou ukazuje ukazatel, vyjádříme to omocí unárního oerátoru dereference * Je-li X ukazatel tyu T*, ak *X označuje roměnnou tyu T, na kterou ukazuje ukazatel X Příklad (rog8-ukazatele2.c) c = &c; i i *i *i = ; *c = a ; c c a *c 5/26 6/26

2 2 Přiřazení ukazatelů Pro ty ukazatel na T (T*) ty T nazýváme doménovým tyem ukazatele Komatibilními tyy ukazatel jsou takové, které mají stejný doménový ty Proměnné tyu ukazatel je třeba řiřadit komatibilní ukazatel int i, *i; int* char* i = &i; /* komatibilni tyy */ int* i = &c; /* nekomatibilni tyy */ Přiřazení ukazatelů Co může zůsobit, řiřadíme-li roměnné nekomatibilní ukazatel int i, *i; i = &c; /* romenna tyu int* ukazuje na romennou tyu char */ c = &i; /* romenna tyu char* ukazuje na romennou tyu int */ *i = 0; /* vynuluji se 4 byty ocinaje adresou ulozenou v i */ Přiřazení nekomatibilního ukazatele je v C ouze varovné hlášení *c = 0; /* vynuluje se byte na adrese ulozene v c */ viz říklad rog8-ukazatele3.c 7/26 8/26 Přiřazení ukazatelů, oznámka Uložení čísla int 0x4A 3B 2C 1D v aměti očítače: Little endian (Intel) 1D 2C 3B 4A (adresy rostou dorava) Big endian (Motorola, SPARC, IBM) 4A 3B 2C 1D Middle-endian (Mixed endian) 3B 4A 1D 2C nebo 2C 1D 4A 3B Bi-endian (umí řeínat) ARM, PowerPC, Alha, SPARC V9, MIPS, PA-RISC and IA64) NULL ukazatel Jako rázdný, nelatný ukazatel, který neukazuje na žádnou roměnnou, slouží v jazyku C hodnota 0 Symbolickým označením tohoto ukazatele je NULL Dereference rázdného ukazatele zůsobí chybu ři běhu rogramu Příklad rog8-ukazatele4.c: int * = NULL; system( PAUSE ); 9/26 /26 Ukazatelová aritmetika Ukazatelé mohou být oerandy sčítání, odčítání a všech relačních oerátorů Dovolené kombinace a ty výsledku: T* + int -> T* T* - int -> T* T* - T* -> int T* relo T* -> int Přičtení n k ukazateli tyu T* znamená jeho změnu o n-násobek délky tyu T, odobně odečtení a rozdíl ukazatelů int a[], * = &a[0]; *( + 3) = ; /* do a[3] se uloží */ /* vynulování ole a */ for ( = &a[0]; <= &a[9]; ++) * = 0; /* nebo */ for ( = &a[0]; <= &a[9]; *++ = 0); Jméno ole rvků tyu T = konstantní ukazatel tyu T* ukazující na rvek s indexem 0 int a[], *a, i; a = a; totéž co a = &a[0] *(a + 2) = 3; totéž co a[2] = 3 *(a + i) = 4; totéž co a[i] = 4; for (a = a; a <= a + 9; *a++ = 0); a++; Chyba (roč?) Uřesnění indexace: X [ Y ], kde rvní výraz je tyu ukazatel na T a druhý tyu int, výsledek je tyu T Výraz X [ Y ] je ekvivalentní s *( ( X ) + ( Y ) ) a[3] = ; totéž co *(a + 3) = ; 11/26 12/26

3 3 Podívejte se na říklad rog8-vektory1.c skalární součin dvou vektorů, arametry funkcí secifikovány jako ukazatele Podívejte se na říklad rog8-vektory2.c skalární součin dvou vektorů, růchody olem omocí ukazatelové aritmetiky void ctivektor(int *v, int n) { int i; rintf zadejte %d celych cisel\n, n); scanf( %d, &v[i]); void ctivektor(int v[], int n) { int *, *n = v+n; rintf( zadejte %d celych cisel\n, n); for (=v; <n; ++) scanf( %d, ); void ctivektor(int *v, int n) { int i; rintf( zadejte %d celych cisel\n, n); scanf( %d, &v[i]); 13/26 14/26 - PALINDROM Palindrom je alesoň dvojznakové slovo, které vychází stejně čteno odředu i odzadu, nař. kajak Pro zjištění, zda slovo je alindrom, zavedeme funkci #define MAXDELKA 0 int jepalindrom(char *s); char slovo[maxdelka+1]; neochoen neotoen Dne moto: Palindrom i sáchá sí mord, Nil a otom End. rintf( zadejte slovo obsahujici nanejvys %d znaku:, MAXDELKA); scanf( %s, slovo); rintf( zadali jste %s\n, slovo); rintf( toto slovo ); if (jepalindrom(slovo)) rintf( je ); else rintf( neni ); rintf( alindrom\n ); Jak zjistit, že slovo je alindrom slovo délky d bude uloženo v oli s očínaje indexem 0 a konče indexem d-1 (hodnotou rvku s indexem d bude závěrečná nula) aby slovo bylo alindrom, musí latit: s[0] == s[d-1] s[1] == s[d-2] test na rovnost skončíme, až dosáhneme oloviny délky slova Řešení (rog8-alindrom1.c): int delka = strlen(s), olovina = delka/2, i; for (i=0; i<olovina; i++) if (s[i]!=s[delka-i-1]) 15/26 16/26 Testy rovnosti znaků můžeme rovádět omocí dvou roměnných tyu ukazatel na char, z nichž rvní nastavíme na rvní znak a budeme ji zvětšovat a druhou nastavíme na oslední znak a budeme ji zmenšovat Test budeme oakovat, okud rvní ukazatel bude menší než druhý ukazatel Řešení (rog8-alindrom2.c): char *, *q; char =s, q=s+strlen(s)-1; for (=s, q=s+strlen(s)-1; <q; ++,q--) while (<q) if (*!= *q) if (*++!= *q--) 17/26 A něco na závěr řetězců a ukazatelů Literál tvořený oslouností znaků, která je uzavřena do uvozovek, je tyu char* (řiomeňme, že v aměti je rerezentován oslouností znaků zakončenou nulovým bytem) Podívejte se na říklad rog8-alindrom3.c #define SLOVO kajak int jepalindrom(char *s); rintf( slovo %s, SLOVO); if (jepalindrom(slovo)) rintf( je ); else rintf( neni ); rintf( alindrom\n ); jepalindrom( abcd ); 18/26

4 4 Dynamické roměnné v jazyku C slouží ředevším ro: ředávání výstuních arametrů rocedurám a funkcím ředávání ole jako arametru rocedurám a funkcím řístu k dynamickým roměnným Dynamická roměnná není zavedena deklarací, ale je vytvořena seciální funkcí (oerátorem, říkazem) Dynamická roměnná nemá jméno, a roto k ní můžeme řistuovat ouze omocí ukazatele (adresy) V jazyku C vytvoříme dynamickou roměnnou omocí funkce malloc arametrem funkce je očet bytů, které budou vnitřní rerezentací roměnné funkce zařídí, že ve volné aměti je rezervováno místo ro roměnnou s danou velikostí vnitřní rerezentace a jejím výsledkem je adresa tohoto místa (tzn. ukazatel na dynamicky vytvořenou roměnnou) funkce je deklarována tak, že vrací výsledek tyu void*; volání funkce je roto třeba řetyovat Dynamické roměnné Příklad (rog8-dynrom.c) int *; = (int *)malloc(sizeof(int)); rintf( *=%d\n, *); system( PAUSE ); Jak je to v aměti očítače zásobník řetyování na ty int* halda 19/26 20/26 Dynamicky vytvořené ole Dynamicky vytvořené roměnné jednoduchých tyů obvykle nejsou třeba Užitečné je dynamicky vytvořené ole Příklad: skalární součin dvou vektorů, očet složek je dán vstuními daty funkce ctivektor dynamicky vytvoří ole, jehož délka je dána arametrem, a řečte jeho rvky z klávesnice int *ctivektor(int n) { int i, *; = (int *)malloc(sizeof(int)*n); rintf( zadejte %d celych cisel\n, n); scanf( %d, &[i]); return ; Ve funkci main nebudou deklarována ole, ale roměnné tyu ukazatel, do nichž se uloží adresy olí dynamicky vytvořených funkcí ctivektor Dynamicky vytvořené ole rog8-dynole.c int ctiint(int min, int max) { int *ctivektor(int n) { int skalarnisoucin(int x[], int y[], int n) { int *x, *y, n; rintf( zadejte ocet slozek vektoru: ); n = ctiint(1, INT_MAX); rintf( vektor x\n ); x = ctivektor(n); rintf( vektor y\n ); y = ctivektor(n); rintf( skalarni soucin vektoru x a y je %d\n, skalarnisoucin(x, y, n)); 21/26 22/26 Příklad: = (int *)malloc(sizeof(int)); q = (int *)malloc(sizeof(int)); Příklad: = (int *)malloc(sizeof(int)); q = (int *)malloc(sizeof(int)); q = ; Co s dynamicky vytvořenou roměnnou s hodnotu 20, na kterou ukazovala roměnná q (není řístuná)? Před ztrátou ukazatele na ni je třeba ji dealokovat (vrátit aměť, kterou zabírá, zět do volné aměti) 23/26 24/26

5 5 Dealokaci rovádí funkce free = (int*)malloc(sizeof(int)); q = (int*)malloc(sizeof(int)); free(q); q = ; Pamět očítače rogram vytvořený řekladačem jazyka C využívá ěti úseků aměti: aměť kódu aměť konstant aměť globálnich roměnných zásobník ro řidělení aměti arametrům a lokálním roměnným funkcí aměť ro dynamické roměnné Paměť řidělená modře zarámované roměnné se uvolní a je k disozici ro další malloc Podívejte se na rogram rog8-amet.c, který vyíše adresy z těchto úseků 25/26 26/26

BI-PA1 Programování a algoritmizace 1, ZS Katedra teoretické informatiky

BI-PA1 Programování a algoritmizace 1, ZS Katedra teoretické informatiky Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti Ukazatele BI-PA1

Více

BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky

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

Více

Funkce, intuitivní chápání složitosti

Funkce, intuitivní chápání složitosti Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti Funkce, intuitivní

Více

Ukazatele, dynamická alokace

Ukazatele, dynamická alokace Ukazatele, dynamická alokace 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, Martin Mazanec Karel Richta,

Více

Pointery II. Jan Hnilica Počítačové modelování 17

Pointery II. Jan Hnilica Počítačové modelování 17 Pointery II 1 Pointery a pole Dosavadní způsob práce s poli zahrnoval: definici pole jakožto kolekce proměnných (prvků) jednoho typu, umístěných v paměti za sebou int pole[10]; práci s jednotlivými prvky

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

BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky

BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti Pole, řetězce BI-PA1

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

Operační systémy. Cvičení 4: Programování v C pod Unixem

Operační systémy. Cvičení 4: Programování v C pod Unixem Operační systémy Cvičení 4: Programování v C pod Unixem 1 Obsah cvičení Řídící struktury Funkce Dynamická alokace paměti Ladění programu Kde najít další informace Poznámka: uvedené příklady jsou dostupné

Více

BI-PA1 Programování a algoritmizace 1, ZS Katedra teoretické informatiky

BI-PA1 Programování a algoritmizace 1, ZS Katedra teoretické informatiky Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti Vstup, výstup BI-PA1

Více

BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky

BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Vstup, výstup BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky Miroslav Balík Fakulta informačních technologií České

Více

Ukazatele #2, dynamická alokace paměti

Ukazatele #2, dynamická alokace paměti Ukazatele #2, dynamická alokace paměti BI-PA1 Programování a Algoritmizace 1 Miroslav Baĺık, Ladislav Vagner a Josef Vogel Katedra teoretické informatiky a Katedra softwarového inženýrství Fakulta informačních

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

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Strukturované proměnné Pole (array), ukazatele (pointer) Jazyk C České vysoké učení technické Fakulta elektrotechnická Ver.1.10 J. Zděnek 2015 Pole (array) (1) Pole je množina

Více

Ukazatele #1, struktury

Ukazatele #1, struktury Ukazatele #1, struktury BI-PA1 Programování a Algoritmizace 1 Miroslav Baĺık, Ladislav Vagner a Josef Vogel Katedra teoretické informatiky a Katedra softwarového inženýrství Fakulta informačních technologíı

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

Správné vytvoření a otevření textového souboru pro čtení a zápis představuje

Správné vytvoření a otevření textového souboru pro čtení a zápis představuje f1(&pole[4]); funkci f1 předáváme hodnotu 4. prvku adresu 4. prvku adresu 5. prvku hodnotu 5. prvku symbolická konstanta pro konec souboru je eof EOF FEOF feof Správné vytvoření a otevření textového souboru

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

Dynamické programování

Dynamické programování ALG Dynamické rogramování Nejdelší rostoucí odoslounost Otimální ořadí násobení matic Nejdelší rostoucí odoslounost Z dané oslounosti vyberte co nejdelší rostoucí odoslounost. 5 4 9 5 8 6 7 Řešení: 4 5

Více

Jazyk C++, některá rozšíření oproti C

Jazyk C++, některá rozšíření oproti C Karel Müller, Josef Vogel (ČVUT FIT) Jazyk C++, některá rozšíření oproti C BI-PA2, 2011, Přednáška 1 1/22 Jazyk C++, některá rozšíření oproti C Ing. Josef Vogel, CSc Katedra softwarového inženýrství Katedra

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

Př. další použití pointerů

Př. další použití pointerů Př. další použití pointerů char *p_ch; int *p_i; p_ch = (char *) p_i; // konverze int * na char * 8 int i = 5; int *p_i; p_i = &i; POZOR!!!! scanf("%d", p_i); printf("%d", *p_i); Obecný pointer na cokoliv:

Více

int t1, t2, t3, t4, t5, t6, t7, prumer; t1=sys.readint();... t7=sys.readint(); prume pru r = r = ( 1+t 1+t t3+ t3+ t4 t5+ t5+ +t7 +t7 )/ ;

int t1, t2, t3, t4, t5, t6, t7, prumer; t1=sys.readint();... t7=sys.readint(); prume pru r = r = ( 1+t 1+t t3+ t3+ t4 t5+ t5+ +t7 +t7 )/ ; Pole Příklad: přečíst teploty naměřené v jednotlivých dnech týdnu, vypočítat průměrnou teplotu a pro každý den vypsat odchylku od průměrné teploty Řešení s proměnnými typu int: int t1, t2, t3, t4, t5,

Více

Základy C++ I. Jan Hnilica Počítačové modelování 18

Základy C++ I. Jan Hnilica Počítačové modelování 18 Základy C++ I 1 Přechod z C na C++ jazyk C++ je nadmnožinou jazyka C z hlediska syntaxe se jedná o velmi podobné jazyky, spolu s dalšími jazyky "céčkovské" rodiny, jako je např. C# každý platný program

Více

ZÁKLADY INFORMATIKY 14ZINF. Číselné soustavy

ZÁKLADY INFORMATIKY 14ZINF. Číselné soustavy ZÁKLADY INFORMATIKY 14ZINF Číselné soustavy Data v číslicových počítačích I. nejčastěji počítače pracují s údaji vyjádřenými ve dvojkové soustavě, tedy pomocí číslic 0 a 1 důvod dvojkové soustavy byl ten,

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

Základy programování (IZP)

Základy programování (IZP) Základy programování (IZP) Šesté počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Petr Veigend, iveigend@fit.vutbr.cz 6. týden

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

ALGORITMIZACE A DATOVÉ STRUKTURY (14ASD) 1. cvičení

ALGORITMIZACE A DATOVÉ STRUKTURY (14ASD) 1. cvičení ALGORITMIZACE A DATOVÉ STRUKTURY (14ASD) 1. cvičení Lucie Krčálová Ústav aplikované informatiky v dopravě (K614) email: lkrcalova@fd.cvut.cz místnosti : F211, K109 (semestr - ČT), Horská budova A 4. patro

Více

Způsobilost. Data a parametry. Menu: QCExpert Způsobilost

Způsobilost. Data a parametry. Menu: QCExpert Způsobilost Zůsobilost Menu: QExert Zůsobilost Modul očítá na základě dat a zadaných secifikačních mezí hodnoty různých indexů zůsobilosti (caability index, ) a výkonnosti (erformance index, ). Dále jsou vyočítány

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 Programování v jazyce C a C# část I. Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Předmět: Algoritmizace a programování Téma: Programování Vyučující: Ing. Milan Káža

Více

Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44

Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44 Algoritmizace a programování Ak. rok 2012/2013 vbp 1. ze 44 Vladimír Beneš Petrovický K101 katedra matematiky, statistiky a informačních technologií vedoucí katedry E-mail: vbenes@bivs.cz Telefon: 251

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

Ukazatel (Pointer) jako datový typ - proměnné jsou umístěny v paměti na určitém místě (adrese) a zabírají určitý prostor (počet bytů), který je daný

Ukazatel (Pointer) jako datový typ - proměnné jsou umístěny v paměti na určitém místě (adrese) a zabírají určitý prostor (počet bytů), který je daný Ukazatel (Pointer) jako datový typ - proměnné jsou umístěny v paměti na určitém místě (adrese) a zabírají určitý prostor (počet bytů), který je daný typem proměnné - ukazatel je tedy adresa společně s

Více

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

IUJCE 07/08 Přednáška č. 4. v paměti neexistuje. v paměti existuje Konstanty I možnosti: přednostně v paměti neexistuje žádný ; o preprocesor (deklarace) #define KONSTANTA 10 o konstantní proměnná (definice) const int KONSTANTA = 10; příklad #include v paměti

Více

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

S y s t é m e l e k t r o n i c k é h o b a n k o v n i c t v í. Napojení na účetní systémy popis exportních / importních souborů

S y s t é m e l e k t r o n i c k é h o b a n k o v n i c t v í. Napojení na účetní systémy popis exportních / importních souborů S y s t é m e l e k t r o n i c k é h o b a n k o v n i c t v í M u l t i C a s h Naojení na účetní systémy ois exortních / imortních souborů OBSAH OBECNÉ 2 TUZEMSKÉ PLATEBNÍ PŘÍKAZY 3 ZAHRANIČNÍ PLATEBNÍ

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

Pokud světlo prochází prostředím, pak v důsledku elektromagnetické interakce s částicemi obsaženými

Pokud světlo prochází prostředím, pak v důsledku elektromagnetické interakce s částicemi obsaženými 1 Pracovní úkoly 1. Změřte závislost indexu lomu vzduchu na tlaku n(). 2. Závislost n() zracujte graficky. Vyneste také závislost závislost vlnové délky sodíkové čáry na indexu lomu vzduchu λ(n). Proveďte

Více

Základy programování (IZP)

Základy programování (IZP) Základy programování (IZP) Deváté počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Petr Veigend, iveigend@fit.vutbr.cz 27.11.2017,

Více

Ukazatele a pole. Chceme-li vyplnit celé pole nulami, použijeme prázdný inicializátor: 207 Čárka na konci seznamu inicializátorů

Ukazatele a pole. Chceme-li vyplnit celé pole nulami, použijeme prázdný inicializátor: 207 Čárka na konci seznamu inicializátorů Ukazatele a pole 204 Deklarace jednorozměrného pole s inicializací Chceme-li pole v deklaraci inicializovat, zapíšeme seznam inicializátorů jednotlivých prvků do složených závorek: #define N 5 int A[N]

Více

Lineární spojový seznam (úvod do dynamických datových struktur)

Lineární spojový seznam (úvod do dynamických datových struktur) Lineární spojový seznam (úvod do dynamických datových struktur) Jan Hnilica Počítačové modelování 11 1 Dynamické datové struktury Definice dynamické struktury jsou vytvářeny za běhu programu z dynamicky

Více

Struktura programu v době běhu

Struktura programu v době běhu Struktura programu v době běhu Miroslav Beneš Dušan Kolář Struktura programu v době běhu Vztah mezi zdrojovým programem a činností přeloženého programu reprezentace dat správa paměti aktivace podprogramů

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

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Výrazy Operátory Výrazy Verze pro akademický rok 2012/2013 1 Operace, operátory Unární jeden operand, operátor se zapisuje ve většině případů před operand, v některých případech

Více

Jazyk C Program v jazyku C má následující strukturu: konstanty nebo proměnné musí Jednoduché datové typy: Strukturované datové typy Výrazy operátory

Jazyk C Program v jazyku C má následující strukturu: konstanty nebo proměnné musí Jednoduché datové typy: Strukturované datové typy Výrazy operátory Jazyk C Program v jazyku C má následující strukturu: Direktivy procesoru Globální definice (platné a známé v celém programu) Funkce Hlavička funkce Tělo funkce je uzavřeno mezi složené závorky { Lokální

Více

3. přednáška. Obsah: Řídící struktury sekvence, if-else, switch, for, while, do-while. Zpracování posloupnosti

3. přednáška. Obsah: Řídící struktury sekvence, if-else, switch, for, while, do-while. Zpracování posloupnosti Obsah: Řídící struktury sekvence, if-else, switch, for, while, do-while. Zpracování posloupnosti 3. přednáška nalezení největšího prvku, druhého nejvyššího prvku, algoritmus shozeného praporku. Algoritmizace

Více

Analytická metoda aneb Využití vektorů v geometrii

Analytická metoda aneb Využití vektorů v geometrii KM/GVS Geometrické vidění světa (Design) nalytická metoda aneb Využití vektorů v geometrii Použité značky a symboly R, C, Z obor reálných, komleních, celých čísel geometrický vektor R n aritmetický vektor

Více

Racionální čísla, operátory, výrazy, knihovní funkce

Racionální čísla, operátory, výrazy, knihovní funkce Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Racionální čísla, operátory, výrazy, knihovní funkce BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky Miroslav Balík

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

Dynamická alokace paměti

Dynamická alokace paměti Dynamická alokace paměti 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) Dynamická alokace

Více

Systémové struktury - základní formy spojování systémů

Systémové struktury - základní formy spojování systémů Systémové struktury - základní formy sojování systémů Základní informace Při řešení ať již analytických nebo syntetických úloh se zravidla setkáváme s komlikovanými systémovými strukturami. Tato lekce

Více

BI-EP1 Efektivní programování 1

BI-EP1 Efektivní programování 1 BI-EP1 Efektivní programování 1 ZS 2011/2012 Ing. Martin Kačer, Ph.D. 2010-11 Martin Kačer Katedra teoretické informatiky Fakulta informačních technologií České vysoké učení technické v Praze Evropský

Více

9. lekce Úvod do jazyka C 4. část Funkce, rekurze Editace, kompilace, spuštění Miroslav Jílek

9. lekce Úvod do jazyka C 4. část Funkce, rekurze Editace, kompilace, spuštění Miroslav Jílek 9. lekce Úvod do jazyka C 4. část Funkce, rekurze Editace, kompilace, spuštění Miroslav Jílek 1/24 Editační prostření Kód programu lze editovat v jakémkoli textovém editoru. 2/24 Editační prostření Kód

Více

Pokročilé programování v jazyce C pro chemiky (C3220) Operátory new a delete, virtuální metody

Pokročilé programování v jazyce C pro chemiky (C3220) Operátory new a delete, virtuální metody Pokročilé programování v jazyce C pro chemiky (C3220) Operátory new a delete, virtuální metody Dynamická alokace paměti Jazyky C a C++ poskytují programu možnost vyžádat si část volné operační paměti pro

Více

BI-PA1 Programování a Algoritmizace 1. Miroslav Baĺık, Ladislav Vagner a Josef Vogel. 7., 9. a 10. listopadu 2017

BI-PA1 Programování a Algoritmizace 1. Miroslav Baĺık, Ladislav Vagner a Josef Vogel. 7., 9. a 10. listopadu 2017 Pole, Řetězce BI-PA1 Programování a Algoritmizace 1 Miroslav Baĺık, Ladislav Vagner a Josef Vogel Katedra teoretické informatiky a Katedra softwarového inženýrství Fakulta informačních technologíı České

Více

Základy programování (IZP)

Základy programování (IZP) Základy programování (IZP) Páté počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Petr Veigend, iveigend@fit.vutbr.cz 5. týden

Více

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

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

Více

ZÁKLADY AUTOMATICKÉHO ŘÍZENÍ

ZÁKLADY AUTOMATICKÉHO ŘÍZENÍ VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ ZÁKLADY AUTOMATICKÉHO ŘÍZENÍ 10. týden doc. Ing. Renata WAGNEROVÁ, Ph.D. Ostrava 2013 doc. Ing. Renata WAGNEROVÁ, Ph.D. Vysoká škola báňská

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

Rozklad problému na podproblémy, rekurze

Rozklad problému na podproblémy, rekurze Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti Rozklad problému

Více

Preprocesor. Karel Richta a kol. katedra počítačů FEL ČVUT v Praze. Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016

Preprocesor. Karel Richta a kol. katedra počítačů FEL ČVUT v Praze. Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016 Preprocesor Karel Richta a kol. katedra počítačů FEL ČVUT v Praze Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016 Programování v C++, A7B36PJC 4/2016, Lekce 9b https://cw.fel.cvut.cz/wiki/courses/a7b36pjc/start

Více

Rekurzivní algoritmy

Rekurzivní algoritmy Rekurzivní algoritmy prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy (BI-EFA) ZS

Více

Úvod do programování - Java. Cvičení č.4

Úvod do programování - Java. Cvičení č.4 Úvod do programování - Java Cvičení č.4 1 Sekvence (posloupnost) Sekvence je tvořena posloupností jednoho nebo více příkazů, které se provádějí v pevně daném pořadí. Příkaz se začne provádět až po ukončení

Více

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

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu } 5. Operátor čárka, - slouží k jistému určení pořadí vykonání dvou příkazů - oddělím-li čárkou dva příkazy, je jisté, že ten první bude vykonán dříve než příkaz druhý. Např.: i = 5; j = 8; - po překladu

Více

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

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) 28. prosince Fakulta elektrotechniky a informatiky Katedra softwarových technologií 9 Fakulta elektrotechniky a informatiky Katedra softwarových technologií 28. prosince 2009 Struktury Struktury heterogenní struktura položky mohou být různých datových typů vystupuje jako jediný objekt

Více

Programování v jazyce JavaScript

Programování v jazyce JavaScript Programování v jazyce JavaScript Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Operátory a příkazy BI-JSC Evropský sociální fond

Více

BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky

BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Spojové struktury BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky Miroslav Balík Fakulta informačních technologií

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

BI-PA1 Programování a Algoritmizace 1. Miroslav Baĺık, Ladislav Vagner a Josef Vogel. 10., 12. a 13. října 2017

BI-PA1 Programování a Algoritmizace 1. Miroslav Baĺık, Ladislav Vagner a Josef Vogel. 10., 12. a 13. října 2017 Proměnné, základní vstup a výstup BI-PA1 Programování a Algoritmizace 1 Miroslav Baĺık, Ladislav Vagner a Josef Vogel Katedra teoretické informatiky a Katedra softwarového inženýrství Fakulta informačních

Více

int ii char [16] double dd název adresa / proměnná N = nevyužito xxx xxx xxx N xxx xxx N xxx N

int ii char [16] double dd název adresa / proměnná N = nevyužito xxx xxx xxx N xxx xxx N xxx N Struktura (union) - struktura a union jsou složené typy, které "v sobě" mohou obsahovat více proměnných - struktura obsahuje v každém okamžiku všechny své proměnné, union obsahuje (=je "aktivní") pouze

Více

Racionální čísla, operátory, výrazy, knihovní funkce

Racionální čísla, operátory, výrazy, knihovní funkce Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti Racionální čísla,

Více

1. série. Různá čísla < 1 44.

1. série. Různá čísla < 1 44. série Téma: Termínodeslání: Různá čísla ½ º Ò ½ ½º ÐÓ je řirozené q9+9 q 6+ 9 9 6 ¾º ÐÓ `5+ 6 998 není řirozené º ÐÓ Nechť c je řirozené číslo Rozhodněte, které z čísel c+ c a c c je větší a své tvrzení

Více

Řídící struktury, if, while, switch

Řídící struktury, if, while, switch Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Řídící struktury, if, while, switch BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky Miroslav Balík Fakulta informační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: Pole Vyučující: Ing. Milan Káža Třída: EK3 Hodina: 14 Číslo: V/5 Programování v jazyce

Více

Programování v jazyce C pro chemiky (C2160) 3. Příkaz switch, příkaz cyklu for, operátory ++ a --, pole

Programování v jazyce C pro chemiky (C2160) 3. Příkaz switch, příkaz cyklu for, operátory ++ a --, pole Programování v jazyce C pro chemiky (C2160) 3. Příkaz switch, příkaz cyklu for, operátory ++ a --, pole Příkaz switch Příkaz switch provede příslušnou skupinu příkazů na základě hodnoty proměnné (celočíselné

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 i s pomocí materiálů, které vyrobili Ladislav Vágner, Pavel Strnad Karel Richta, Martin Hořeňovský,

Více

Např.: // v hlavičkovém souboru nebo na začátku // programu (pod include): typedef struct { char jmeno[20]; char prijmeni[20]; int rok_nar; } CLOVEK;

Např.: // v hlavičkovém souboru nebo na začátku // programu (pod include): typedef struct { char jmeno[20]; char prijmeni[20]; int rok_nar; } CLOVEK; Struktury - složený datový typ. - datový typ jehož položky jsou jiné proměnné: - používá obvykle dohromady s příkazem typedef nechci vypisovat opakovaně složitou deklaraci pomocí typedef udělám nový datový

Více

4. Rekurze. BI-EP1 Efektivní programování Martin Kačer

4. Rekurze. BI-EP1 Efektivní programování Martin Kačer 4. Rekurze BI-EP1 Efektivní programování 1 ZS 2011/2012 Ing. Martin Kačer, Ph.D. 2010-11 Martin Kačer Katedra teoretické informatiky Fakulta informačních technologií České vysoké učení technické v Praze

Více

2 Datové typy v jazyce C

2 Datové typy v jazyce C 1 Procedurální programování a strukturované programování Charakteristické pro procedurální programování je organizace programu, který řeší daný problém, do bloků (procedur, funkcí, subrutin). Původně jednolitý,

Více

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

4. Typ ukazatel, strukturované datové typy

4. Typ ukazatel, strukturované datové typy Učební cíle a kompetence Anotace kapitoly Časová náročnost 4. Typ ukazatel, strukturované datové typy Po prostudování této kapitoly studující pochopí datový typ ukazatel, speciální ukazatelové operátory,

Více

Programování v jazyce JavaScript

Programování v jazyce JavaScript Programování v jazyce JavaScript Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Syntaxe 1. část BI-JSC Evropský sociální fond

Více

Aplikace Embedded systémů v Mechatronice. Michal Bastl A2/713a

Aplikace Embedded systémů v Mechatronice. Michal Bastl A2/713a Aplikace Embedded systémů v Mechatronice Michal Bastl A2/713a Aplikace Embedded systémů v Mechatronice Obsah přednášky: Opakování Pointery v C pole a řetězce předání funkci referencí Vlastní datové typy

Více

9.3.2010 Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include <stdio.h>

9.3.2010 Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include <stdio.h> 9.3.2010 Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include int main(void) { int dcislo, kolikbcislic = 0, mezivysledek = 0, i; int vysledek[1000]; printf("zadejte

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

Směrová kalibrace pětiotvorové kuželové sondy

Směrová kalibrace pětiotvorové kuželové sondy Směrová kalibrace ětiotvorové kuželové sondy Matějka Milan Ing., Ústav mechaniky tekutin a energetiky, Fakulta strojní, ČVUT v Praze, Technická 4, 166 07 Praha 6, milan.matejka@fs.cvut.cz Abstrakt: The

Více

Práce s polem a pamětí

Práce s polem a pamětí 3 Práce s polem a pamětí Inicializace jednorozměrného pole Jednorozměrné pole lze inicializovat přímo v deklaraci. int array[length] = {1, 5, 8, 9; array1d Prvky pole umístíte do složených závorek a oddělíte

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

V dalších letech se pak začaly objevovat první normy pro jazyk C++ (ISO/IEC 14882:1998; ISO/IEC 9899:1999; ISO/IEC 14882:2003; ISO/IEC 14882:2011).

V dalších letech se pak začaly objevovat první normy pro jazyk C++ (ISO/IEC 14882:1998; ISO/IEC 9899:1999; ISO/IEC 14882:2003; ISO/IEC 14882:2011). Jazyk C++ 1 Blok 1 Úvod do programovacího jazyka C++ Studijní cíl První blok kurzu je věnován úvodu do problematiky programovacího jazyka C++. V bloku budou rozebrány historické souvislosti programovacích

Více

Úvod do programování 7. hodina

Úvod do programování 7. hodina Úvod do programování 7. hodina RNDr. Jan Lánský, Ph.D. Katedra informatiky a matematiky Fakulta ekonomických studií Vysoká škola finanční a správní 2015 Umíme z minulé hodiny Syntax Znaky Vlastní implementace

Více

Programovací jazyk C++ Hodina 1

Programovací jazyk C++ Hodina 1 Programovací jazyk C++ Hodina 1 Používané překladače Bloodshed Dev C++ http://www.bloodshed.net/devcpp.html CodeBlocks http://www.codeblocks.org pokud nemáte již nainstalovaný překladač, stáhněte si instalátor

Více

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2013/2014 Radim Farana. Obsah. Strom

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2013/2014 Radim Farana. Obsah. Strom 8 Podklady ředmětu ro akademický rok 2013/2014 Radim Farana Obsah 2 Dynamické datové struktury. Strom. Binární stromy. Vyhledávací stromy. Vyvážené stromy. AVL stromy. Strom 3 Název z analogie se stromy.

Více

Model tenisového utkání

Model tenisového utkání Model tenisového utkání Jan Šustek Semestrální rojekt do ředmětu Náhodné rocesy 2005 V této ráci se budu zabývat modelem tenisového utkání. Vstuními hodnotami budou úsěšnosti odání jednotlivých hráčů,

Více

Implementace numerických metod v jazyce C a Python

Implementace numerických metod v jazyce C a Python Fakulta elektrotechnická Katedra matematiky Dokumentace k semestrální práci Implementace numerických metod v jazyce C a Python 2013/14 Michal Horáček a Petr Zemek Vyučující: Mgr. Zbyněk Vastl Předmět:

Více

Přednáška 7. Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu.

Přednáška 7. Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu. Přednáška 7 Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu. 1 Příkaz expr výraz Celočíselná aritmetika I Zašle na standardní výstup vyhodnocení výrazu

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

Úlohy domácí části I. kola kategorie C

Úlohy domácí části I. kola kategorie C 65. ročník Matematické olymiády Úlohy domácí části I. kola kategorie C. Najděte všechny možné hodnoty součinu rvočísel, q, r, ro která latí (q + r) = 637. Řešení. evou stranu dané rovnice rozložíme na

Více

1. D Y N A M I C K É DAT O V É STRUKTUR Y

1. D Y N A M I C K É DAT O V É STRUKTUR Y 1. D Y N A M I C K É DAT O V É STRUKTUR Y Autor: Petr Mik Abychom se mohli pustit do dynamických datových struktur, musíme se nejdřív podívat na datový typ ukazatel. 1. D AT O V Ý TYP U K A Z AT E L Datové

Více