Paradigmata programování 1
|
|
- Nikola Vacková
- před 9 lety
- Počet zobrazení:
Transkript
1 Paradigmata programování 1 Explicitní aplikace a vyhodnocování Vilém Vychodil Katedra informatiky, PřF, UP Olomouc Přednáška 6 V. Vychodil (KI, UP Olomouc) Explicitní aplikace a vyhodnocování Přednáška 6 1 / 33
2 Přednáška 6: Přehled 1 Explicitní aplikace procedur: Apply je dostupné prostřednictvím procedury apply, provádění operací se seznamy využívající apply, uživatelsky definované procedury s nepovinnými a libovolnými argumenty. 2 Explicitní vyhodnocování elementů: prostředí jako element prvního řádu, Eval (součást REPL) je dostupné prostřednictvím procedury eval, data = program se vším všudy, využití a záludnosti eval. 3 Praktické příklady použití: množiny reprezentované seznamy hodnot (bez duplicit), binární relace (mezi množinami) reprezentované jako seznamy párů. V. Vychodil (KI, UP Olomouc) Explicitní aplikace a vyhodnocování Přednáška 6 2 / 33
3 Opakování Páry a seznamy tečkový pár: agreguje dvě hodnoty (car, cdr, cons) prázdný seznam: () speciální element jazyka seznamy: definované (rekurzivně) každý element, který je buď prázdný seznam, nebo pár vytvořený aplikací cons na libovolný element a seznam (v tomto pořadí). (cons 1 (cons 'x (cons 3 '()))) =. 1. x. 3 () Operace se seznamy (zatím známe): konstruktory: cons, list, build-list (procedura vyššího řádu), selektory: car, cdr, list-ref další operace: append, reverse mapování: map (procedura vyššího řádu) V. Vychodil (KI, UP Olomouc) Explicitní aplikace a vyhodnocování Přednáška 6 3 / 33
4 Aplikace (uživatelsky definovaných procedur), Př. 2 3 Mějme proceduru F ve tvaru ( param 1 param 2 param n ); výraz 1, výraz 2,..., výraz m ; P Apply[F ; E 1,..., E m ] = aplikace procedury F na argumenty E 1,..., E m je hodnota (element), která je získána následovně: pokud m n, končíme chybou (špatný počet argumentů), jinak: je vytvořeno nové lokální prostředí P l předek prostředí P l je nastaven na P v P l se zavedou vazby param n E i v P l se postupně vyhodnotí výraz 1, výraz 2,..., výraz m Apply[F ; E 1,..., E m ] je potom výsledkem vyhodnocení výraz m V. Vychodil (KI, UP Olomouc) Explicitní aplikace a vyhodnocování Přednáška 6 4 / 33
5 Implicitní explicitní aplikace Rozeznáváme dva typy aplikací 1 implicitní doposud aplikace procedur, která je důsledkem vyhodnocování seznamů probíhá implicitně (je zahrnut, ale není přímo vyjádřen) 2 explicitní dnes nové aplikace procedur, která probíhá na naši žádost probíhá explicitně (žádost o aplikaci je přímo vyjádřená) Jak a kdy použít explicitní aplikaci? Lze použít pomocí procedury apply, uvidíme dále. Používá se v případě, kdy máme seznam argumentů k dispozici (jako data). V. Vychodil (KI, UP Olomouc) Explicitní aplikace a vyhodnocování Přednáška 6 5 / 33
6 Příklad (Motivační příklad pro apply) Sečtení všech čísel v seznamu: s = seznam čísel (+ (car s) (cadr s) (caddr s) ) co když neznáme délku? (+ s) = CHYBA: argument pro + není číslo Řešení: (apply + s) Význam: vyžádáme hodnotu Apply[F ; E 1,..., E n ], kde F je procedura sčítání prvky seznamu navázaného na s jsou E 1,..., E n V. Vychodil (KI, UP Olomouc) Explicitní aplikace a vyhodnocování Přednáška 6 6 / 33
7 Definice (primitivní procedura apply) Primitivní procedura apply se používá s argumenty ve tvaru: (apply procedura arg 1 arg 2 arg n seznam ), kde argument procedura je procedura, arg 1,..., arg n jsou nepovinné argumenty, a mohou být vynechány, argument seznam je seznam a musí být uveden. Aplikace probíhá následovně: 1 Je sestaven seznam argumentů: arg 1 je první prvek sestaveného seznamu, arg 2 je druhý prvek sestaveného seznamu,. arg n je n-tý prvek sestaveného seznamu, zbylé prvky jsou doplněny ze seznamu seznam. 2 procedura je aplikována s argumenty ze sestaveného seznamu. V. Vychodil (KI, UP Olomouc) Explicitní aplikace a vyhodnocování Přednáška 6 7 / 33
8 Příklad (Používání apply) (apply + '()) = 0 (apply append '()) = () (apply append '((1 2 3) () (c d))) = (1 2 3 c d) (apply list '( )) = ( ) (apply cons (list 2 3)) = (2. 3) (apply min '( )) = 1 (apply +) = CHYBA: Chybí seznam hodnot. (apply cons '( )) = CHYBA: cons má mít dva argumenty. (apply '()) = 10 (apply '(4)) = 10 (apply '(3 4)) = 10 (apply + 1 '(2 3 4)) = 10 (apply + '( )) = 10 V. Vychodil (KI, UP Olomouc) Explicitní aplikace a vyhodnocování Přednáška 6 8 / 33
9 Příklad (Použití apply: transpozice matic reprezentovaných seznamy) Motivace: (apply map list '((a b c) (1 2 3))) = ((a 1) (b 2) (c 3)) Reprezentace matice a její transpozice: A = , A T = Řešení: (define transpose (lambda (matrix) (apply map list matrix))) ((1 5 9) (2 6 10) (3 7 11) (4 8 12)) V. Vychodil (KI, UP Olomouc) Explicitní aplikace a vyhodnocování Přednáška 6 9 / 33
10 Příklad (Výpočet délky seznamu: length) Pozorování: (define s '(a b c d e f g)) s = (a b c d e f g) (map (lambda (x) 1) s) = ( ) (apply + (map (lambda (x) 1) s)) = 7 Zobecnění pozorování pro výpočet délky seznamu: (define length (lambda (l) (apply + (map (lambda (x) 1) l)))) je mírně neefektivní, ale není to žádná katastrofa mezní případ: (length '()) funguje korektně díky součtu nula jedniček (!!) V. Vychodil (KI, UP Olomouc) Explicitní aplikace a vyhodnocování Přednáška 6 10 / 33
11 Filtrace metoda zpracování seznamu procedura filter argumenty: funkce jednoho argumentu (podmínka) a seznam výsledek aplikace: seznam prvků z seznam splňujících podmínku Příklad (Příklady použití filter) (filter even? '( )) = (2 4 6) (filter pair? '(1 (2. a) 3 (4. k))) = ((2. a) (4. k)) (filter (lambda (x) (not (pair? x))) '(1 (2. a) 3 (4. k))) = (1 3) (filter symbol? '(1 a 3 b 4 d)) = (a b d) Ouha! Procedura filter není v jazyku Scheme (standardně) implementována. V. Vychodil (KI, UP Olomouc) Explicitní aplikace a vyhodnocování Přednáška 6 11 / 33
12 Příklad (Jak chápat filtraci?) (define s '( )) (map (lambda (x) (if (even? x) (list x) '())) s) = (() () (2) (6) () () (4) (8) () () (4)) (apply append (map (lambda (x) (if (even? x) (list x) '())) s)) = ( ) V. Vychodil (KI, UP Olomouc) Explicitní aplikace a vyhodnocování Přednáška 6 12 / 33
13 Příklad (Implementace procedury filter) Zobecnění předchozího pozorování: (define filter (lambda (f l) (apply append (map (lambda (x) (if (f x) (list x) '())) l)))) V. Vychodil (KI, UP Olomouc) Explicitní aplikace a vyhodnocování Přednáška 6 13 / 33
14 Příklad (Procedury remove a member? vytvořené pomocí filtrace) Odstranění prvků splňující podmínku: (define remove (lambda (f l) (filter (lambda (x) (not (f x))) l))) Test přítomnosti prvku v seznamu: (define member? (lambda (elem l) (not (null? (filter (lambda (x) (equal? x elem)) l))))) V. Vychodil (KI, UP Olomouc) Explicitní aplikace a vyhodnocování Přednáška 6 14 / 33
15 Příklad (Nepříliš efektivní implementace list-ref) (define list-ref (lambda (l index) (let ((indices (build-list (length l) (lambda (i) i)))) (cdar (filter (lambda (cell) (= (car cell) index)) (map cons indices l)))))) opět neefektivní konstruuje se zbytečný seznam indexů konstruuje se zbytečný seznam párů index-hodnota lepší řešení na dalších přednáškách V. Vychodil (KI, UP Olomouc) Explicitní aplikace a vyhodnocování Přednáška 6 15 / 33
16 Definice (λ-výraz s nepovinnými a libovolnými formálními argumenty) Každý seznam ve tvaru (lambda ( param 1 param m ) výraz 1 výraz k ), nebo (lambda ( param 1 param n. zbytek ) výraz 1 výraz k ), nebo (lambda parametry výraz 1 výraz k ), kde n, k jsou kladná čísla, m je nezáporné číslo, param 1,..., param n, zbytek jsou vzájemně různé symboly, parametry je symbol, výraz 1,..., výraz k jsou libovolné výrazy tvořící tělo, se nazývá λ-výraz, přitom: m, n nazýváme počet povinných formálních argumentů, zbytek je formální argument zastupující seznam nepovinných argumentů, parametry je formální argument zastupující seznam všech argumentů. V. Vychodil (KI, UP Olomouc) Explicitní aplikace a vyhodnocování Přednáška 6 16 / 33
17 Příklad (Porovnání čísel s danou přesností) (define approx= (lambda (x y. epsilon) (let ((epsilon (if (null? epsilon) 1/1000 (car epsilon)))) (<= (abs (- x y)) epsilon)))) (approx= ) = #t (approx= ) = #f (approx= /100) = #t V. Vychodil (KI, UP Olomouc) Explicitní aplikace a vyhodnocování Přednáška 6 17 / 33
18 Příklad (Vytvoření obecného map pomocí map1 a apply) (define map (lambda (f. lists) (let ((len (length (car lists)))) (build-list len (lambda (index) (apply f (map1 (lambda (l) (list-ref l index)) lists))))))) (map list '(a b c)) = ((a) (b) (c)) (map cons '(a b c) '(1 2 3)) = ((a. 1) (b. 2) (c. 3)) není efektivní kvůli použití list-ref V. Vychodil (KI, UP Olomouc) Explicitní aplikace a vyhodnocování Přednáška 6 18 / 33
19 Příklad (Procedury zpracovávající libovolný počet argumentů) Součet čtverců: (define sum2 (lambda cisla (apply + (map (lambda (x) (* x x)) cisla)))) (sum2) = 0 (sum2 1) = 1 (sum2 1 2) = 5 (sum ) = 14 Užitečné procedury: (define first-arg (lambda list (car list))) (define second-arg (lambda list (cadr list))) (define always (lambda (x) (lambda list x))). V. Vychodil (KI, UP Olomouc) Explicitní aplikace a vyhodnocování Přednáška 6 19 / 33
20 Explicitní vyhodnocování a eval Eval je k dispozici podobně jako Apply: primitivní procedura eval argumentem je element k vyhodnocení explicitní vyhodnocení pomocí eval probíhá v globálním prostředí používat s mírou (!!) (eval 10) = 10 (eval '+) = procedura (eval '(+ 1 2)) = 3 (eval (list + 1 2)) = 3 zajímavé,... (let ((x 10)) (eval '(+ 5 x))) = CHYBA: x nemá vazbu (let ((x 10)) (eval (list '+ 5 x))) = 15 (eval (read)) = proveď jeden cyklus REPLu (eval (list * 2 (read))) = zakomponuj vstup do výrazu a vyhodnoť V. Vychodil (KI, UP Olomouc) Explicitní aplikace a vyhodnocování Přednáška 6 20 / 33
21 Příklad (Predikáty forall a and-proc) Řešení pomocí filtrace (pozor, apply nelze použít přímo s and): (define and-proc (lambda args (null? (remove (lambda (x) x) args)))) (define forall (lambda (f l) (apply and-proc (map f l)))) Nešťastné řešení pomocí eval: (define and-proc (lambda args (eval (cons 'and args)))) (and-proc '(if #f #t #f)) = #f (and '(if #f #t #f)) = (if #f #t #f) což je true V. Vychodil (KI, UP Olomouc) Explicitní aplikace a vyhodnocování Přednáška 6 21 / 33
22 Prostředí jako element prvního řádu Omezení předchozího eval: Eval[E, P] versus Eval[E, P G ] je potřeba mít eval se dvěma argumenty: elementem a prostředím je potřeba zhmotnit prostředí a pracovat s ním jako s elementem jazyka Prostředky pro práci s prostředími (the-environment) vrací aktuální prostředí (speciální forma) (environment-parent prostředí ) vrací předchůdce prostředí (procedure-environment procedura ) vrací prostředí vzniku procedury (environment->list prostředí ) vrací seznam vazeb v prostředí Prostředí je element prvního řádu. (!!) V. Vychodil (KI, UP Olomouc) Explicitní aplikace a vyhodnocování Přednáška 6 22 / 33
23 Příklad (Explicitní vyhodnocování v lokálních prostředích) (let ((x 10)) (the-environment)) = lokální prostředí, kde x 10 (let ((x 10)) (eval '(* 2 x) (the-environment))) = 20 (eval '(* 2 x) (let ((x 10)) (the-environment))) = 20 (let ((x 10) (y 20)) (environment->list (the-environment))) = ((x. 10) (y. 20)) V. Vychodil (KI, UP Olomouc) Explicitní aplikace a vyhodnocování Přednáška 6 23 / 33
24 Příklad (Získání prostředí vzniku procedury a lexikálního předka) (procedure-environment (let ((x 10)) (lambda (y) (+ x y)))) = prostředí vzniku procedury, kde x 10 (environment->list (environment-parent (let* ((x 10) (y 20)) (the-environment)))) = ((x. 10)) the-environment, procedure-environment, environment->list je k dispozici (například) v interpretu Elk (embeddable Scheme) tyto procedury a formy nejsou k dispozici všude (!!) V. Vychodil (KI, UP Olomouc) Explicitní aplikace a vyhodnocování Přednáška 6 24 / 33
25 Příklad (Proč je použití eval nebezpečné?) je možné měnit (mutovat) prostředí vzniku procedur, aniž by to bylo patrné nebezpečí vzniku chyb (define aux-proc (let () (lambda (x) (+ x y)))) (aux-proc 10) = CHYBA: Symbol y nemá vazbu. (eval '(define y 20) (procedure-environment aux-proc)) y = Symbol y nemá vazbu (aux-proc 10) = 30 zdánlivě podivné V. Vychodil (KI, UP Olomouc) Explicitní aplikace a vyhodnocování Přednáška 6 25 / 33
26 Příklad: Množiny a binární relace Konečné množiny matematické struktury: A = {a 1, a 2,..., a n }, kde n 0 (pro n = 0 je A = ) reprezentace ve Scheme seznamem hodnot (bez duplicit) Kartézský součin množin A a B (v tomto pořadí) A B = { x, y x A a y B} pro A = {a, b, c}, B = {1, 2}: A B = { a, 1, a, 2, b, 1, b, 2, c, 1, c, 2 } pro konečné A a B lze A B reprezentovat seznamem párů Binární relace (relace mezi dvěma množinami A a B, v tomto pořadí) libovolná (tj. jakákoliv) podmnožina A B značení: R A B Ukážeme: implementace operací s množinami a relacemi ve Scheme V. Vychodil (KI, UP Olomouc) Explicitní aplikace a vyhodnocování Přednáška 6 26 / 33
27 Příklad (Základní konstruktory pro práci s množinami) (define the-empty-set '()) (define card (lambda (set) (length set))) (define make-set (lambda (prop? universe) (filter prop? universe))) (define cons-set (lambda (x set) (if (in? x set) set (cons x set)))) test přítomnosti prvku v množině V. Vychodil (KI, UP Olomouc) Explicitní aplikace a vyhodnocování Přednáška 6 27 / 33
28 Příklad (Základní predikáty pro práci s množinami) (define in? (lambda (x set) (not (null? (filter (lambda (y) (equal? x y)) set))))) (define set? (lambda (elem) (and (list? elem) (forall (lambda (x) (= (occurrences x elem) 1)) elem)))) (define occurrences (lambda (elem l) (length (filter (lambda (x) (equal? x elem)) l)))) V. Vychodil (KI, UP Olomouc) Explicitní aplikace a vyhodnocování Přednáška 6 28 / 33
29 Příklad (Operace s množinami: průnik a sjednocení) A B = {x x A nebo x B} (sjednocení) A B = {x x A a x B} (průnik) (define union (lambda (set-a set-b) (list->set (append set-a set-b)))) třeba dodělat list->set (define intersection (lambda (set-a set-b) (make-set (lambda (x) (and (in? x set-a) (in? x set-b))) (union set-a set-b)))) Jak zobecnit? V. Vychodil (KI, UP Olomouc) Explicitní aplikace a vyhodnocování Přednáška 6 29 / 33
30 Příklad (Vytváření obecných množinových operací) (define set-operation (lambda (prop) (lambda (set-a set-b) (filter (lambda (x) (prop x set-a set-b)) (list->set (append set-a set-b)))))) (define union (set-operation (lambda (x A B) (or (in? x A) (in? x B))))) (define intersection (set-operation (lambda (x A B) (and (in? x A) (in? x B))))) (define set-minus (set-operation (lambda (x A B) (and (in? x A) (not (in? x B)))))) V. Vychodil (KI, UP Olomouc) Explicitní aplikace a vyhodnocování Přednáška 6 30 / 33
31 Příklad (Konstruktory pro relace) (define make-tuple cons) (define cartesian-square (lambda (set) (apply append (map (lambda (x) (map (lambda (y) (make-tuple x y)) set)) set)))) (define make-relation (lambda (prop? universe) (filter (lambda (x) (prop? (car x) (cdr x))) (cartesian-square universe)))) V. Vychodil (KI, UP Olomouc) Explicitní aplikace a vyhodnocování Přednáška 6 31 / 33
32 Příklad (Vytváření seznamů reprezentující binární relace) (define u '( )) (make-relation (lambda (x y) #f) u) = () (make-relation (lambda (x y) (= x y)) u) = ((0. 0) (1. 1) (2. 2) (3. 3) (4. 4) (5. 5)) (make-relation (lambda (x y) (= (+ x 1) y)) u) = ((0. 1) (1. 2) (2. 3) (3. 4) (4. 5)) (make-relation (lambda (x y) (= (modulo (+ x 1) (length u)) y)) u) = ((0. 1) (1. 2) (2. 3) (3. 4) (4. 5) (5. 0)) (make-relation (lambda (x y) (< x y)) u) = ((0. 1) (0. 2) (0. 3) (0. 4) (0. 5) (1. 2) (1. 3) (1. 4) (1. 5) (2. 3) (2. 4) (2. 5) (3. 4) (3. 5) (4. 5)) V. Vychodil (KI, UP Olomouc) Explicitní aplikace a vyhodnocování Přednáška 6 32 / 33
33 Příklad (Reprezentace relací: další problémy) Operace s relacemi: množinové operace (relace jsou množiny) již máme compose-relations kompozice (skládání) relací invert-relation inverze relace Vlastnosti binárních relací na množině: reflexive? test reflexivity relace symmetric? test symetrie relace transitive? test tranzitivity relace. Skripta (sekce 6.5, strany ) V. Vychodil (KI, UP Olomouc) Explicitní aplikace a vyhodnocování Přednáška 6 33 / 33
PARADIGMATA PROGRAMOVÁNÍ 2 PŘÍSLIBY A LÍNÉ VYHODNOCOVÁNÍ
KATEDRA INFORMATIKY, PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITA PALACKÉHO, OLOMOUC PARADIGMATA PROGRAMOVÁNÍ 2 PŘÍSLIBY A LÍNÉ VYHODNOCOVÁNÍ Slajdy vytvořili Vilém Vychodil a Jan Konečný (KI, UP Olomouc) PP 2, Lekce
Paradigmata programování 1
Paradigmata programování 1 Vytváření abstrakcí pomocí procedur Vilém Vychodil Katedra informatiky, PřF, UP Olomouc Přednáška 2 V. Vychodil (KI, UP Olomouc) Vytváření abstrakcí pomocí procedur Přednáška
PARADIGMATA PROGRAMOVÁNÍ 2A INTERPRET S VEDLEJŠÍMI EFEKTY A MAKRY
KATEDRA INFORMATIKY, PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITA PALACKÉHO, OLOMOUC PARADIGMATA PROGRAMOVÁNÍ 2A INTERPRET S VEDLEJŠÍMI EFEKTY A MAKRY VÝVOJ TOHOTO UČEBNÍHO MATERIÁLU JE SPOLUFINANCOVÁN EVROPSKÝM
Paradigmata programování 1
Paradigmata programování 1 Kvazikvotování a manipulace se symbolickými výrazy Vilém Vychodil Katedra informatiky, PřF, UP Olomouc Přednáška 11 V. Vychodil (KI, UP Olomouc) Kvazikvotování, manipulace se
Paradigmata programování 1
Paradigmata programování 1 Tečkové páry, symbolická data a kvotování Vilém Vychodil Katedra informatiky, PřF, UP Olomouc Přednáška 4 V. Vychodil (KI, UP Olomouc) Tečkové páry, symbolická data a kvotování
1. Od Scheme k Lispu
KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI www.inf.upol.cz Michal Krupka krupka.inf.upol.cz michal.krupka@upol.cz 7. listopadu, 77 46 Olomouc Paradigmata programování poznámky k přednášce. Od
Paradigmata programování 2
Paradigmata programování 2 6. cvičení Radek Janoštík Univerzita Palackého v Olomouci 18.3.2019 Radek Janoštík (Univerzita Palackého v Olomouci) Paradigmata programování 2 18.3.2019 1 / 11 Vedlejší efekt
Paradigmata programování II Přednáška 1: Vedlejší efekt
Paradigmata programování II Přednáška 1: Vedlejší efekt Vilém Vychodil Katedra informatiky, Univerzita Palackého v Olomouci 15. února 2007 Vilém Vychodil (UP Olomouc) PP II, Př. 1: Vedlejší efekt 15. února
Paradigmata programování II Přednáška 2: Mutace
Paradigmata programování II Přednáška 2: Mutace Vilém Vychodil Katedra informatiky, Univerzita Palackého v Olomouci 22. února 2007 Vilém Vychodil (UP Olomouc) PP II, Př. 2: Mutace 22. února 2007 1 / 85
Přednáška 3. Rekurze 1
Paradigmata programování 1 Přednáška 3. Rekurze 1 Michal Krupka KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI Obsah 1 Příklady 2 Rekurzivní procedury a rekurzivní výpočetní proces 3 Další příklady
PARADIGMATA PROGRAMOVÁNÍ 2A VEDLEJŠÍ EFEKT
KATEDRA INFORMATIKY, P RÍRODOV EDECKÁ FAKULTA UNIVERZITA PALACKÉHO, OLOMOUC PARADIGMATA PROGRAMOVÁNÍ 2A VEDLEJŠÍ EFEKT Slajdy vytvoril Vilém Vychodil Jan Konecný (KI, UP Olomouc) PP 2A, Lekce 1 Vedlejší
Jazyk Scheme: jeho syntax a sémantika
Jazyk Scheme: jeho syntax a sémantika Vilém Vychodil, vilemvychodil@upolcz Syntaxe Scheme program v jazyku Scheme = konečná posloupnost symbolických výrazů symbolický výraz(s-výraz/ symbolic expression/
Paradigmata programování II Přednáška 6: Líné vyhodnocování, proudy a kešované vyhodnocování
Paradigmata programování II Přednáška 6: Líné vyhodnocování, proudy a kešované vyhodnocování Vilém Vychodil Katedra informatiky, Univerzita Palackého v Olomouci 22. března 2007 Vilém Vychodil (UP Olomouc)
(pracovní verze textu určená pro studenty)
KATEDRA INFORMATIKY PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITA PALACKÉHO CVIČENÍ Z PARADIGMAT PROGRAMOVÁNÍ I Lekce 7: Akumulace Učební materiál k přednášce 16. listopadu 2006 (pracovní verze textu určená pro studenty)
FUNKCIONÁLNÍ A LOGICKÉ PROGRAMOVÁNÍ 3. CVIČENÍ
FUNKCIONÁLNÍ A LOGICKÉ PROGRAMOVÁNÍ 3. CVIČENÍ 2011 Jan Janoušek MI-FLP Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Page 1 of 6 Cviceni 3 Obsah seznamy, cons-buňka, car, cdr, first,
Paradigmata programování II Korutiny a nedeterminismus
Paradigmata programování II Korutiny a nedeterminismus Vilém Vychodil Katedra informatiky, Univerzita Palackého v Olomouci 27. dubna 2006 Vilém Vychodil (UP Olomouc) PP II, Př. 9: Korutiny, nedeterminismus
PARADIGMATA PROGRAMOVÁNÍ 2 KORUTINY, NEDETERMINISMUS
KATEDRA INFORMATIKY, P ÍRODOV DECKÁ FAKULTA UNIVERZITA PALACKÉHO, OLOMOUC PARADIGMATA PROGRAMOVÁNÍ 2 KORUTINY, NEDETERMINISMUS Slajdy vytvo ili Vilém Vychodil a Jan Kone ný (KI, UP Olomouc) PP 2, Lekce
PARADIGMATA PROGRAMOVÁNÍ 2A MAKRA I
KATEDRA INFORMATIKY, P ÍRODOV DECKÁ FAKULTA UNIVERZITA PALACKÉHO, OLOMOUC PARADIGMATA PROGRAMOVÁNÍ 2A MAKRA I Slajdy vytvo ili Vilém Vychodil a Jan Kone ný (KI, UP Olomouc) PP 2A, Lekce 3 Makra I 1 / 35
PARADIGMATA PROGRAMOVÁNÍ 2A MAKRA III
KATEDRA INFORMATIKY, P ÍRODOV DECKÁ FAKULTA UNIVERZITA PALACKÉHO, OLOMOUC PARADIGMATA PROGRAMOVÁNÍ 2A MAKRA III Slajdy vytvo ili Vilém Vychodil a Jan Kone ný (KI, UP Olomouc) PP 2A, Lekce 5 Makra III 1
Stream API. Petr Krajča. Základy programovaní 4 (Java) Katedra informatiky Univerzita Palackého v Olomouci
Základy programovaní 4 (Java) Stream API Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci Petr Krajča (UP) KMI/ZP4JV 5. listopad, 2014 1 / 10 Stream API Java 8 nový přístup k práci s kolekcemi
PARADIGMATA PROGRAMOVÁNÍ 2A MUTACE
KATEDRA INFORMATIKY, P ÍRODOV DECKÁ FAKULTA UNIVERZITA PALACKÉHO, OLOMOUC PARADIGMATA PROGRAMOVÁNÍ 2A MUTACE Slajdy vytvo ili Vilém Vychodil a Jan Kone ný Jan Kone ný (KI, UP Olomouc) PP 2A, Lekce 2 Mutace
Matematika 1 MA1. 2 Determinant. 3 Adjungovaná matice. 4 Cramerovo pravidlo. 11. přednáška ( ) Matematika 1 1 / 29
Matematika 1 11. přednáška MA1 1 Opakování 2 Determinant 3 Adjungovaná matice 4 Cramerovo pravidlo 5 Vlastní čísla a vlastní vektory matic 6 Zkouška; konzultace; výběrová matematika;... 11. přednáška (15.12.2010
prof. RNDr. Čestmír Burdík DrCs. prof. Ing. Edita Pelantová CSc. BI-ZMA ZS 2009/2010
Základní pojmy prof. RNDr. Čestmír Burdík DrCs. prof. Ing. Edita Pelantová CSc. Katedra matematiky České vysoké učení technické v Praze c Čestmír Burdík, Edita Pelantová 2009 Základy matematické analýzy
FUNKCIONÁLNÍ A LOGICKÉ PROGRAMOVÁNÍ 5. CVIČENÍ
FUNKCIONÁLNÍ A LOGICKÉ PROGRAMOVÁNÍ 5. CVIČENÍ 2011 Jan Janoušek MI-FLP Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Page 1 of 5 Lekce 5 Obsah sekvence, sequencep, subseq, reverse,
Základní pojmy teorie množin Vektorové prostory
Základní pojmy teorie množin Přednáška MATEMATIKA č. 1 Katedra ekonometrie FEM UO Brno kancelář 69a, tel. 973 442029 email:jiri.neubauer@unob.cz 7. 10. 2010 Základní pojmy teorie množin Základní pojmy
PARADIGMATA PROGRAMOVÁNÍ 2 AKTUÁLNÍ POKRAƒOVÁNÍ
KATEDRA INFORMATIKY, P ÍRODOV DECKÁ FAKULTA UNIVERZITA PALACKÉHO, OLOMOUC PARADIGMATA PROGRAMOVÁNÍ 2 AKTUÁLNÍ POKRAƒOVÁNÍ Slajdy vytvo ili Vilém Vychodil a Jan Kone ný (KI, UP Olomouc) PP 2, Lekce 8 Aktuální
Funkcionální programování úvod
Funkcionální programování úvod Imperativní jazyky založeny na von Neumann architektuře primárním kriteriem je efektivita Modelem je Turingův stroj Základní konstrukcí je příkaz Příkazy mění stavový prostor
Definice uživatelského typu. Uživatelem definované typy. Součinové datové typy. Součtové datové typy. FLP - Uživatelem definované typy
Uživatelem definované typy Ing. Lumír Návrat katedra informatiky, A 1018 59 732 3252 Definice uživatelského typu data Color = Red Green Blue Color typový konstruktor Red / Green / Blue datové konstruktory
1 Báze a dimenze vektorového prostoru 1
1 Báze a dimenze vektorového prostoru 1 Báze a dimenze vektorového prostoru 1 2 Aritmetické vektorové prostory 7 3 Eukleidovské vektorové prostory 9 Levá vnější operace Definice 5.1 Necht A B. Levou vnější
6. blok část C Množinové operátory
6. blok část C Množinové operátory Studijní cíl Tento blok je věnován problematice množinových operátorů a práce s množinovými operátory v jazyce SQL. Čtenáři se seznámí s operátory, UNION, a INTERSECT.
INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.
INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.0141 Relace, zobrazení, algebraické struktury Michal Botur Přednáška
LISP Definice funkcí
LISP Definice funkcí (DEFUN jméno-fce (argumenty) tělo-fce ) Přiřadí jménu-fce lambda výraz definovaný tělem-fce, tj. (LAMBDA (argumenty) tělo-fce). Vytvoří funkční vazbu symbolu jméno-fce Struktura symbolu:
Jazyk C# (seminář 5)
Jazyk C# (seminář 5) Pavel Procházka KMI 23. října 2014 Přetěžování metod motivace Představme si, že máme metodu, která uvnitř dělá prakticky to samé, ale liší se pouze parametry V C# můžeme více metod
Úvod do informatiky. Miroslav Kolařík. Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008.
Úvod do informatiky přednáška čtvrtá Miroslav Kolařík Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008. Obsah 1 Pojem relace 2 Vztahy a operace s (binárními) relacemi
Fuzzy množiny, Fuzzy inference system. Libor Žák
Fuzzy množiny, Fuzzy inference system Proč právě fuzzy množiny V řadě případů jsou parametry, které vstupují a ovlivňují vlastnosti procesu, popsané pomocí přibližných nebo zjednodušených pojmů. Tedy
Matematická morfologie
/ 35 Matematická morfologie Karel Horák Rozvrh přednášky:. Úvod. 2. Dilatace. 3. Eroze. 4. Uzavření. 5. Otevření. 6. Skelet. 7. Tref či miň. 8. Ztenčování. 9. Zesilování..Golayova abeceda. 2 / 35 Matematická
Prolog PROgramming in LOGic část predikátové logiky prvního řádu rozvoj začíná po roce 1970 Robert Kowalski teoretické základy Alain Colmerauer, David
Úvod do Prologu Prolog PROgramming in LOGic část predikátové logiky prvního řádu rozvoj začíná po roce 1970 Robert Kowalski teoretické základy Alain Colmerauer, David Warren (Warren Abstract Machine) implementace
Omezenost funkce. Definice. (shora, zdola) omezená na množině M D(f ) tuto vlastnost. nazývá se (shora, zdola) omezená tuto vlastnost má množina
Přednáška č. 5 Vlastnosti funkcí Jiří Fišer 22. října 2007 Jiří Fišer (KMA, PřF UP Olomouc) KMA MMAN1 Přednáška č. 4 22. října 2007 1 / 1 Omezenost funkce Definice Funkce f se nazývá (shora, zdola) omezená
Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.
Grafy 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) Grafy 104 / 309 Osnova přednášky Grafy
Paradigmata programování 1
Paradigmata programování 1 Program, jeho syntax a sémantika Vilém Vychodil Katedra informatiky, PřF, UP Olomouc Přednáška 1 V. Vychodil (KI, UP Olomouc) Program, jeho syntax a sémantika Přednáška 1 1 /
Booleovská algebra. Booleovské binární a unární funkce. Základní zákony.
Booleovská algebra. Booleovské binární a unární funkce. Základní zákony. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK. Tomáš Bayer bayertom@natur.cuni.cz
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é
Lokální definice (1) plocha-kruhu
Lokální definice (1) syntaxe: (local (seznam definic) výraz) definice jsou dostupné pouze uvnitř příkazu local příklad: (local ( (define Pi 3.1415926) (define (plocha-kruhu r) (* Pi r r)) ) (plocha-kruhu
Matematická logika. Miroslav Kolařík
Matematická logika přednáška šestá Miroslav Kolařík Zpracováno dle textu R. Bělohlávka: Matematická logika poznámky k přednáškám, 2004. a dle učebního textu R. Bělohlávka a V. Vychodila: Diskrétní matematika
Databáze I. Přednáška 6
Databáze I Přednáška 6 SQL aritmetika v dotazech SQL lze přímo uvádět aritmetické výrazy násobení, dělení, sčítání, odčítání příklad z minulé přednášky: zdvojnásobení platu všem zaměstnancům UPDATE ZAMESTNANEC
IB015 Neimperativní programování. Seznamy, Typy a Rekurze. Jiří Barnat Libor Škarvada
IB015 Neimperativní programování Seznamy, Typy a Rekurze Jiří Barnat Libor Škarvada Sekce IB015 Neimperativní programování 02 str. 2/36 Uspořádané n-tice a seznamy Programování a data IB015 Neimperativní
Teorie množin. Čekají nás základní množinové operace kartézské součiny, relace zobrazení, operace. Teoretické základy informatiky.
Teorie množin V matematice je všechno množina I čísla jsou definována pomocí množin Informatika stojí na matematice Znalosti Teorie množin využijeme v databázových systémech v informačních systémech při
Programovací jazyk Haskell
Programovací jazyk Haskell Ing. Lumír Návrat katedra informatiky, D 403 59 732 3252 Historie září 1991 Gofer experimentální jazyk Mark P. Jones únor 1995 Hugs Hugs98 téměř úplná implementace jazyka Haskell
Zadání semestrálního projektu Algoritmy II. letní semestr 2017/2018
Zadání semestrálního projektu Algoritmy II. letní semestr 2017/2018 doc. Mgr. Jiří Dvorský, Ph.D. Verze zadání 6. dubna 2018 První verze Obecné pokyny 1. Celkem jsou k dispozici tři zadání příkladů. 2.
DEFINICE Z LINEÁRNÍ ALGEBRY
DEFINICE Z LINEÁRNÍ ALGEBRY Skripta Matematické metody pro statistiku a operační výzkum (Nešetřilová, H., Šařecová, P., 2009). 1. definice Vektorovým prostorem rozumíme neprázdnou množinu prvků V, na které
Programovací í jazyk Haskell
Historie Programovací í jazyk Haskell doc. Dr. Ing. Miroslav Beneš katedra informatiky, A-1007 59 732 4213 září 1991 Gofer experimentální jazyk Mark P. Jones únor 1995 Hugs Hugs98 téměř úplná implementace
DSA, První krok: máme dokázat, že pro left = right vrátí volání f(array, elem, left, right)
Indukcí dokažte následující výrok: pokud lef t a right jsou parametry funkce f a platí left right, pak volání f(array, left, right) vrátí minimální hodnotu z hodnot všech prvků v poli array na indexech
Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace
Vektory a matice Aplikovaná matematika I Dana Říhová Mendelu Brno Obsah 1 Vektory Základní pojmy a operace Lineární závislost a nezávislost vektorů 2 Matice Základní pojmy, druhy matic Operace s maticemi
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ýrazy a operátory. Operátory Unární - unární a unární + Např.: a +b
Výrazy a operátory i = 2 i = 2; to je výraz to je příkaz 4. Operátory Unární - unární a unární + Např.: +5-5 -8.345 -a +b - unární ++ - inkrement - zvýší hodnotu proměnné o 1 - unární -- - dekrement -
Paradigmata programování 1
Paradigmata programování 1 Akumulace Vilém Vychodil Katedra informatiky, PřF, UP Olomouc Přednáška 7 V. Vychodil (KI, UP Olomouc) Akumulace Přednáška 7 1 / 33 Přednáška 7: Přehled 1 Akumulace pomocí foldr
Základní datové struktury III: Stromy, haldy
Základní datové struktury III: Stromy, haldy 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í
IB015 Neimperativní programování. Časová složitost, Typové třídy, Moduly. Jiří Barnat Libor Škarvada
IB015 Neimperativní programování Časová složitost, Typové třídy, Moduly Jiří Barnat Libor Škarvada Sekce IB015 Neimperativní programování 07 str. 2/37 Časová složitost Časová složitost algoritmu IB015
Ú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
5 Orientované grafy, Toky v sítích
Petr Hliněný, FI MU Brno, 205 / 9 FI: IB000: Toky v sítích 5 Orientované grafy, Toky v sítích Nyní se budeme zabývat typem sít ových úloh, ve kterých není podstatná délka hran a spojení, nýbž jejich propustnost
3 Množiny, Relace a Funkce
3 Množiny, Relace a Funkce V přehledu matematických formalismů informatiky se v této lekci zaměříme na základní datové typy matematiky, tj. na množiny, relace a funkce. O množinách jste sice zajisté slyšeli
Množiny, relace, zobrazení
Množiny, relace, zobrazení Množiny Množinou rozumíme každý soubor určitých objektů shrnutých v jeden celek. Zmíněné objekty pak nazýváme prvky dané množiny. Pojem množina je tedy synonymem pojmů typu soubor,
Matematická analýza 1
Matematická analýza 1 ZS 2019-20 Miroslav Zelený 1. Logika, množiny a základní číselné obory 2. Limita posloupnosti 3. Limita a spojitost funkce 4. Elementární funkce 5. Derivace 6. Taylorův polynom Návod
Kapitola 1. Relace. podle definice podmnožinou každé množiny. 1 Neříkáme už ale, co to je objekt. V tom právě spočívá intuitivnost našeho přístupu.
Kapitola 1 Relace Úvodní kapitola je věnována důležitému pojmu relace. Protože relace popisují vztahy mezi prvky množin a navíc jsou samy množinami, bude vhodné množiny nejprve krátce připomenout. 1.1
Množinu všech matic typu m n nad tělesem T budeme označovat M m n (T ), množinu všech čtvercových matic stupně n nad T pak M n (T ).
Matice Definice 4.1 Necht (T ; +, je číselné těleso, m, n N a dále necht a ij T pro všechny indexy i = 1, 2,..., m a j = 1, 2,..., n. Potom schéma a 11 a 12... a 1n a 21 a 22... a 2n... = (a ij m n a m1
Bakalářská matematika I
1. Funkce Diferenciální počet Mgr. Jaroslav Drobek, Ph. D. Katedra matematiky a deskriptivní geometrie Bakalářská matematika I Některé užitečné pojmy Kartézský součin podrobnosti Definice 1.1 Nechť A,
Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy
Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy Lukáš Havrlant Univerzita Palackého 10. ledna 2014 Primární zdroj Jiří Adámek: Foundations of Coding. Strany 137 160. Na webu ke stažení, heslo:
Kartografické modelování. II Mapová algebra obecné základy a lokální funkce
II Mapová algebra obecné základy a lokální funkce jaro 2017 Petr Kubíček kubicek@geogr.muni.cz Laboratory on Geoinformatics and Cartography (LGC) Institute of Geography Masaryk University Czech Republic
PRG036 Technologie XML
PRG036 Technologie XML Přednáší: Irena Mlýnková (mlynkova@ksi.mff.cuni.cz) Martin Nečaský (necasky@ksi.mff.cuni.cz) LS 2010 Stránka přednášky: http://www.ksi.mff.cuni.cz/~mlynkova/prg036/ 1 Osnova předmětu
Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem
Test prvočíselnosti Úkol: otestovat dané číslo N, zda je prvočíslem 1. zkusit všechny dělitele od 2 do N-1 časová složitost O(N) cca N testů 2. stačí zkoušet všechny dělitele od 2 do N/2 (větší dělitel
INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.
INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.0141 Báze vektorových prostorů, transformace souřadnic Michal Botur Přednáška
Unární je také spojka negace. pro je operace binární - příkladem může být funkce se signaturou. Binární je velká většina logických spojek
Otázka 06 - Y01MLO Zadání Predikátová logika, formule predikátové logiky, sentence, interpretace jazyka predikátové logiky, splnitelné sentence, tautologie, kontradikce, tautologicky ekvivalentní formule.
Úvod do informatiky. Miroslav Kolařík
Úvod do informatiky přednáška pátá Miroslav Kolařík Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008 a dle učebního textu R. Bělohlávka a V. Vychodila: Diskrétní
Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false
Logické operace Datový typ bool může nabýt hodnot: o true o false Relační operátory pravda, 1, nepravda, 0, hodnoty všech primitivních datových typů (int, double ) jsou uspořádané lze je porovnávat binární
Ú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
3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda
1. Lze vždy z tzv. instanční třídy vytvořit objekt? 2. Co je nejčastější příčinou vzniku chyb? A. Specifikace B. Testování C. Návrh D. Analýza E. Kódování 3. Je defenzivní programování technikou skrývání
Zavedení a vlastnosti reálných čísel
Zavedení a vlastnosti reálných čísel jsou základním kamenem matematické analýzy. Konstrukce reálných čísel sice není náplní matematické analýzy, ale množina reálných čísel R je pro matematickou analýzu
Modely vyhledávání informací 4 podle technologie. 1) Booleovský model. George Boole 1815 1864. Aplikace booleovské logiky
Modely vyhledávání informací 4 podle technologie 1) Booleovský model 1) booleovský 2) vektorový 3) strukturní 4) pravděpodobnostní a další 1 dokumenty a dotazy jsou reprezentovány množinou indexových termů
Úvod do logiky (presentace 2) Naivní teorie množin, relace a funkce
Úvod do logiky (presentace 2) Naivní teorie množin, relace a funkce Marie Duží marie.duzi@vsb.cz 1 Úvod do teoretické informatiky (logika) Naivní teorie množin Co je to množina? Množina je soubor prvků
Matematika I (KMI/PMATE)
Přednáška první aneb Úvod do matematické analýzy Funkce a její vlastnosti Úvod do matematické analýzy Osnova přednášky pojem funkce definice funkce graf funkce definiční obor funkce obor hodnot funkce
Modulární aritmetika, Malá Fermatova věta.
Modulární aritmetika, Malá Fermatova věta. Matematické algoritmy (11MAG) Jan Přikryl Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní 4. přednáška 11MAG pondělí 10. listopadu 2014 verze: 2014-11-03
Pojem relace patří mezi pojmy, které prostupují všemi částmi matematiky.
Relace. Pojem relace patří mezi pojmy, které prostupují všemi částmi matematiky. Definice. Mějme množiny A a B. Binární relace R z množiny A do množiny B je každá množina uspořádaných dvojic (a, b), kde
0. ÚVOD - matematické symboly, značení,
0. ÚVOD - matematické symboly, značení, číselné množiny Výroky Výrok je každé sdělení, u kterého lze jednoznačně rozhodnout, zda je či není pravdivé. Každému výroku lze proto přiřadit jedinou pravdivostní
MĚŘENÍ A ANALÝZA ELEKTROAKUSTICKÝCH SOUSTAV NA MODELECH. Petr Kopecký ČVUT, Fakulta elektrotechnická, Katedra Radioelektroniky
MĚŘENÍ A ANALÝZA ELEKTROAKUSTICKÝCH SOUSTAV NA MODELECH Petr Kopecký ČVUT, Fakulta elektrotechnická, Katedra Radioelektroniky Při návrhu elektroakustických soustav, ale i jiných systémů, je vhodné nejprve
Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz. Algebra Struktury s jednou operací
Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz Algebra Struktury s jednou operací Teoretická informatika 2 Proč zavádíme algebru hledáme nástroj pro popis objektů reálného světa (zejména
Matematika (KMI/PMATE)
Úvod do matematické analýzy Funkce a její vlastnosti Funkce a její vlastnosti Veličina Veličina - pojem, který popisuje kvantitativní (číselné) vlastnosti reálných i abstraktních objektů. Funkce a její
Pojem binární relace patří mezi nejzákladnější matematické pojmy. Binární relace
RELACE Pojem binární relace patří mezi nejzákladnější matematické pojmy. Binární relace slouží k vyjádření vztahů mezi prvky nějakých množin. Vztahy mohou být různé povahy. Patří sem vztah býti potomkem,
UDL 2004/2005 Cvičení č.6 řešení Strana 1/5
UDL 2004/2005 Cvičení č.6 řešení Strana 1/5 Opakování pojmů relace a funkce Relace R nad množinami A, B je podmnožina kartézského součinu: R A B Kartézský součin množin A = {a 1, a 2,, a 4 }, B = {b 1,
Matice. Předpokládejme, že A = (a ij ) je matice typu m n: diagonálou jsou rovny nule.
Matice Definice. Maticí typu m n nazýváme obdélníkové pole, tvořené z m n reálných čísel (tzv. prvků matice), zapsaných v m řádcích a n sloupcích. Značíme např. A = (a ij ), kde i = 1,..., m, j = 1,...,
Číselné vyjádření hodnoty. Kolik váží hrouda zlata?
Čísla a logika Číselné vyjádření hodnoty Au Kolik váží hrouda zlata? Dekadické vážení Když přidám osmé závaží g, váha se převáží => závaží zase odeberu a začnu přidávat závaží x menší 7 závaží g 2 závaží
Unity a Objekty (NMIN102) RNDr. Michal Žemlička, Ph.D.
Unity a Objekty Programování 2 (NMIN102) RNDr. Michal Žemlička, Ph.D. Větší programy Časté problémy: Ve více programech by se nám hodilo využít stejné řešení nějakého podproblému dalo by se vyřešit překopírováním
Lineární algebra Operace s vektory a maticemi
Lineární algebra Operace s vektory a maticemi Robert Mařík 26. září 2008 Obsah Operace s řádkovými vektory..................... 3 Operace se sloupcovými vektory................... 12 Matice..................................
Diskrétní matematika. DiM /01, zimní semestr 2017/2018
Diskrétní matematika Petr Kovář petr.kovar@vsb.cz Vysoká škola báňská Technická univerzita Ostrava DiM 470-2301/01, zimní semestr 2017/2018 O tomto souboru Tento soubor je zamýšlen především jako pomůcka
Základní datové struktury
Základní datové struktury Martin Trnečka Katedra informatiky, Přírodovědecká fakulta Univerzita Palackého v Olomouci 4. listopadu 2013 Martin Trnečka (UPOL) Algoritmická matematika 1 4. listopadu 2013
NPRG030 Programování I, 2018/19 1 / :25:37
NPRG030 Programování I, 2018/19 1 / 26 24. 9. 2018 10:25:37 Čísla v algoritmech a programech 10 26 Poloměr vesmíru 2651 studujících studentů MFF UK 3.142857... Ludolfovo číslo 10 16 stáří vesmíru v sekundách!!!
Úvod do informatiky. Miroslav Kolařík
Úvod do informatiky přednáška šestá Miroslav Kolařík Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008 a dle učebního textu R. Bělohlávka a V. Vychodila: Diskrétní
Programování v Pythonu
ƒeské vysoké u ení technické v Praze FIT Programování v Pythonu Ji í Znamená ek P íprava studijního programu Informatika je podporována projektem nancovaným z Evropského sociálního fondu a rozpo tu hlavního
RELACE, OPERACE. Relace
RELACE, OPERACE Relace Užití: 1. K popisu (evidenci) nějaké množiny objektů či jevů, které lze charakterizovat pomocí jejich vlastnostmi. Entita je popsána pomocí atributů. Ty se vybírají z domén. Různé
Stromy, haldy, prioritní fronty
Stromy, haldy, prioritní fronty prof. Ing. Pavel Tvrdík CSc. Katedra počítačů FEL České vysoké učení technické DSA, ZS 2008/9, Přednáška 6 http://service.felk.cvut.cz/courses/x36dsa/ prof. Pavel Tvrdík
Stručný návod k programu Octave
Stručný návod k programu Octave Octave je interaktivní program vhodný pro technické výpočty. Je nápadně podobný programu MATLAB, na rozdíl od něho je zcela zadarmo. Jeho domovská vebová stránka je http://www.octave.org/,