Quick sort, spojové struktury

Wielkość: px
Rozpocząć pokaz od strony:

Download "Quick sort, spojové struktury"

Transkrypt

1 Quick sort, spojové 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íı České vysoké učení technické v Praze xvagner@fit.cvut.cz, vogeljos@fit.cvut.cz 12., 21. a 22. prosince 2017

2 Přehled Datový typ struct (struktura, záznam) připomenutí. Algoritmus quick sort. Knihovní implementace quick sort, ukazatel na funkci. Spojové seznamy. Obousměrné spojové seznamy. M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 2/39

3 Struktury opakování Deklarace struktury: struct jméno_struktury { položky seznam_proměnných; jméno struktury je jméno datového typu struct (nepovinné), seznam proměnných je seznam deklarovaných proměnných, proměnné odděleny čárkami (nepovinné), položky jsou jakéhokoli datového typu, s výjimkou struktury samé (rekurzivní deklarace struktury je zakázána), avšak položkou může být ukazatel na strukturu samou (struct jméno struktury * jmeno polozky). Deklarace proměnné: struct jméno_struktury seznam_proměnných; /* ok */ jméno_struktury seznam_proměnných; /* chybně v C */ M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 3/39

4 Struktury opakování Zkráceně může být datový typ struktura také deklarován: typedef struct jméno_struktury { položky jméno_typu; /* deklarace proměnných: */ jméno_typu seznam_proměnných; /* také ok: */ struct jméno_struktury jiný_seznam_proměnných; jméno typu je zkratka pro struct jméno struktury, jméno struktury je nepovinné ve výše uvedené deklaraci, jméno typu není povinné, ale použití typedef je podezřelé, když jméno typu není použito. M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 4/39

5 Struktury příklad typedef struct TComplex { double real, imag; TCOMPLEX; TCOMPLEX a, *pa; struct TComplex b; Položky struktury jsou přístupné použitím dvou operátorů: tečka. se použije k přístupu k položce struktury, šipka -> se použije pro přístup k položce přes ukazatel na proměnnou typu struktura. a.real = 10; a.imag = a.real + 5; pa = &b; pa->real = 230; pa->imag = pa->real + a.imag; a = *pa; /* ok, kopie obsahu */ (*pa).real = (&a)->imag; /* ok, ale neobvyklé */ M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 5/39

6 Algoritmus Quick sort Merge sort má časovou složitost O(n log n). To je asymptoticky optimální, avšak má dvě nevýhody: skrytá multiplikativní konstanta není malá, algoritmus potřebuje další pamět ový prostor pole řazených prvků ještě jednou. Algoritmus Quick sort nemá tato omezení: skrytá multiplikativní konstanta je velmi malá, algoritmus nepotřebuje žádný další prostor, na druhé straně, v nejhorším případě je časová složitost O(n 2 ). Vstupní data musí mít speciální pořadí, aby se dosáhl nejhorší případ. Průměrná složitost je O(n log n). Empiricky je Quick sort nejrychlejší volbou. M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 6/39

7 Algoritmus Quick princip Vybere se pivot. Ideálně má pivot hodnotu mediánu prvků pole. Algoritmus rozděĺı pole na dvě části a prohodí prvky tak, aby: dolní část obsahovala prvky menší než pivot, horní část obsahovala prvky větší nebo rovné pivotu. Obě části se řadí rekurzivně. Výběr pivota je rozhodující výběr je dobrý, když obě části jsou stejně velké. Při takové volbě je algoritmus nejrychlejší. Při špatném výběru je velikost pole zmenšena pouze o jeden prvek a algoritmus degraduje na kvadratickou složitost. Optimální hodnota pivota je medián, ale ten není znám, dokud pole neni seřazeno. Dobré implementace proto používají třeba medián z náhodně vybraných tří prvků pole. M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 7/39

8 Algoritmus Quick sort příklad Pivot: Pivot: 5 Pivot: Pivot: 4 Pivot: 11 Pivot: Pivot: M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 8/39

9 Knihovní funkce pro Quick sort Standardní knihovna C obsahuje implementaci algoritmu Quick sort. Prototyp funkce je obsažen v stdlib.h. Implementace je generická prvky pole, které jsou algoritmem řazeny, mohou být libovolného typu. Funkce qsort je kompletní implementací algoritmu Quick sort, až na vlastní porovnání: prvky pole musí být porovnány a zaměněny mezi sebou, záměna se provede bajt po bajtu, porovnání je různorodé, závisí na typu prvků pole a řadicím kritériu. Funkci, která porovnává dva prvky pole mezi sebou, dodává aplikační programátor v podobě ukazatele na funkci. Kdykoliv potřebuje algoritmus Quick sort porovnat nějaké prvky, zavolá tuto uživatelskou funkci. Volání probíhá prostřednictvím předaného ukazatele. Porovnávací funkci jsou dodány ukazatele na oba porovnávané prvky pole. Návratová hodnota je kladná, nulová nebo záporná pro hodnoty první větší než druhý, resp. rovné nebo menší. M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 9/39

10 Knihovní funkce pro Quick sort #include <stdlib.h> int main( void ) { int a[9] = {1,5,9,3,6,4,89,23,11; int i; qsort( (void*)a, 9, sizeof(a[0]), intcompare ); /* intcompare je porovnávací funkce */ for(i = 0; i < 9 ; i ++ ) printf ( "%3d ",a[i] ); return 0; M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 10/39

11 Knihovní funkce pro Quick sort int intcompare ( const void *a, const void *b ) { int * aa, *bb; aa = (int*) a; bb = (int*) b; /* a b jsou ukazatele na porovnávané prvky pole, typ ukazatele - void * - musí být přetypován na typ ukazatele podle skutečného prvku pole, (zde int - ukazatele aa a bb) */ if ( *aa < *bb ) return -1; if ( *bb < *aa ) return 1; return 0; M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 11/39

12 Knihovní funkce pro Quick sort int intcompare ( const void *a, const void *b ) { int * aa, *bb; aa = (int*) a; bb = (int*) b; return *aa - *bb; /* kratší, často správné, ale není 100% OK */ M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 12/39

13 Knihovní funkce pro Quick sort int intcompare ( const void *a, const void *b ) { int * aa, *bb; aa = (int*) a; bb = (int*) b; return *aa - *bb; /* kratší, často správné, ale není 100% OK */ int intcompare ( const void *a, const void *b ) { return *(int*)a - *(int*)b; /* ještě kratší, ale opět není 100% OK */ M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 12/39

14 Knihovní funkce pro Quick sort /* Proč parametry const void *? Ty skutečně v naší implementaci ukazují na celá čísla */ int intcompare ( const int *a, const int *b ) { return *a - *b; /* pěkné - jednodušeji už nelze, ale stále není 100% OK */ /* Ale knihovní funkce qsort předpokládá jiné rozhraní funkce. Ok, přesvědčme kompilátor, že ten mišmaš funkčních ukazatelů je naše přání */... qsort( (void*)a, 9, sizeof(a[0]), ( int(*)(const void *, const void *) ) intcompare ); /* ukazatel na funkci je přetypován, aby se shodovaly očekávané typy */... M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 13/39

15 Quick sort porovnávací funkce, pro zvídavé Můžeme si dovolit přetypovat ukazatele na funkci dle libosti? M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 14/39

16 Quick sort porovnávací funkce, pro zvídavé Můžeme si dovolit přetypovat ukazatele na funkci dle libosti? Ne. Kompilátor naše přetypování sice akceptuje, ale při neuváženém přetypování je pravděpodobný pád programu. Proč tedy zde přetypování funguje? M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 14/39

17 Quick sort porovnávací funkce, pro zvídavé Můžeme si dovolit přetypovat ukazatele na funkci dle libosti? Ne. Kompilátor naše přetypování sice akceptuje, ale při neuváženém přetypování je pravděpodobný pád programu. Proč tedy zde přetypování funguje? Protože to není libovolné přetypování: funkce qsort připraví pro porovnávací funkci dva parametry typu ukazatel (odkazují na porovnávané prvky). Skutečně volaná funkce má také dva parametry typu ukazatel, liší se typy ukazatelů na prvky, ale jejich pamět ová reprezentace za běhu je stejná (4/8 B v paměti), funkce qsort zavolá funkci odkazovanou předaným ukazatelem na funkci, námi dodaný ukazatel odkazuje na platnou funkci, očekává se návratová hodnota typu int, námi dodaná funkce vrací typ int. Co tedy toto přetypování ukazatele na funkci fakticky udělá? M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 14/39

18 Quick sort porovnávací funkce, pro zvídavé Můžeme si dovolit přetypovat ukazatele na funkci dle libosti? Ne. Kompilátor naše přetypování sice akceptuje, ale při neuváženém přetypování je pravděpodobný pád programu. Proč tedy zde přetypování funguje? Protože to není libovolné přetypování: funkce qsort připraví pro porovnávací funkci dva parametry typu ukazatel (odkazují na porovnávané prvky). Skutečně volaná funkce má také dva parametry typu ukazatel, liší se typy ukazatelů na prvky, ale jejich pamět ová reprezentace za běhu je stejná (4/8 B v paměti), funkce qsort zavolá funkci odkazovanou předaným ukazatelem na funkci, námi dodaný ukazatel odkazuje na platnou funkci, očekává se návratová hodnota typu int, námi dodaná funkce vrací typ int. Co tedy toto přetypování ukazatele na funkci fakticky udělá? Nic. Ve výsledném programu se toto přetypování neprojeví žádným výkonným kódem. Přetypování pouze potlačí chybu/varování kompilátoru. M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 14/39

19 Quick sort porovnávací funkce, pro zvídavé Opravdu lze v porovnávací funkci odečítat místo porovnání? M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 15/39

20 Quick sort porovnávací funkce, pro zvídavé Opravdu lze v porovnávací funkci odečítat místo porovnání? Obecně nelze. Pokud dochází k přetékání, výsledné pole nebude správně seřazené. Zkuste si pro pole celých čísel s hodnotami pobĺıž horního a dolního limitu typu int. Lze trik s odečítáním použít pro desetinná čísla? M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 15/39

21 Quick sort porovnávací funkce, pro zvídavé Opravdu lze v porovnávací funkci odečítat místo porovnání? Obecně nelze. Pokud dochází k přetékání, výsledné pole nebude správně seřazené. Zkuste si pro pole celých čísel s hodnotami pobĺıž horního a dolního limitu typu int. Lze trik s odečítáním použít pro desetinná čísla? Nelze. Pokud je výsledkem odečítání číslo v intervalu (-1,+1), bude v návratovém typu převedeno na hodnotu 0 int, tedy taková desetinná čísla budou pro porovnání shodná. Lze trik s odečítáním použít pro typy char / short int? M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 15/39

22 Quick sort porovnávací funkce, pro zvídavé Opravdu lze v porovnávací funkci odečítat místo porovnání? Obecně nelze. Pokud dochází k přetékání, výsledné pole nebude správně seřazené. Zkuste si pro pole celých čísel s hodnotami pobĺıž horního a dolního limitu typu int. Lze trik s odečítáním použít pro desetinná čísla? Nelze. Pokud je výsledkem odečítání číslo v intervalu (-1,+1), bude v návratovém typu převedeno na hodnotu 0 int, tedy taková desetinná čísla budou pro porovnání shodná. Lze trik s odečítáním použít pro typy char / short int? Obecně nelze, ale téměř jistě to bude vždy správně fungovat. Podle normy jazyka se před odečtením char / short int musí rozšířít na celé číslo (integer promotion) a v datovém typu int se provede vlastní operace. Pokud je rozsah char / short int menší než rozsah typu int, nemůže dojít k přetečení. I tak je ale lepší se triku vyhnout. M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 15/39

23 Quick sort porovnávací funkce, pro zvídavé int intcmpwrong ( const int * a, const int * b ) { return *a - *b; int dblcmpwrong ( const double * a, const double * b ) { return *a - *b; int a[]={ , , , ; qsort ( a, sizeof ( a ) / sizeof ( a[0] ), sizeof ( a[0] ), (int(*)(const void *, const void *)) intcmpwrong ); /* */ double b [] = { 1.2, 1.3, 1.8, 1.5, 1.7, 1.1, 1.4 ; qsort ( b, sizeof ( b ) / sizeof ( b[0] ), sizeof ( b[0] ), (int(*)(const void *, const void *)) dblcmpwrong ); /* */ M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 16/39

24 Quick sort porovnávací funkce, pro zvídavé Proč se tedy trik s odečítáním ukazuje? M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 17/39

25 Quick sort porovnávací funkce, pro zvídavé Proč se tedy trik s odečítáním ukazuje? Kód lze často najít v existujícím software a literatuře. Vše funguje, dokud nedojde k přetečení. Tím je trik zákeřný většinou funguje, ale není 100% správný. Vyhněte se mu. Jak tedy správně? M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 17/39

26 Quick sort porovnávací funkce, pro zvídavé Proč se tedy trik s odečítáním ukazuje? Kód lze často najít v existujícím software a literatuře. Vše funguje, dokud nedojde k přetečení. Tím je trik zákeřný většinou funguje, ale není 100% správný. Vyhněte se mu. Jak tedy správně? int intcompare ( const int *a, const int *b ) { return ( *b < *a ) - ( *a < *b ); /* OK! */ int dblcompare ( const double *a, const double *b ) { return ( *b < *a ) - ( *a < *b ); /* OK! */ int shortcompare ( const short *a, const short *b ) { return ( *b < *a ) - ( *a < *b ); /* OK! */ M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 17/39

27 Seřazení studentů knihovní funkcí qsort () Seřazení pole studentů podle průměrného prospěchu: #include <stdlib.h> typedef struct TStudent { char name[name_max], surname [NAME_MAX]; double avg; TSTUDENT; int studentcompare ( TSTUDENT *a, TSTUDENT *b ) { return (b->avg < a->avg) - (a->avg < b->avg); void sortstudents (TSTUDENT a[], int n ) { qsort ( (void*)a, n, sizeof(a[0]), (int(*) (const void *, const void *)) studentcompare ); M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 18/39

28 Seřazení studentů knihovní funkcí qsort () Seřazení pole studentů podle průměrného prospěchu: #include <stdlib.h> typedef struct TStudent { char name[name_max], surname [NAME_MAX]; double avg; TSTUDENT; int studentcompare ( TSTUDENT *a, TSTUDENT *b ) { return (b->avg < a->avg) - (a->avg < b->avg); void sortstudents (TSTUDENT a[], int n ) { qsort ( (void*)a, n, sizeof(a[0]), (int(*) (const void *, const void *)) studentcompare ); Pořadí studentů se stejným průměrem není po seřazení definováno, může být stejné i obrácené než bylo v původním poli (Quick sort může pořadí zachovat, ale může i prvky prohodit). Takové řazení se nazývá nestabilní. M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 18/39

29 Seřazení studentů knihovní funkcí qsort () Pokud bychom chtěli, aby dalším kritériem pro pořadí bylo navíc abecední pořadí příjmení a jména, museli bychom porovnání upravit třeba takto: #include <string.h> int studentcompare ( TSTUDENT *a, TSTUDENT *b ) { int res = (b->avg < a->avg) - (a->avg < b->avg); if (res) return res; if (( res = strncmp ( a->surname, b->surname, NAME_MAX ))) return res; return strncmp ( a->name, b->name, NAME_MAX ); M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 19/39

30 Spojové struktury seznam Problém: program čte celá čísla ze vstupu (až do EOF). Vstup je pak zobrazen v obráceném pořadí. Rekurzivní řešení (hloubka rekurze). Uložení do pole (musí být dána velikost pole). Uložení do zřetězeného seznamu: struktura je dynamicky alokována pro každé vstupující číslo, struktura obsahuje hodnotu čísla a ukazatel na strukturu obsahující předchozí číslo ze sekvence (následující v řetězu). struktura obsahující první číslo (poslední v řetězu) má prázdný ukazatel (hodnota NULL). Input sequence: 56, 8, 5 Head Dynamically allocated structures M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 20/39

31 Spojový seznam typedef struct TElement { int val; struct TElement *next; TELEMENT; TELEMENT * createelement ( int val, TELEMENT * next ) { TELEMENT * n; n = (TELEMENT *)malloc ( sizeof (*n) ); n->val = val; n->next = next; return n; M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 21/39

32 Spojový seznam Problém obrácení vstupní sekvence: začátek s prázdným seznamem, čtení čísla ze vstupu, přidání čísla přidání do seznamu dopředu (na první pozici), opakuje se až do konce vstupu, zobrazí se hodnoty ze seznamu (seznam je už obrácený). M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 22/39

33 Spojový seznam int main ( void ) { TELEMENT * st = NULL, *p; int x; printf ( "Napis sekvenci cisel:\n" ); while ( scanf ( "%d", &x ) == 1 ) st = createelement ( x, st ); printf ( "Obracene:\n" ); p = st; while ( p ) { printf ( "%d ", p->val ); p = p->next; printf ( "\n" ); return 0; M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 23/39

34 Spojový seznam Potřebujeme další ukazatel (p) pro čtení hodnot?... printf ( "Obracene:\n" ); while (st) { printf ( "%d ", st->val ); st = st->next; /* jejda */... Když je hlava seznamu ztracena (ukazatel st je změněn), neexistuje žádný způsob, jak najít hlavu seznamu. Seznam je ztracen. Čtení spojového seznamu tedy vždy využívá pomocný ukazatel na prvek seznamu. M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 24/39

35 Spojový seznam Jak uvolnit pamět alokovanou spojovým seznamem? Špatné řešení:... while ( st ) { free ( st ); st = st->next; /* může selhat - přistupuje k již uvolněné paměti */ Správné řešení:... while ( st ) { TELEMENT * p = st->next; /* ukazatel je zachován */ free ( st ); st = p; M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 25/39

36 Spojový seznam Jiný problém: Čtení sekvence celých čísel, jejich uložení do zřetězeného seznamu. Sekvence bude zakončena EOF. Duplikované hodnoty se neukládají. Hodnoty budou uloženy v obráceném pořadí. M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 26/39

37 Spojový seznam void printlist ( TELEMENT *st ) { while ( st ) { printf ( "%d ", st->val ); st = st->next; /* ok - modifikujeme jen lokální proměnnou */ printf ( "\n" ); int isinlist (TELEMENT * st, int x) { while ( st && st->val!= x ) st = st->next; return st!= NULL; void freelist ( TELEMENT * st ) { while ( st ) { TELEMENT * p = st->next; free ( st ); st = p; M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 27/39

38 Spojový seznam int main ( void ) { TELEMENT *st = NULL, *p; int x; printf ( "Napis sekvenci:\n" ); while ( scanf ( "%d", &x ) == 1 ) if (! isinlist ( st, x ) ) st = createelement (x, st); printf ( "Obracene, duplicity odstraneny:\n"); printlist ( st ); freelist ( st ); st = NULL; /* trochu paranoidní */ return 0; M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 28/39

39 Spojový seznam Vytvořili jsme nový seznam a nový prvek jsme zařadili na začátek seznamu. Proto seznam obsahuje hodnoty v obráceném pořadí. Modifikujme program tak, abychom prvky přidávali na jeho konec (pořadí zachováno): Když je seznam prázdný, tak prvek nahradí hodnotu NULL, je-li neprázdný, musíme najít poslední prvek a zde připojit prvek s novou hodnotou. M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 29/39

40 Spojový seznam TELEMENT * appendend ( TELEMENT *st, int x ) { TELEMENT * tmp; /* prázdný seznam */ if (! st ) return createelement ( x, NULL ); /* neprázdný - najít poslední prvek */ for ( tmp = st; tmp->next; tmp = tmp->next ) { tmp->next = createelement ( x, NULL ); return st;... while ( scanf ( "%d", &x ) == 1 ) if (! isinlist ( st, x ) ) st = appendend (st, x); M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 30/39

41 Spojový seznam Vložení prvého prvku potřebuje konstantní čas O(1). Připojení dalšího prvku vyžaduje nalezení konce seznamu O(n), kde n je délka seznamu. Když vynecháme hledání duplicit (které má lineární složitost O(n)), můžeme algoritmus optimalizovat na konstantní složitost O(1). K tomu použijeme další ukazatel, který ukazuje na poslední prvek seznamu: ukazatel bude na počátku nastaven na NULL pro prázdný seznam, ukazatel bude aktualizován při při každém přidání prvku na konec seznamu. M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 31/39

42 Spojový seznam int main ( void ) { TELEMENT *st = NULL, *en = NULL, *p; int x; printf ( "Napis sekvenci:\n" ); while ( scanf ( "%d", &x ) == 1 ) { p = createelement ( x, NULL ); if ( en == NULL ) st = p; /* prázdný seznam */ else en->next = p; en = p; /* aktualizace ukazatele na poslední prvek */... M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 32/39

43 Spojový seznam zarážka Zarážka je jeden prvek navíc na konci spojového senzamu. Neobsahuje užitečná data, pouze zjednodušuje některé operace: např. lze vypustit if v cyklu. Tím se program trochu urychĺı (nikoli však z hlediska asymptotické složitosti) a také zcela zmizí problém prvého vložení do seznamu. Operace připojení, vkládání a mazání musí zachovat zarážku na konci seznamu. Čtecí operace musí zarážku přeskočit. Prázdný seznam je reprezentován jediným prvkem zarážkou. st Linked list with sentinel Input sequence: 5, 8 5 8?? en M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 33/39

44 Spojový seznam zarážka int main ( void ) { TELEMENT *st, *en; int x; /* inicializace seznamu se zarážkou */ st = en = malloc ( sizeof(*en) ); printf ( "Napis sekvenci cisel:\n" ); while ( scanf ( "%d", &x ) == 1 ) en = appendend ( x, en ); printlist ( st, en ); freelist ( st, en ); TELEMENT * appendend ( int x, TELEMENT * en ) { TELEMENT *p = en; en = malloc ( sizeof(*en) ); p->val = x; p->next = en; return en; M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 34/39

45 Spojový seznam zarážka void printlist ( TELEMENT * st, TELEMENT * en ) { while ( st!= en ) { printf ( "%d ", st->val ); st = st->next; printf ( "\n" ); void freelist ( TELEMENT * st, TELEMENT * en) { while ( st!= en ) { TELEMENT * p = st->next; free ( st ); st = p; free ( en ); M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 35/39

46 Spojový seznam Údržba seřazeného spojového seznamu vyžaduje vkládání prvků kamkoli v seznamu (na začátek, na konec, dovnitř) Tato operace vyžaduje čas O(n). Neexistuje žádný jednoduchý trik, jak tento algoritmus urychlit. Při vložení prvku budeme vždy modifikovat dva ukazatele. Když udržujeme ukazatel na poslední prvek, musíme modifikovat ještě tento ukazatel, je-li nový prvek je poslední v seznamu. M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 36/39

47 Spojový seznam int main ( void ) { TELEMENT *st = NULL, *en = NULL, *tmp, *prev; int x; printf ( "Napis sekvenci:\n" ); while ( scanf ( "%d", &x ) == 1 ) { prev = NULL; for ( tmp = st; tmp && tmp->val <= x; tmp = tmp->next ) prev = tmp; if ( prev == NULL ) { /* první v seznamu */ st = createelement ( x, st ); if (! en ) en = st; else { /* dovnitř nebo na konec */ prev->next = createelement ( x, prev->next ); if ( prev == en ) en = en->next;... M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 37/39

48 Spojové struktury Spojové seznamy jsou jednoduché spojové struktury. Spoje propojují prvky spojové struktury. Spoje vytvářejí relaci předchůdce následník. Spojové seznamy jsou lineární struktury každý prvek má nejvíce jednoho následníka. Single linked list Cyclic single linked list Double linked list M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 38/39

49 Otázky a odpovědi Otázky... M. Baĺık, L. Vagner a J. Vogel, ČVUT FIT Spojové struktury, BI-PA1 39/39

TGH01 - Algoritmizace

TGH01 - Algoritmizace TGH01 - Algoritmizace Jan Březina Technical University of Liberec 28. února 2017 Co je to algoritmus? Porovnávání algoritmů Porovnávání algoritmů Co je to algoritmus? Který algoritmus je lepší? Záleží

Bardziej szczegółowo

Reprezentace dat. BI-PA1 Programování a Algoritmizace I. Ladislav Vagner

Reprezentace dat. BI-PA1 Programování a Algoritmizace I. Ladislav Vagner Reprezentace dat BI-PA1 Programování a Algoritmizace I. Ladislav Vagner Katedra teoretické informatiky Fakulta informačních technologíı ČVUT v Praze xvagner@fit.cvut.cz 9., 11. a 12. října 2017 Obsah Dvojková

Bardziej szczegółowo

TGH01 - Algoritmizace

TGH01 - Algoritmizace TGH01 - Algoritmizace Jan Březina Technical University of Liberec 31. března 2015 Metainformace materiály: jan.brezina.matfyz.cz/vyuka/tgh (./materialy/crls8.pdf - Introduction to algorithms) SPOX: tgh.spox.spoj.pl

Bardziej szczegółowo

Komplexní analýza. Martin Bohata. Katedra matematiky FEL ČVUT v Praze Martin Bohata Komplexní analýza Mocninné řady 1 / 18

Komplexní analýza. Martin Bohata. Katedra matematiky FEL ČVUT v Praze Martin Bohata Komplexní analýza Mocninné řady 1 / 18 Komplexní analýza Mocninné řady Martin Bohata Katedra matematiky FEL ČVUT v Praze bohata@math.feld.cvut.cz Martin Bohata Komplexní analýza Mocninné řady 1 / 18 Posloupnosti komplexních čísel opakování

Bardziej szczegółowo

Aproximace funkcí 1,00 0,841 1,10 0,864 1,20 0,885. Body proložíme lomenou čarou.

Aproximace funkcí 1,00 0,841 1,10 0,864 1,20 0,885. Body proložíme lomenou čarou. Příklad Známe následující hodnoty funkce Φ: u Φ(u) 1,00 0,841 1,10 0,864 1,20 0,885 Odhadněte přibližně hodnoty Φ(1,02) a Φ(1,16). Možnosti: Vezmeme hodnotu v nejbližším bodě. Body proložíme lomenou čarou.

Bardziej szczegółowo

Numerické metody 8. května FJFI ČVUT v Praze

Numerické metody 8. května FJFI ČVUT v Praze Obyčejné diferenciální rovnice Numerické metody 8. května 2018 FJFI ČVUT v Praze 1 Úvod Úvod Základní metody Pokročilejší metody Soustava Vyšší řád Program 1 Úvod Úvod - Úloha Základní úloha, kterou řešíme

Bardziej szczegółowo

Edita Pelantová, katedra matematiky / 16

Edita Pelantová, katedra matematiky / 16 Edita Pelantová, katedra matematiky seminář současné matematiky, září 2010 Axiomy reálných čísel Axiomy tělesa Axiom 1. x + y = y + x a xy = yx (komutativní zákon). Axiom 2. x + (y + z) = (x + y) + z a

Bardziej szczegółowo

Kristýna Kuncová. Matematika B2 18/19

Kristýna Kuncová. Matematika B2 18/19 (6) Určitý integrál Kristýna Kuncová Matematika B2 18/19 Kristýna Kuncová (6) Určitý integrál 1 / 28 Newtonův integrál Zdroj: https://kwcalculus.wikispaces.com/integral+applications Kristýna Kuncová (6)

Bardziej szczegółowo

(1) Derivace. Kristýna Kuncová. Matematika B2 17/18. Kristýna Kuncová (1) Derivace 1 / 35

(1) Derivace. Kristýna Kuncová. Matematika B2 17/18. Kristýna Kuncová (1) Derivace 1 / 35 (1) Derivace Kristýna Kuncová Matematika B2 17/18 Kristýna Kuncová (1) Derivace 1 / 35 Růst populací Zdroj : https://www.tes.com/lessons/ yjzt-cmnwtvsq/noah-s-ark Kristýna Kuncová (1) Derivace 2 / 35 Růst

Bardziej szczegółowo

Funkce zadané implicitně. 4. března 2019

Funkce zadané implicitně. 4. března 2019 Funkce zadané implicitně 4. března 2019 Parciální derivace druhého řádu Parciální derivace druhého řádu funkce z = f (x, y) jsou definovány: Parciální derivace 2 f 2 = ( ) f 2 f 2 = ( ) f 2 f a 2 f 2 f

Bardziej szczegółowo

Martin Pergel. 26. února Martin Pergel

Martin Pergel. 26. února Martin Pergel 26. února 2017 Užitečné informace Navážeme na Programování I, změníme jazyk na C#, podrobnosti o C# budou v navazujícím kurzu, soustředíme se na totéž, co v zimě, tedy: technické programování, návrh a

Bardziej szczegółowo

Logika V. RNDr. Kateřina Trlifajová PhD. Katedra teoretické informatiky Fakulta informačních technologíı BI-MLO, ZS 2011/12

Logika V. RNDr. Kateřina Trlifajová PhD. Katedra teoretické informatiky Fakulta informačních technologíı BI-MLO, ZS 2011/12 Logika V. RNDr. Kateřina Trlifajová PhD. Katedra teoretické informatiky Fakulta informačních technologíı České vysoké učení technické v Praze c Kateřina Trlifajová, 2010 BI-MLO, ZS 2011/12 Evropský sociální

Bardziej szczegółowo

Úvodní informace. 18. února 2019

Úvodní informace. 18. února 2019 Úvodní informace Funkce více proměnných Cvičení první 18. února 2019 Obsah 1 Úvodní informace. 2 Funkce více proměnných Definiční obor Úvodní informace. Komunikace: e-mail: olga@majling.eu nebo olga.majlingova@fs.cvut.cz

Bardziej szczegółowo

5. a 12. prosince 2018

5. a 12. prosince 2018 Integrální počet Neurčitý integrál Seminář 9, 0 5. a. prosince 08 Neurčitý integrál Definice. Necht funkce f (x) je definovaná na intervalu I. Funkce F (x) se nazývá primitivní k funkci f (x) na I, jestliže

Bardziej szczegółowo

Linea rnı (ne)za vislost

Linea rnı (ne)za vislost [1] Lineární (ne)závislost Skupiny, resp. množiny, vektorů mohou být lineárně závislé nebo lineárně nezávislé... a) zavislost, 3, b) P. Olšák, FEL ČVUT, c) P. Olšák 2010, d) BI-LIN, e) L, f) 2009/2010,

Bardziej szczegółowo

Matematika (KMI/PMATE)

Matematika (KMI/PMATE) Matematika (KMI/PMATE) Úvod do matematické analýzy Limita a spojitost funkce Matematika (KMI/PMATE) Osnova přednášky lineární funkce y = kx + q definice lineární funkce význam (smysl) koeficientů lineární

Bardziej szczegółowo

Elementární funkce. Edita Pelantová. únor FJFI, ČVUT v Praze. katedra matematiky, FJFI, ČVUT v Praze

Elementární funkce. Edita Pelantová. únor FJFI, ČVUT v Praze. katedra matematiky, FJFI, ČVUT v Praze Elementární funkce Edita Pelantová FJFI, ČVUT v Praze Seminář současné matematiky katedra matematiky, FJFI, ČVUT v Praze únor 2013 c Edita Pelantová (FJFI) Elementární funkce únor 2013 1 / 19 Polynomiální

Bardziej szczegółowo

Necht je funkce f spojitá v intervalu a, b a má derivaci v (a, b). Pak existuje bod ξ (a, b) tak, že f(b) f(a) b a. Geometricky

Necht je funkce f spojitá v intervalu a, b a má derivaci v (a, b). Pak existuje bod ξ (a, b) tak, že f(b) f(a) b a. Geometricky Monotónie a extrémy funkce Diferenciální počet - průběh funkce Věta o střední hodnotě (Lagrange) Necht je funkce f spojitá v intervalu a, b a má derivaci v (a, b). Pak existuje bod ξ (a, b) tak, že f (ξ)

Bardziej szczegółowo

Kapitola 4: Soustavy diferenciálních rovnic 1. řádu

Kapitola 4: Soustavy diferenciálních rovnic 1. řádu Sbírka příkladů Matematika II pro strukturované studium Kapitola 4: Soustavy diferenciálních rovnic 1 řádu Chcete-li ukončit prohlížení stiskněte klávesu Esc Chcete-li pokračovat stiskněte klávesu Enter

Bardziej szczegółowo

Inverzní Z-transformace

Inverzní Z-transformace Modelování systémů a procesů (11MSP) Bohumil Kovář, Jan Přikryl, Miroslav Vlček Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní 9. přednáška 11MSP úterý 16. dubna 2019 verze: 2019-04-15 12:25

Bardziej szczegółowo

Powyższe reguły to tylko jedna z wersji gry. Istnieje wiele innych wariantów, można też ustalać własne zasady. Miłej zabawy!

Powyższe reguły to tylko jedna z wersji gry. Istnieje wiele innych wariantów, można też ustalać własne zasady. Miłej zabawy! Krykiet W krykieta może grać od 2 do 4 osób, którzy albo grają każdy przeciw każdemu, albo dzielą się na dwie drużyny. Bramki oraz palik startowy i powrotne umieszcza się tak, jak pokazano na rysunku.

Bardziej szczegółowo

Matematika 2, vzorová písemka 1

Matematika 2, vzorová písemka 1 Matematika 2, vzorová písemka Pavel Kreml 9.5.20 Přesun mezi obrazovkami Další snímek: nebo Enter. Zpět: nebo Shift + Enter 2 3 4 Doporučení Pokuste se vyřešit zadané úlohy samostatně. Pokud nebudete vědět

Bardziej szczegółowo

Co nám prozradí derivace? 21. listopadu 2018

Co nám prozradí derivace? 21. listopadu 2018 Co nám prozradí derivace? Seminář sedmý 21. listopadu 2018 Derivace základních funkcí Tečna a normála Tečna ke grafu funkce f v bodě dotyku T = [x 0, f (x 0 )]: y f (x 0 ) = f (x 0 )(x x 0 ) Normála: y

Bardziej szczegółowo

Geometrická nelinearita: úvod

Geometrická nelinearita: úvod Geometrická nelinearita: úvod Opakování: stabilita prutů Eulerovo řešení s využitím teorie 2. řádu) Stabilita prutů Ritzovou metodou Stabilita tenkých desek 1 Geometrická nelinearita Velké deformace průhyby,

Bardziej szczegółowo

wykład III uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - zarządzanie pamięcią, struktury,

wykład III uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - zarządzanie pamięcią, struktury, , Programowanie, uzupełnienie notatek: dr Jerzy Białkowski , 1 2 3 4 , Wczytywanie liczb , Wczytywanie liczb 1 #include 2 #include < s t d l i b. h> 3 4 int main ( ) { 5 int rozmiar, numer

Bardziej szczegółowo

MATEMATIKA 3. Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci

MATEMATIKA 3.   Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci MATEMATIKA 3 Dana Černá http://www.fp.tul.cz/kmd/ Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci Osnova: Komplexní funkce - definice, posloupnosti, řady Vybrané komplexní funkce

Bardziej szczegółowo

Struktury czyli rekordy w C/C++

Struktury czyli rekordy w C/C++ Struktury czyli rekordy w C/C++ Wprowadzenie do programowania w języku C struktury. pola bitowe, unie Struktury (rekordy) są złożonymi zmiennymi, składającymi się z elementów różnych typów zwanych polami,

Bardziej szczegółowo

Kristýna Kuncová. Matematika B2

Kristýna Kuncová. Matematika B2 (3) Průběh funkce Kristýna Kuncová Matematika B2 Kristýna Kuncová (3) Průběh funkce 1 / 26 Monotonie (x 2 ) = 2x (sin x) = cos x Jak souvisí derivace funkce a fakt, zda je funkce rostoucí nebo klesající?

Bardziej szczegółowo

Numerické metody minimalizace

Numerické metody minimalizace Numerické metody minimalizace Než vám klesnou víčka - Stříbrnice 2011 12.2. 16.2.2011 Emu (Brkos 2011) Numerické metody minimalizace 12.2. 16.2.2011 1 / 19 Obsah 1 Úvod 2 Základní pojmy 3 Princip minimalizace

Bardziej szczegółowo

1 Soustava lineárních rovnic

1 Soustava lineárních rovnic Soustavy lineárních rovnic Aplikovaná matematika I Dana Říhová Mendelu Brno Obsah 1 Soustava lineárních rovnic 2 Řešitelnost soustavy lineárních rovnic 3 Gaussova eliminační metoda 4 Jordanova eliminační

Bardziej szczegółowo

B0B99PRPA Procedurální programování

B0B99PRPA Procedurální programování B0B99PRPA Procedurální programování Řidící struktury, výrazy Stanislav Vítek Katedra radioelektroniky Fakulta elektrotechnická České vysoké učení v Praze 1/48 Přehled témat Část 1 Řídicí struktury Kódovací

Bardziej szczegółowo

Internet a zdroje. (Zdroje na Internetu) Mgr. Petr Jakubec. Katedra fyzikální chemie Univerzita Palackého v Olomouci Tř. 17.

Internet a zdroje. (Zdroje na Internetu) Mgr. Petr Jakubec. Katedra fyzikální chemie Univerzita Palackého v Olomouci Tř. 17. Internet a zdroje (Zdroje na Internetu) Mgr. Petr Jakubec Katedra fyzikální chemie Univerzita Palackého v Olomouci Tř. 17. listopadu 12 26. listopadu 2010 (KFC-INTZ) Databáze, citování 26. listopadu 2010

Bardziej szczegółowo

ZÁPADOČESKÁ UNIVERZITA V PLZNI FAKULTA PEDAGOGICKÁ Katedra matematiky. Dudek Martin. obor Matematická studia

ZÁPADOČESKÁ UNIVERZITA V PLZNI FAKULTA PEDAGOGICKÁ Katedra matematiky. Dudek Martin. obor Matematická studia ZÁPADOČESKÁ UNIVERZITA V PLZNI FAKULTA PEDAGOGICKÁ Katedra matematiky BAKALÁŘSKÁ PRÁCE Některé řadící algoritmy Dudek Martin obor Matematická studia Vedoucí práce: PhDr. Lukáš HONZÍK, Ph.D. Plzeň 2018

Bardziej szczegółowo

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe Wykład 15 Wprowadzenie do języka na bazie a Literatura Podobieństwa i różnice Literatura B.W.Kernighan, D.M.Ritchie Język ANSI Kompilatory Elementarne różnice Turbo Delphi FP Kylix GNU (gcc) GNU ++ (g++)

Bardziej szczegółowo

Vlastnosti. Příprava. Czech - 2 -

Vlastnosti. Příprava. Czech - 2 - Obsah Vlastnosti... 2 Úvod... 2 Příprava... 2 Bezpečnostní opatření... 3 Obsah balení... 4 Informace o životním prostředí... 5 Tlačítka dálkového ovládání... 6 LCD TV a Ovládací tlačítka... 7 Přehled zapojení

Bardziej szczegółowo

PARADIGMATA PROGRAMOVÁNÍ 1B

PARADIGMATA PROGRAMOVÁNÍ 1B KATEDRA INFORMATIKY PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITA PALACKÉHO PARADIGMATA PROGRAMOVÁNÍ 1B JAN KONEČNÝ, VILÉM VYCHODIL VÝVOJ TOHOTO UČEBNÍHO TEXTU JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM A STÁTNÍM

Bardziej szczegółowo

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,

Bardziej szczegółowo

Wstęp do programowania 1

Wstęp do programowania 1 Wstęp do programowania 1 Struktury Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 12 Struktura dla dat - przykład #include struct Date { int y; short m; short

Bardziej szczegółowo

NÁVOD K POUŽITÍ KEZELÉSI KÉZIKÖNYV INSTRUKCJA OBSŁUGI NÁVOD NA POUŽÍVANIE. Česky. Magyar. Polski. Slovensky

NÁVOD K POUŽITÍ KEZELÉSI KÉZIKÖNYV INSTRUKCJA OBSŁUGI NÁVOD NA POUŽÍVANIE. Česky. Magyar. Polski. Slovensky CANON INC. 30-2 Shimomaruko 3-chome, Ohta-ku, Tokyo 146-8501, Japan Europe, Africa & Middle East CANON EUROPA N.V. PO Box 2262, 1180 EG Amstelveen, The Netherlands For your local Canon office, please refer

Bardziej szczegółowo

Obsah Atributová tabulka Atributové dotazy. GIS1-2. cvičení. ČVUT v Praze, Fakulta stavební, katedra mapování a kartografie

Obsah Atributová tabulka Atributové dotazy. GIS1-2. cvičení. ČVUT v Praze, Fakulta stavební, katedra mapování a kartografie ČVUT v Praze, Fakulta stavební, katedra mapování a kartografie září 2010 prezentace 1 2 Obecně otevření atributové tabulky (vlastnosti vrstvy Open Attribute Table) řádky v tabulce jednotlivé záznamy (objekty)

Bardziej szczegółowo

Automatové modely. Stefan Ratschan. Fakulta informačních technologíı. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Automatové modely. Stefan Ratschan. Fakulta informačních technologíı. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Automatové modely Stefan Ratschan Katedra číslicového návrhu Fakulta informačních technologíı České vysoké učení technické v Praze Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Stefan

Bardziej szczegółowo

TVL 26925 LED NÁVOD K POUŽITÍ NÁVOD NA POUŽITIE

TVL 26925 LED NÁVOD K POUŽITÍ NÁVOD NA POUŽITIE TVL 26925 LED NÁVOD K POUŽITÍ NÁVOD NA POUŽITIE BAREVNÝ TELEVIZNÍ PŘÍJÍMAČ S DÁLKOVÝM OVLÁDÁNÍM FAREBNÝ TELEVÍZNY PRIJÍMAČ S DIALKOVÝM OVLÁDÁNÍM TELEWIZOR KOLOROWY Z PILOTEM Obsah Vlastnosti... 2 Úvod...

Bardziej szczegółowo

Typy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1

Typy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1 Typy złożone Struktury, pola bitowe i unie. Programowanie Proceduralne 1 Typy podstawowe Typy całkowite: char short int long Typy zmiennopozycyjne float double Modyfikatory : unsigned, signed Typ wskaźnikowy

Bardziej szczegółowo

WYKŁAD 10. Zmienne o złożonej budowie Statyczne i dynamiczne struktury danych: lista, kolejka, stos, drzewo. Programy: c5_1.c, c5_2, c5_3, c5_4, c5_5

WYKŁAD 10. Zmienne o złożonej budowie Statyczne i dynamiczne struktury danych: lista, kolejka, stos, drzewo. Programy: c5_1.c, c5_2, c5_3, c5_4, c5_5 WYKŁAD 10 Zmienne o złożonej budowie Statyczne i dynamiczne struktury danych: lista, kolejka, stos, drzewo Programy: c5_1.c, c5_2, c5_3, c5_4, c5_5 Tomasz Zieliński ZMIENNE O ZŁOŻONEJ BUDOWIE (1) Zmienne

Bardziej szczegółowo

Tablice, funkcje - wprowadzenie

Tablice, funkcje - wprowadzenie Tablice, funkcje - wprowadzenie Przemysław Gawroński D-10, p. 234 Wykład 5 25 marca 2019 (Wykład 5) Tablice, funkcje - wprowadzenie 25 marca 2019 1 / 12 Outline 1 Tablice jednowymiarowe 2 Funkcje (Wykład

Bardziej szczegółowo

TVL 22800 UMP2 NÁVOD K POUŽITÍ NÁVOD NA POUŽITIE

TVL 22800 UMP2 NÁVOD K POUŽITÍ NÁVOD NA POUŽITIE TVL 22800 UMP2 NÁVOD K POUŽITÍ NÁVOD NA POUŽITIE 50193148 BAREVNÝ TELEVIZNÍ PŘÍJÍMAČ S DÁLKOVÝM OVLÁDÁNÍM FAREBNÝ TELEVÍZNY PRIJÍMAČ S DIALKOVÝM OVLÁDÁNÍM TELEWIZOR KOLOROWY Z PILOTEM Obsah Obsah balení...

Bardziej szczegółowo

Funkcja (podprogram) void

Funkcja (podprogram) void Funkcje Co to jest funkcja? Budowa funkcji Deklaracja, definicja i wywołanie funkcji Przykłady funkcji definiowanych przez programistę Przekazywanie argumentów do funkcji Tablica jako argument funkcji

Bardziej szczegółowo

Wskaźniki w C. Anna Gogolińska

Wskaźniki w C. Anna Gogolińska Wskaźniki w C Anna Gogolińska Zmienne Zmienną w C można traktować jako obszar w pamięci etykietowany nazwą zmiennej i zawierający jej wartość. Przykład: kod graficznie int a; a a = 3; a 3 Wskaźniki Wskaźnik

Bardziej szczegółowo

podle přednášky doc. Eduarda Fuchse 16. prosince 2010

podle přednášky doc. Eduarda Fuchse 16. prosince 2010 Jak souvisí plochá dráha a konečná geometrie? L ubomíra Balková podle přednášky doc. Eduarda Fuchse Trendy současné matematiky 16. prosince 2010 (FJFI ČVUT v Praze) Konečná geometrie 16. prosince 2010

Bardziej szczegółowo

Programowanie Proceduralne

Programowanie Proceduralne Programowanie Proceduralne Struktury Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 10 Co dziś będzie: Definiowanie struktury Deklarowanie zmiennych bȩda cych strukturami

Bardziej szczegółowo

Wskaźniki. Programowanie Proceduralne 1

Wskaźniki. Programowanie Proceduralne 1 Wskaźniki Programowanie Proceduralne 1 Adresy zmiennych Sterta 1 #include 2 3 int a = 2 ; 4 5 int main ( ) 6 { 7 int b = 3 ; 8 9 printf ( " adres zmiennej a %p\n", &a ) ; 10 printf ( " adres

Bardziej szczegółowo

Wykład X. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2016 Janusz Słupik

Wykład X. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2016 Janusz Słupik Wykład X Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2016 c Copyright 2016 Janusz Słupik Drzewa binarne Drzewa binarne Drzewo binarne - to drzewo (graf spójny bez cykli) z korzeniem (wyróżnionym

Bardziej szczegółowo

IJC Jazyk C. Petr Peringer peringer AT fit.vutbr.cz. (Verze: ) Božetěchova 2, Brno. Úvod ISO C libc C99 11 Debug C++ Link Opt...

IJC Jazyk C. Petr Peringer peringer AT fit.vutbr.cz. (Verze: ) Božetěchova 2, Brno. Úvod ISO C libc C99 11 Debug C++ Link Opt... Úvod ISO C libc C99 11 Debug C++ Link Opt... IJC Jazyk C 1/271 IJC Jazyk C Petr Peringer peringer AT fit.vutbr.cz Vysoké učení technické v Brně Fakulta informačních technologií, Božetěchova 2, 612 66 Brno

Bardziej szczegółowo

ULS4805FE. Návod k použití Návod na použitie Instrukcja obsługi Instruction Manual Használatı utasítás. Licensed by Hyundai Corporation, Korea

ULS4805FE. Návod k použití Návod na použitie Instrukcja obsługi Instruction Manual Használatı utasítás. Licensed by Hyundai Corporation, Korea ULS4805FE Návod k použití Návod na použitie Instrukcja obsługi Instruction Manual Használatı utasítás Licensed by Hyundai Corporation, Korea Obsah Bezpečnostní informace...2 Označení na produktu...2 Informace

Bardziej szczegółowo

B0B99PRPA Procedurální programování. Stanislav Vítek

B0B99PRPA Procedurální programování. Stanislav Vítek 3. Základní řidící struktury B0B99PRPA Procedurální programování Stanislav Vítek Katedra radioelektroniky Fakulta elektrotechnická České vysoké učení v Praze 1/40 Přehled témat Y Část 1 Programování v

Bardziej szczegółowo

ggplot2 Efektní vizualizace dat v prostředí jazyka R Martin Golasowski 8. prosince 2016

ggplot2 Efektní vizualizace dat v prostředí jazyka R Martin Golasowski 8. prosince 2016 ggplot2 Efektní vizualizace dat v prostředí jazyka R Martin Golasowski 8. prosince 2016 Jak vizualizovat? Požadované vlastnosti nástroje opakovatelnost, spolehlivost separace formy a obsahu flexibilita,

Bardziej szczegółowo

B0B99PRPA Procedurální programování

B0B99PRPA Procedurální programování B0B99PRPA Procedurální programování Základní řidící struktury Stanislav Vítek Katedra radioelektroniky Fakulta elektrotechnická České vysoké učení v Praze 1/40 Přehled témat Část 1 Programování v C Zdrojové

Bardziej szczegółowo

Petr Křemen FEL ČVUT. Petr Křemen (FEL ČVUT) Vysvětlování modelovacích chyb 133 / 156

Petr Křemen FEL ČVUT. Petr Křemen (FEL ČVUT) Vysvětlování modelovacích chyb 133 / 156 Vysvětlování modelovacích chyb Petr Křemen FEL ČVUT Petr Křemen (FEL ČVUT) Vysvětlování modelovacích chyb 133 / 156 Co nás čeká 1 Konjunktivní dotazy 2 Vyhodnocování konjunktivních dotazů v jazyce ALC

Bardziej szczegółowo

HL24285SMART. Návod k použití Návod na použitie Instrukcja obsługi Használatı utasítás. Licensed by Hyundai Corporation, Korea

HL24285SMART. Návod k použití Návod na použitie Instrukcja obsługi Használatı utasítás. Licensed by Hyundai Corporation, Korea HL24285SMART Návod k použití Návod na použitie Instrukcja obsługi Használatı utasítás Licensed by Hyundai Corporation, Korea Obsah Bezpečnostní opatření... 1 Informace o životním prostředí... 2 Zahrnuté

Bardziej szczegółowo

DFT. verze:

DFT. verze: Výpočet spektra signálu pomocí DFT kacmarp@fel.cvut.cz verze: 009093 Úvod Signály můžeme rozdělit na signály spojité v čase nebo diskrétní v čase. Další možné dělení je na signály periodické nebo signály

Bardziej szczegółowo

PA152,Implementace databázových systémů 2 / 25

PA152,Implementace databázových systémů 2 / 25 PA152 Implementace databázových systémů Pavel Rychlý pary@fi.muni.cz Laboratoř zpracování přirozeného jazyka http://www.fi.muni.cz/nlp/ 19. září 2008 PA152,Implementace databázových systémů 1 / 25 Technické

Bardziej szczegółowo

Charakteristika jazyka C

Charakteristika jazyka C Pravidla Literatura Úvod Pravidla Literatura Pravidla IJC Jazyk C Petr Peringer peringer AT fit.vutbr.cz Vysoké učení technické v Brně Fakulta informačních technologií, Božetěchova 2, 612 66 Brno (Verze:

Bardziej szczegółowo

Vybrané kapitoly z matematiky

Vybrané kapitoly z matematiky Vybrané kapitoly z matematiky VŠB-TU Ostrava 2018-2019 Vybrané kapitoly z matematiky 2018-2019 1 / 11 Křivkový integrál Vybrané kapitoly z matematiky 2018-2019 2 / 11 Parametricky zadaná křivka v R 3 :

Bardziej szczegółowo

Register and win! www.kaercher.com

Register and win! www.kaercher.com Register and win! www.kaercher.com A B A, B A B 2 6 A régi készülékek értékes újrahasznosítható anyagokat tartalmaznak, amelyeket tanácsos újra felhasználni. Szárazelemek, olaj és hasonló anyagok ne kerüljenek

Bardziej szczegółowo

Petr Hasil. c Petr Hasil (MUNI) Nekonečné řady MA III (M3100) 1 / 187

Petr Hasil. c Petr Hasil (MUNI) Nekonečné řady MA III (M3100) 1 / 187 Nekonečné řady Petr Hasil Přednáška z Matematické analýzy III c Petr Hasil (MUNI) Nekonečné řady MA III (M3100) 1 / 187 Obsah 1 Nekonečné číselné řady Základní pojmy Řady s nezápornými členy Řady s libovolnými

Bardziej szczegółowo

Uzupełnienie dot. przekazywania argumentów

Uzupełnienie dot. przekazywania argumentów Uzupełnienie dot. przekazywania argumentów #include #include struct nowa { int f; char line[20000]; int k; } reprezentant; int main() { void funkcja7( struct nowa x); reprezentant.k=17;

Bardziej szczegółowo

Programowanie I C / C++ laboratorium 02 Składnia pętli, typy zmiennych, operatory

Programowanie I C / C++ laboratorium 02 Składnia pętli, typy zmiennych, operatory Programowanie I C / C++ laboratorium 02 Składnia pętli, typy zmiennych, operatory Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2013-02-19 Pętla while Pętla while Pętla

Bardziej szczegółowo

Pliki. Informacje ogólne. Obsługa plików w języku C

Pliki. Informacje ogólne. Obsługa plików w języku C Pliki Informacje ogólne Plik jest pewnym zbiorem danych, zapisanym w systemie plików na nośniku danych. Może posiadać określone atrybuty, a odwołanie do niego odbywa się poprzez nazwę. Każdy plik ma skończoną

Bardziej szczegółowo

Podstawy programowania w języku C++

Podstawy programowania w języku C++ Podstawy programowania w języku C++ Część jedenasta Przetwarzanie plików amorficznych Konwencja języka C Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie

Bardziej szczegółowo

Návod k použití BUBNOVÁ SUŠIČKA

Návod k použití BUBNOVÁ SUŠIČKA Návod k použití BUBNOVÁ SUŠIČKA CZ Česky, 1 SK Slovenčina, 52 TCD 83B HU Magyar, 18 TR Türkçe, 69 PL Polski, 35 Při prvním zapnutí sušičky musíte zvolit preferovaný jazyk, viz str. 6 Obsah Důležité informace,

Bardziej szczegółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

Rovnice proudění Slapový model

Rovnice proudění Slapový model do oceánského proudění Obsah 1 2 3 Co způsobuje proudění v oceánech? vyrovnávání rozdílů v teplotě, salinitě, tlaku, ρ = ρ(p, T, S) vítr - wind stress F wind = ρ air C D AU 2 10 slapy produkují silné proudy,

Bardziej szczegółowo

(2) Funkce. Kristýna Kuncová. Matematika B2. Kristýna Kuncová (2) Funkce 1 / 25

(2) Funkce. Kristýna Kuncová. Matematika B2. Kristýna Kuncová (2) Funkce 1 / 25 (2) Funkce Kristýna Kuncová Matematika B2 Kristýna Kuncová (2) Funkce 1 / 25 Sudá a lichá funkce Určete, které funkce jsou sudé a které liché: liché: A, D, E sudé: B Kristýna Kuncová (2) Funkce 2 / 25

Bardziej szczegółowo

Zwój Prawoskrętny. Vinutí Pravé

Zwój Prawoskrętny. Vinutí Pravé SPRĘŻYNY NACISKOWE TYP TLAČNÉ PRUŽINY Sprężyny naciskowe SPEC są wykonywane precyzyjnie i wydajnie. Stosowanie sprężyn SPEC wpływa na obniżkę kosztów z uwagi na oszczędność czasu wynikającą z braku potrzeby

Bardziej szczegółowo

// Liczy srednie w wierszach i kolumnach tablicy "dwuwymiarowej" // Elementy tablicy są generowane losowo #include <stdio.h> #include <stdlib.

// Liczy srednie w wierszach i kolumnach tablicy dwuwymiarowej // Elementy tablicy są generowane losowo #include <stdio.h> #include <stdlib. Wykład 10 Przykłady różnych funkcji (cd) - przetwarzanie tablicy tablic (tablicy "dwuwymiarowej") - sortowanie przez "selekcję" Dynamiczna alokacja pamięci 1 // Liczy srednie w wierszach i kolumnach tablicy

Bardziej szczegółowo

Obsah Před zahájením instalace a používání si prosím pečlivě přečtěte návod k použití.

Obsah Před zahájením instalace a používání si prosím pečlivě přečtěte návod k použití. Obsah Před zahájením instalace a používání si prosím pečlivě přečtěte návod k použití. Bezpečnostní informace...1 Začínáme...3 Upozornění, funkce a příslušenství...3 Vlastnosti...3 Ovládací tlačítka na

Bardziej szczegółowo

Lineární algebra - iterační metody

Lineární algebra - iterační metody Lineární algebra - iterační metody Numerické metody 7. dubna 2018 FJFI ČVUT v Praze 1 Úvod Úvod Rozdělení Metody Zastavení SOR Programy 1 Úvod Úvod - LAR Mějme základní úlohu A x = b, (1) kde A R n,n je

Bardziej szczegółowo

Wykład VI. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Wykład VI. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik Wykład VI Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Operacje na plikach Operacje na plikach Aby móc korzystać z pliku należy go otworzyć w odpowiednim

Bardziej szczegółowo

návod k použití instrukcja obsługi

návod k použití instrukcja obsługi návod k použití instrukcja obsługi Pračka Pralka EWF 106510 W 2 electrolux OBSAH Electrolux. Thinking of you. Více o nás naleznete na adrese www.electrolux.com Bezpečnostní informace 2 Popis spotřebiče

Bardziej szczegółowo

MATEMATIKA 3 NUMERICKÉ METODY. Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci

MATEMATIKA 3 NUMERICKÉ METODY.   Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci MATEMATIKA 3 NUMERICKÉ METODY Dana Černá http://kmd.fp.tul.cz Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci INFORMACE O PŘEDMĚTU Konzultační hodiny: ÚT 11:00-12:00, budova G,

Bardziej szczegółowo

Západočeská univerzita v Plzni Fakulta aplikovaných věd. Katedra matematiky. Semestrální práce - matematika a byznys

Západočeská univerzita v Plzni Fakulta aplikovaných věd. Katedra matematiky. Semestrální práce - matematika a byznys Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra matematiky Obor: Matematické inženýrství Optimální výrobní program Semestrální práce - matematika a byznys Vypracovala: Radka Zahradníková

Bardziej szczegółowo

Struktury. Przykład W8_1

Struktury. Przykład W8_1 Struktury Struktury pozwalają na grupowanie zmiennych różnych typów pod wspólną nazwą. To istotnie ułatwia organizacje danych, które okazują się w jednym miejscu kodu programu. To jest bardzo ważne dla

Bardziej szczegółowo

DXDB 215 NÁVOD K POUŽITÍ NÁVOD NA POUŽITIE INSTRUKCJA OBSŁUGI USER MANUAL

DXDB 215 NÁVOD K POUŽITÍ NÁVOD NA POUŽITIE INSTRUKCJA OBSŁUGI USER MANUAL DXDB 215 NÁVOD K POUŽITÍ NÁVOD NA POUŽITIE INSTRUKCJA OBSŁUGI USER MANUAL KOMBINOVANÝ PŘEHRÁVAČ DVD/DVB-T KOMBINOVANÝ PREHRÁVAČ DVD/DVB-T KOMBINOWANY ODTWARZACZ DVD/DVB-T DVD\DVB-T COMBO PLAYER Podpora

Bardziej szczegółowo

Laplaceova transformace

Laplaceova transformace Laplaceova transformace Modelování systémů a procesů (11MSP) Bohumil Kovář, Jan Přikryl, Miroslav Vlček Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní 5. přednáška 11MSP 219 verze: 219-3-17

Bardziej szczegółowo

Příručka k rychlé instalaci: NWD2105. Základní informace. 1. Instalace softwaru

Příručka k rychlé instalaci: NWD2105. Základní informace. 1. Instalace softwaru Příručka k rychlé instalaci: NWD2105 Základní informace NWD2105 je bezdrátový USB adaptér určený pro použití s počítačem. NWD2105 je kompatibilní s technologií WPS (Wi-Fi Protected Setup). A: LED kontrolka

Bardziej szczegółowo

Co to jest sterta? Sterta (ang. heap) to obszar pamięci udostępniany przez system operacyjny wszystkim działającym programom (procesom).

Co to jest sterta? Sterta (ang. heap) to obszar pamięci udostępniany przez system operacyjny wszystkim działającym programom (procesom). Zarządzanie pamięcią Pamięć: stos i sterta Statyczny i dynamiczny przydział pamięci Funkcje ANSI C do zarządzania pamięcią Przykłady: Dynamiczna tablica jednowymiarowa Dynamiczna tablica dwuwymiarowa 154

Bardziej szczegółowo

Cauchyova úloha pro obyčejnou diferenciální rovnici

Cauchyova úloha pro obyčejnou diferenciální rovnici Řešení ODR v MATLABu Přednáška 3 15. října 2018 Cauchyova úloha pro obyčejnou diferenciální rovnici y = f (x, y), y(x 0 ) = y 0 Víme, že v intervalu a, b existuje jediné řešení. (f (x, y) a f y jsou spojité

Bardziej szczegółowo

Obsah. Zobrazení na osmistěn. 1 Zobrazení sféry po částech - obecné vlastnosti 2 Zobrazení na pravidelný konvexní mnohostěn

Obsah. Zobrazení na osmistěn. 1 Zobrazení sféry po částech - obecné vlastnosti 2 Zobrazení na pravidelný konvexní mnohostěn Obsah 1 2 3 Použití Zobrazení rozsáhlého území, ale hodnoty zkreslení nesmí přesáhnout určitou hodnotu Rozdělením území na menší části a ty pak zobrazíme zvlášť Nevýhodou jsou však samostatné souřadnicové

Bardziej szczegółowo

nowe operatory &. (kropka) * operator rzutowy ->, (przecinek) sizeof

nowe operatory &. (kropka) * operator rzutowy ->, (przecinek) sizeof nowe operatory &. (kropka) * operator rzutowy ->, (przecinek) sizeof 1 adres zmiennej Do pobrania adresu zmiennej używa się jednoargumentowego operatora & (uwaga & może mieć także znaczenie dwuargumentowego

Bardziej szczegółowo

Tablice w argumentach funkcji. Tablicy nie są przekazywane po wartości Tablicy są przekazywane przez referencje lub po wskaźniku

Tablice w argumentach funkcji. Tablicy nie są przekazywane po wartości Tablicy są przekazywane przez referencje lub po wskaźniku Tablice w argumentach funkcji Tablicy nie są przekazywane po wartości Tablicy są przekazywane przez referencje lub po wskaźniku Przykład: char str[] = abcdef ;... fun(str); // argument faktyczny to id

Bardziej szczegółowo

Podstawy programowania w języku C++

Podstawy programowania w języku C++ Podstawy programowania w języku C++ Część trzynasta Tablice struktur, pliki struktur Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści

Bardziej szczegółowo

funkcje rekurencyjne Wykład 12. Podstawy programowania (język C) Funkcje rekurencyjne (1) Funkcje rekurencyjne (2)

funkcje rekurencyjne Wykład 12. Podstawy programowania (język C) Funkcje rekurencyjne (1) Funkcje rekurencyjne (2) Podstawy programowania (język C) funkcje rekurencyjne Wykład 12. Tomasz Marks - Wydział MiNI PW -1- Tomasz Marks - Wydział MiNI PW -2- Funkcje rekurencyjne (1) W języku C funkcja moŝe wywoływać samą siebie.

Bardziej szczegółowo

Języki i metodyka programowania. Wskaźniki i tablice.

Języki i metodyka programowania. Wskaźniki i tablice. Wskaźniki i tablice. Zmienna1 Zmienna2 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Zmienna to fragment pamięci o określonym rozmiarze identyfikowany za pomocą nazwy, w którym może być przechowywana

Bardziej szczegółowo

Wskaźniki. Przemysław Gawroński D-10, p marca Wykład 2. (Wykład 2) Wskaźniki 8 marca / 17

Wskaźniki. Przemysław Gawroński D-10, p marca Wykład 2. (Wykład 2) Wskaźniki 8 marca / 17 Wskaźniki Przemysław Gawroński D-10, p. 234 Wykład 2 8 marca 2019 (Wykład 2) Wskaźniki 8 marca 2019 1 / 17 Outline 1 Wskaźniki 2 Tablice a wskaźniki 3 Dynamiczna alokacja pamięci (Wykład 2) Wskaźniki 8

Bardziej szczegółowo

kontaktní modely (Winklerův, Pasternakův)

kontaktní modely (Winklerův, Pasternakův) TÉMA 7: Pružný poloprostor, modely podloží pružný poloprostor základní předpoklady pružný poloprostor Boussinesqueovo řešení kontaktní modely (Winklerův, Pasternakův) 1 Pružný poloprostor (1) vychází z

Bardziej szczegółowo

Pojem množiny nedefinujeme, pouze připomínáme, že množina je. Nejprve shrneme pojmy a fakta, které znáte ze střední školy.

Pojem množiny nedefinujeme, pouze připomínáme, že množina je. Nejprve shrneme pojmy a fakta, které znáte ze střední školy. 1 Kapitola 1 Množiny 1.1 Základní množinové pojmy Pojem množiny nedefinujeme, pouze připomínáme, že množina je souhrn, nebo soubor navzájem rozlišitelných objektů, kterým říkáme prvky. Pro známé množiny

Bardziej szczegółowo

Paradoxy geometrické pravděpodobnosti

Paradoxy geometrické pravděpodobnosti Katedra aplikované matematiky 1. června 2009 Úvod Cíle práce : Analýza Bertrandova paradoxu. Tvorba simulačního softwaru. Osnova 1 2 3 4 Osnova 1 2 3 4 Osnova 1 2 3 4 Osnova 1 2 3 4 V rovině je zadán kruh

Bardziej szczegółowo

Návod k použití Instrukcja obsługi Návod na používanie

Návod k použití Instrukcja obsługi Návod na používanie CS Návod k použití 2 Chladnička s mrazničkou PL Instrukcja obsługi 21 Chłodziarko-zamrażarka SK Návod na používanie 42 Chladnička s mrazničkou SCZ71800F1 2 OBSAH 1. BEZPEČNOSTNÍ INFORMACE... 3 2. BEZPEČNOSTNÍ

Bardziej szczegółowo

Programowanie proceduralne INP001210WL rok akademicki 2015/16 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

Programowanie proceduralne INP001210WL rok akademicki 2015/16 semestr letni. Wykład 6. Karol Tarnowski A-1 p. Programowanie proceduralne INP001210WL rok akademicki 2015/16 semestr letni Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411b Plan wykładu Operacje wejścia-wyjścia Dostęp do plików Struktury

Bardziej szczegółowo

Shrnutí. Vladimír Brablec

Shrnutí. Vladimír Brablec Řešení problému SAT s využitím lokálního prohledávání Vladimír Brablec Seminář z umělé inteligence II, 2010 Motivace Obsah referátů Články, podle nichž je prezentace vytvořena 1 Selman B., Kautz H., Cohen

Bardziej szczegółowo