Přednáška 3. Rekurze 1
|
|
- Miluše Králová
- před 6 lety
- Počet zobrazení:
Transkript
1 Paradigmata programování 1 Přednáška 3. Rekurze 1 Michal Krupka KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI
2 Obsah 1 Příklady 2 Rekurzivní procedury a rekurzivní výpočetní proces 3 Další příklady M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
3 Příklad: procentuální podíl M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
4 Příklad: procentuální podíl (define (percentage-1 part whole) (* (/ part whole) 100)) M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
5 Příklad: procentuální podíl (define (percentage-1 part whole) (* (/ part whole) 100)) (define the-whole ) M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
6 Příklad: procentuální podíl (define (percentage-1 part whole) (* (/ part whole) 100)) (define the-whole ) (define (percentage-2 part whole) (let ((whole (if (eq? whole #true) the-whole whole))) (* (/ part whole) 100))) M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
7 Příklad: procentuální podíl (define (percentage-1 part whole) (* (/ part whole) 100)) (define the-whole ) (define (percentage-2 part whole) (let ((whole (if (eq? whole #true) the-whole whole))) (* (/ part whole) 100))) (define (percentage-3 part whole) (percentage-1 part (if (eq? whole #true) the-whole whole))) M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
8 Příklad: procentuální podíl (define (percentage-4 part whole) M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
9 Příklad: procentuální podíl (define (percentage-4 part whole) (if (eq? whole #true) ;je-li whole rovno #true M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
10 Příklad: procentuální podíl (define (percentage-4 part whole) (if (eq? whole #true) (percentage-4 part the-whole) ;je-li whole rovno #true ;aplikujeme znovu percentage-4 M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
11 Příklad: procentuální podíl (define (percentage-4 part whole) (if (eq? whole #true) ;je-li whole rovno #true (percentage-4 part the-whole) ;aplikujeme znovu percentage-4 (* (/ part whole) 100))) ;jinak výpočet M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
12 Příklad: procentuální podíl (define (percentage-4 part whole) (if (eq? whole #true) (percentage-4 part the-whole) (* (/ part whole) 100))) rekurzivní aplikace M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
13 Bude to fungovat? M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
14 Bude to fungovat? Prostředí během aplikace (percentage #true): M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
15 Bude to fungovat? Prostředí během aplikace (percentage #true): Počáteční (globální) prostředí M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
16 Bude to fungovat? Prostředí během aplikace (percentage #true): Počáteční (globální) prostředí Prostředí procedury percentage-4 (první aplikace) symbol hodnota part whole #true M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
17 Bude to fungovat? Prostředí během aplikace (percentage #true): Počáteční (globální) prostředí Prostředí procedury percentage-4 (první aplikace) symbol hodnota part whole #true Prostředí procedury percentage-4 (druhá aplikace) symbol hodnota part whole M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
18 Příklad: prohledávání intervalu M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
19 Příklad: prohledávání intervalu (define (square-1? n) (if (integer? (sqrt n)) #true #false)) M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
20 Příklad: prohledávání intervalu (define (square-1? n) (if (integer? (sqrt n)) #true #false)) (define (square-2? n) (integer? (sqrt n))) M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
21 Příklad: prohledávání intervalu (define (square-1? n) (if (integer? (sqrt n)) #true #false)) (define (square-2? n) (integer? (sqrt n))) Přesnost? M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
22 Příklad: prohledávání intervalu (define (square-1? n) (if (integer? (sqrt n)) #true #false)) (define (square-2? n) (integer? (sqrt n))) Přesnost? (define (square-3? n) (= (sqr (round (sqrt n))) n)) M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
23 Příklad: prohledávání intervalu M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
24 Příklad: prohledávání intervalu (define (contains-square-1? a b) M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
25 Příklad: prohledávání intervalu (define (contains-square-1? a b) (if (> a b) ;když je interval prázdný M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
26 Příklad: prohledávání intervalu (define (contains-square-1? a b) (if (> a b) #false ;když je interval prázdný ;čtverec neobsahuje M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
27 Příklad: prohledávání intervalu (define (contains-square-1? a b) (if (> a b) #false (if (square-2? a) ;když je interval prázdný ;čtverec neobsahuje ;je-li dolní konec čtverec M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
28 Příklad: prohledávání intervalu (define (contains-square-1? a b) (if (> a b) #false (if (square-2? a) #true ;když je interval prázdný ;čtverec neobsahuje ;je-li dolní konec čtverec ;interval čtverec obsahuje M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
29 Příklad: prohledávání intervalu (define (contains-square-1? a b) (if (> a b) #false (if (square-2? a) #true (contains-square-1? (+ a 1) b)))) ;když je interval prázdný ;čtverec neobsahuje ;je-li dolní konec čtverec ;interval čtverec obsahuje ;jinak zkoumáme ;interval [a + 1, b] M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
30 Příklad: prohledávání intervalu (define (contains-square-1? a b) (if (> a b) #false (if (square-2? a) #true (contains-square-1? (+ a 1) b)))) ;když je interval prázdný ;čtverec neobsahuje ;je-li dolní konec čtverec ;interval čtverec obsahuje ;jinak zkoumáme ;interval [a + 1, b] rekurzivní aplikace M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
31 Příklad: prohledávání intervalu M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
32 Příklad: prohledávání intervalu (define (contains-square-2? a b) (cond ((> a b) #false) ((square? a) #true) (#true (contains-square-2? (+ a 1) b)))) M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
33 Odbočka: speciální operátor cond větev (cond { ( (> a b) }}{}{{} #false }{{} ) podmínka větve tělo větve ((square? a) #true) (#true (contains-square-2? (+ a 1) b))) } další větve M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
34 Odbočka: speciální operátor cond větev (cond { ( (> a b) }}{}{{} #false }{{} ) podmínka větve tělo větve ((square? a) #true) (#true (contains-square-2? (+ a 1) b))) } další větve 1 Postupně se vyhodnocují podmínky větví. 2 Jakmile je nějaká splněna, vyhodnotí se tělo příslušné větve. 3 Další podmínky se nevyhodnocují. 4 Vrátí se výsledek vyhodnoceného těla, pokud žádná podmínka nebyla splněna, dojde k chybě. M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
35 Prohledávání intervalu (define (contains-square-3? a b) (and (<= a b) (or (square? a) (contains-square-3? (+ a 1) b)))) M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
36 Odbočka: speciální operátory and a or, procedura not Operátor and (and e1 e2... en) Vrací #true, pokud se všechny ei vyhodnotí na #true, jinak vrací #false. Používá zkrácené vyhodnocování. Operátor or (or e1 e2... en) Vrací #true, pokud se některé ei vyhodnotí na #true, jinak #false. Používá zkrácené vyhodnocování. Procedura not Procedura not počítá logickou negaci. M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
37 Pevný bod funkce cos M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
38 Pevný bod funkce cos Hledáme přibližnou hodnotu čísla x takového, že cos x = x. M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
39 Pevný bod funkce cos Hledáme přibližnou hodnotu čísla x takového, že cos x = x. (define (approx-= a b prec) (<= (abs (- a b)) prec)) M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
40 Pevný bod funkce cos Hledáme přibližnou hodnotu čísla x takového, že cos x = x. (define (approx-= a b prec) (<= (abs (- a b)) prec)) (define (cos-fixpoint-iter x prec) (let ((y (cos x))) (if (approx-= x y prec) y (cos-fixpoint-iter y prec)))) M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
41 Pevný bod funkce cos Hledáme přibližnou hodnotu čísla x takového, že cos x = x. (define (approx-= a b prec) (<= (abs (- a b)) prec)) (define (cos-fixpoint-iter x prec) (let ((y (cos x))) (if (approx-= x y prec) y (cos-fixpoint-iter y prec)))) (define (cos-fixpoint prec) (cos-fixpoint-iter 0 prec)) M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
42 Obsah 1 Příklady 2 Rekurzivní procedury a rekurzivní výpočetní proces 3 Další příklady M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
43 Rekurzivní procedury Definition (rekurzivní procedura) Procedura je rekurzivní, když ve svém těle obsahuje aplikaci sebe sama. je poznat ze zdrojového kódu procedury procedury percentage-4, contains-square-1?, contains-square-2?, contains-square-3?, cos-fixpoint-iter jsou rekurzivní M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
44 Rekurzivní výpočetní proces Definition (rekurzivní výpočetní proces) Výpočetní proces je rekurzivní, když během aplikace procedury dojde znovu k aplikaci téže procedury. M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
45 Rekurzivní výpočetní proces Definition (rekurzivní výpočetní proces) Výpočetní proces je rekurzivní, když během aplikace procedury dojde znovu k aplikaci téže procedury. je poznat, když program běží M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
46 Rekurzivní výpočetní proces Definition (rekurzivní výpočetní proces) Výpočetní proces je rekurzivní, když během aplikace procedury dojde znovu k aplikaci téže procedury. je poznat, když program běží některá aplikace procedury by k aplikaci téže procedury vést neměla (ukončovací podmínka) M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
47 Rekurzivní výpočetní proces Definition (rekurzivní výpočetní proces) Výpočetní proces je rekurzivní, když během aplikace procedury dojde znovu k aplikaci téže procedury. je poznat, když program běží některá aplikace procedury by k aplikaci téže procedury vést neměla (ukončovací podmínka) Speciální případ: Definition (iterativní výpočetní proces) Výpočetní proces je iterativní, když na konci aplikace procedury dojde opět k aplikaci téže procedury. M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
48 Rekurzivní výpočetní proces Definition (rekurzivní výpočetní proces) Výpočetní proces je rekurzivní, když během aplikace procedury dojde znovu k aplikaci téže procedury. je poznat, když program běží některá aplikace procedury by k aplikaci téže procedury vést neměla (ukončovací podmínka) Speciální případ: Definition (iterativní výpočetní proces) Výpočetní proces je iterativní, když na konci aplikace procedury dojde opět k aplikaci téže procedury. uvedené procedury generují iterativní výpočetní proces M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
49 Obsah 1 Příklady 2 Rekurzivní procedury a rekurzivní výpočetní proces 3 Další příklady M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
50 Obecná mocnina M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
51 Obecná mocnina (define (power2 a) (* a a)) M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
52 Obecná mocnina (define (power2 a) (* a a)) (define (power3 a) (* a (power2 a))) M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
53 Obecná mocnina (define (power2 a) (* a a)) (define (power3 a) (* a (power2 a))) (define (power4 a) (* a (power3 a))) M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
54 Obecná mocnina (define (power2 a) (* a a)) (define (power3 a) (* a (power2 a))) (define (power4 a) (* a (power3 a))) (define (power5 a) (* a (power4 a))) M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
55 Obecná mocnina (define (power2 a) (* a a)) (define (power3 a) (* a (power2 a))) (define (power4 a) (* a (power3 a))) (define (power5 a) (* a (power4 a))) (define (power a n) (if (= n 0) 1 (* a (power a (- n 1))))) M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
56 Faktoriál n! = { 1 když n = 0 n (n 1)! když n > 0 M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
57 Faktoriál n! = { 1 když n = 0 n (n 1)! když n > 0 Napsáno do procedury: (define (fact-1 n) (if (= n 0) 1 (* n (fact-1 (- n 1))))) M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
58 Faktoriál iterativní verze M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
59 Faktoriál iterativní verze (define (fact-2-iter n ir) (if (= n 0) ir (fact-2-iter (- n 1) (* ir n)))) M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
60 Faktoriál iterativní verze (define (fact-2-iter n ir) (if (= n 0) ir (fact-2-iter (- n 1) (* ir n)))) (define (fact-2 n) (fact-2-iter n 1)) M. Krupka (Univerzita Palackého v Olomouci) PAPR1: 3. Rekurze 1 Olomouc, 2. října / 18
Paradigmata programování 1 poznámky k přednášce. 3. Rekurze 1
KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI www.inf.upol.cz Michal Krupka krupka.inf.upol.cz michal.krupka@upol.cz 17. listopadu 12, 771 46 Olomouc Paradigmata programování 1 poznámky k přednášce
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
Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.
Vyhledávání doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 21. září 2018 Jiří Dvorský (VŠB TUO) Vyhledávání 242 / 433 Osnova přednášky
Paradigmata programování 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
NPRG030 Programování I, 2016/17 1 / :58:13
NPRG030 Programování I, 2016/17 1 / 31 10. 10. 2016 10:58:13 Podmínka = něco, co JE, nebo NENÍ splněno typ Boolean hodnoty: TRUE pravda FALSE lež domluva (optimistická): FALSE < TRUE NPRG030 Programování
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
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
Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.
Vyhledávání doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 12. září 2016 Jiří Dvorský (VŠB TUO) Vyhledávání 201 / 344 Osnova přednášky
NPRG030 Programování I, 2010/11
Podmínka = něco, co JE, nebo NENÍ splněno typ Boolean hodnoty: TRUE pravda FALSE lež domluva (optimistická): FALSE < TRUE když X, Y jsou (číselné) výrazy, potom X = Y X Y X < Y X > Y X = Y jsou
2 Strukturované datové typy 2 2.1 Pole... 2 2.2 Záznam... 3 2.3 Množina... 4
Obsah Obsah 1 Jednoduché datové typy 1 2 Strukturované datové typy 2 2.1 Pole.................................. 2 2.2 Záznam................................ 3 2.3 Množina................................
CZ.1.07/1.5.00/
Celá čísla Celočíselný typ má označení INTEGER. Kromě tohoto základního jsou k dispozici ještě další celočíselné typy, které uvádí následující tabulka. Každý typ umožňuje definovat určitý rozsah celých
2.1 Podmínka typu case Cykly Cyklus s podmínkou na začátku Cyklus s podmínkou na konci... 5
Obsah Obsah 1 Řídicí struktury 1 2 Podmínka 1 2.1 Podmínka typu case......................... 2 3 Příkaz skoku 3 4 Cykly 4 4.1 Cyklus s podmínkou na začátku................... 4 4.2 Cyklus s podmínkou
Algoritmizace a programování
Algoritmizace a programování Řídicí struktury jazyka Java Struktura programu Příkazy jazyka Blok příkazů Logické příkazy Ternární logický operátor Verze pro akademický rok 2012/2013 1 Struktura programu
Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44
Algoritmizace a programování Ak. rok 2012/2013 vbp 1. ze 44 Vladimír Beneš Petrovický K101 katedra matematiky, statistiky a informačních technologií vedoucí katedry E-mail: vbenes@bivs.cz Telefon: 251
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
Sada 1 - Základy programování
S třední škola stavební Jihlava Sada 1 - Základy programování 04. Datové typy, operace, logické operátory Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284
Vý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í 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í 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
X36UNX 16. Numerické výpočty v sh příkazy expr, bc, dc. Zdeněk Sojka
X36UNX 16 Numerické výpočty v sh příkazy expr, bc, dc Zdeněk Sojka sojkaz1@fel.cvut.cz dc desk calculator - zadávání příkazů postfixově - data se ukládají do stacku - příkazy obyčejně pracují s jedním
Implementace LL(1) překladů
Překladače, přednáška č. 6 Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz Poslední aktualizace: 30. října 2007 Postup Programujeme syntaktickou analýzu: 1 Navrhneme vhodnou LL(1) gramatiku
Rekurze. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.
Rekurze doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 12. září 2016 Jiří Dvorský (VŠB TUO) Rekurze 161 / 344 Osnova přednášky
Programování v jazyce JavaScript
Programování v jazyce JavaScript Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Operátory a příkazy BI-JSC Evropský sociální fond
Object Pascal je přísně typový procedurální jazyk, který umožňuje jak strukturované, tak objektově orientované programování.
Delphi lekce 6 Minimum z Object Pascalu Vrátíme se ještě k základům Object Pascalu. Struktura programu Object Pascal je přísně typový procedurální jazyk, který umožňuje jak strukturované, tak objektově
5 Přehled operátorů, příkazy, přetypování
5 Přehled operátorů, příkazy, přetypování Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně budou uvedeny detaily týkající se operátorů. Doba nutná k nastudování
Logické programování I
Logické programování I PROLOG Program popisuje "svět" Prologu = databáze faktů a pravidel (tzv. klauzulí). fakta: predikát(arg1, arg2,...argn). cíle:?- predikát(arg1, arg2,...argn). pravidla: hlava :-
EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI
EVROPSKÝ SOCIÁLNÍ FOND Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI Úvod do PHP PHP Personal Home Page Hypertext Preprocessor jazyk na tvorbu dokumentů přípona: *.php skript je součást HTML stránky!
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í
Úvod do databázových systémů
Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky Database Research Group Úvod do databázových systémů Cvičení 3 Ing. Petr Lukáš petr.lukas@vsb.cz
- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů.
Základní symboly - písmena A B C Y Z a b c y z - číslice 0 1 2 9 - speciální symboly + - * / =., < > = a další - klíčová slova and array begin case const a další Klíčová slova jsou chráněnými útvary,
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
Paměť počítače. alg2 1
Paměť počítače Výpočetní proces je posloupnost akcí nad daty uloženými v paměti počítače Data jsou v paměti reprezentována posloupnostmi bitů (bit = 0 nebo 1) Připomeňme: paměť je tvořena řadou 8-mi bitových
VÝRAZY výrazy = operandy prokládané operátory, vyhodnocované podle priority operátorů
VÝRAZY výrazy = operandy prokládané operátory, vyhodnocované podle priority operátorů Výrazy podle priority operátorů (od nejnižší priority) OPERANDY OPERÁTORY výraz = jednoduché výrazy a relační operátory
LEKCE 6. Operátory. V této lekci najdete:
LEKCE 6 Operátory V této lekci najdete: Aritmetické operátory...94 Porovnávací operátory...96 Operátor řetězení...97 Bitové logické operátory...97 Další operátory...101 92 ČÁST I: Programování v jazyce
7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd
7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd Algoritmizace (Y36ALG), Šumperk - 7. přednáška 1 Třída jako zdroj funkcionality Třída v jazyku Java je programová jednotka tvořená
Basic256 - úvod do programování Příklady. ing. petr polách
Basic256 - úvod do programování Příklady ing. petr polách 1 Basic 256 input, print Př.: Vytvořte program pro součet dvou čísel: input "Zadej a: ", a input "Zadej b: ", b print a+b input "Zadej a: ", a
Hanojská věž. T2: prohledávání stavového prostoru. zadání [1 1 1] řešení [3 3 3] dva možné první tahy: [1 1 2] [1 1 3]
Hanojská věž zadání [1 1 1] řešení [3 3 3] dva možné první tahy: [1 1 2] [1 1 3] který tah je lepší? (co je lepší tah?) P. Berka, 2012 1/21 Stavový prostor 1. množina stavů S = {s} 2. množina přechodů
Slepé prohledávání do šířky Algoritmus prohledávání do šířky Při tomto způsobu prohledávání máme jistotu, že vždy nalezneme koncový stav, musíme ale p
Hanojská věž Stavový prostor 1. množina stavů S = {s} 2. množina přechodů mezi stavy (operátorů) Φ = {φ} s k = φ ki (s i ) zadání [1 1 1] řešení [3 3 3] dva možné první tahy: [1 1 2] [1 1 3] který tah
Programovací jazyk Pascal
Programovací jazyk Pascal Syntaktická pravidla (syntaxe jazyka) přesná pravidla pro zápis příkazů Sémantická pravidla (sémantika jazyka) pravidla, která každému příkazu přiřadí přesný význam Všechny konstrukce
1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5
Obsah Obsah 1 Programovací jazyk Pascal 1 1.1 Struktura programu v Pascalu.................... 1 2 Proměnné 2 2.1 Vstup a výstup............................ 3 3 Operátory a některé matematické funkce 5
MS EXCEL_vybrané matematické funkce
MS EXCEL_vybrané matematické funkce Vybrané základní matematické funkce ABS absolutní hodnota čísla CELÁ.ČÁST - zaokrouhlení čísla na nejbližší menší celé číslo EXP - vrátí e umocněné na hodnotu argumentu
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!!!
Přednáška 7. Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu.
Přednáška 7 Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu. 1 Příkaz expr výraz Celočíselná aritmetika I Zašle na standardní výstup vyhodnocení výrazu
Rekurzivní algoritmy
Rekurzivní algoritmy prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy (BI-EFA) ZS
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í
4. Rekurze. BI-EP1 Efektivní programování Martin Kačer
4. Rekurze BI-EP1 Efektivní programování 1 ZS 2011/2012 Ing. Martin Kačer, Ph.D. 2010-11 Martin Kačer Katedra teoretické informatiky Fakulta informačních technologií České vysoké učení technické v Praze
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
Analýza toku dat. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. 15. listopad, 2012
Překladače 2 Analýza toku dat Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci 15. listopad, 2012 Petr Krajča (UP) KMI/PRKL2: Přednáška I. 15. listopad, 2012 1 / 33 Lokální analýza: živost
Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7
Pascal Katedra aplikované kybernetiky Ing. Miroslav Vavroušek Verze 7 Proměnné Proměnná uchovává nějakou informaci potřebnou pro práci programu. Má ve svém oboru platnosti unikátní jméno. (Připadne, musí
Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. October 23, 2016
ZPRO cvičení 3 Martin Flusser Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague October 23, 2016 Outline I 1 Outline 2 Relační a logické operátory 3 Relační a logické
NPRG030 Programování I, 2017/18 1 / :22:16
NPRG030 Programování I, 2017/18 1 / 26 20. 10. 2017 11:22:16 Ordinální typy standardní: integer, char, boolean Vlastnosti ordinálních typů: 1. hodnot je konečný počet a hodnoty jsou uspořádány 2. ke každé
1. Implementace funkce počet vrcholů. Předmět: Algoritmizace praktické aplikace (3ALGA)
Předmět: Algoritmizace praktické aplikace (3ALGA) Vytvořil: Jan Brzeska Zadání: Vytvoření funkcí na stromech (reprezentace stromu směrníky). Zadané funkce: 1. Počet vrcholů 2. Počet listů 3. Součet 4.
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
IB015 Neimperativní programování. Organizace a motivace kurzu, programovací jazyk Haskell. Jiří Barnat
IB015 Neimperativní programování Organizace a motivace kurzu, programovací jazyk Haskell Jiří Barnat Sekce IB015 Neimperativní programování 01 str. 2/36 Organizace kurzu Cíle kurzu IB015 Neimperativní
1 PRVOCISLA: KRATKY UKAZKOVY PRIKLAD NA DEMONSTRACI BALIKU WEB 1
1 PRVOCISLA: KRATKY UKAZKOVY PRIKLAD NA DEMONSTRACI BALIKU WEB 1 1. Prvocisla: Kratky ukazkovy priklad na demonstraci baliku WEB. Nasledujici program slouzi pouze jako ukazka nekterych moznosti a sluzeb,
Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh. Ing. Hodál Jaroslav, Ph.D. VY_32_INOVACE_25 09
Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1 Šablona: Název: Téma: Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Operátory Autor:
Logo2 operace, rekurze, větvení výpočtu
Operace Logo2 operace, rekurze, větvení výpočtu Je naše vlastní operace, jejím výsledkem je nějaká hodnota. Na určení tohoto výsledku musíme použít základní příkaz jazyka Imagine logo. A tím je výsledek.
Algoritmizace a programování
Algoritmizace a programování Řídicí struktury, standardní metody Problematika načítání pomocí Scanner Některé poznámky k příkazům Psaní kódu programu Metody třídy Math Obalové třídy primitivních datových
Větvení programů příkaz IF
Výpočetní technika programování Větvení programů příkaz IF Tento materiál vznikl v rámci projektu CZ.1.07/1.2.15/01.0022 Záchytná síť široké spektrum podpůrných aktivit. Střední škola spojů a informatiky,
V této aplikaci si ukážeme jakým způsobem zobrazovat čas a datum. Pro ovládání zobrazení času a datumu se naučíme využívat nabídku.
HODINY V této aplikaci si ukážeme jakým způsobem zobrazovat čas a datum. Pro ovládání zobrazení času a datumu se naučíme využívat nabídku. Prvky na formuláři Na formuláři potřebuji jen dva prvky typu Label
Programovani v Maplu Procedura
Programovani v Maplu Procedura Priklad: procedura, ktera scita 2 cisla: a + 2*b soucet := proc (a, b) local c; # lokalni promenna - existuje a meni se jenom uvnitr procedury c:=a+b; # globalni promenna
Reprezentace aritmetického výrazu - binární strom reprezentující aritmetický výraz
Reprezentace aritmetického výrazu - binární strom reprezentující aritmetický výraz (2 + 5) * (13-4) * + - 2 5 13 4 - listy stromu obsahují operandy (čísla) - vnitřní uzly obsahují operátory (znaménka)
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
Operátory, výrazy. Tomáš Pitner, upravil Marek Šabo
Operátory, výrazy Tomáš Pitner, upravil Marek Šabo Operátor "Znaménko operace", pokyn pro vykonání operace při vyhodnocení výrazu. V Javě mají operátory napevno daný význam, nelze je přetěžovat jako v
Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
Abstraktní datové typy FRONTA
Abstraktní datové typy FRONTA Fronta je lineární datová struktura tzn., že ke každému prvku s výjimkou posledního náleží jeden následník a ke každému prvku s výjimkou prvního náleží jeden předchůdce. Do
Operátory. Základy programování 1 Martin Kauer (Tomáš Kühr)
Operátory Základy programování 1 Martin Kauer (Tomáš Kühr) Organizační poznámky Formátujte kód přehledně! Pomůžete sobě i mně. Spusťte si vaše programy a zkuste různé vstupy! Pokud program nedává správné
Tematický celek 03 - Cvičné příklady
Tematický celek 03 - Cvičné příklady Cvičný 1 Dim a As Object Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'Proceruda tlačítka "Vlož obsah
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
9. lekce Úvod do jazyka C 4. část Funkce, rekurze Editace, kompilace, spuštění Miroslav Jílek
9. lekce Úvod do jazyka C 4. část Funkce, rekurze Editace, kompilace, spuštění Miroslav Jílek 1/24 Editační prostření Kód programu lze editovat v jakémkoli textovém editoru. 2/24 Editační prostření Kód
Evoluční algoritmy. Podmínka zastavení počet iterací kvalita nejlepšího jedince v populaci změna kvality nejlepšího jedince mezi iteracemi
Evoluční algoritmy Použítí evoluční principů, založených na metodách optimalizace funkcí a umělé inteligenci, pro hledání řešení nějaké úlohy. Populace množina jedinců, potenciálních řešení Fitness function
ROZHODOVACÍ PROCEDURY A VERIFIKACE PAVEL SURYNEK, KTIML HTTP://KTIML.MFF.CUNI.CZ/~SURYNEK/NAIL094
10 ROZHODOVACÍ PROCEDURY A VERIFIKACE PAVEL SURYNEK, KTIML HTTP://KTIML.MFF.CUNI.CZ/~SURYNEK/NAIL094 Matematicko-fyzikální fakulta Univerzita Karlova v Praze 1 ROZHODOVÁNÍ TEORIÍ POMOCÍ SAT ŘEŠIČE (SMT)
Rekurze. IB111 Úvod do programování skrze Python
Rekurze IB111 Úvod do programování skrze Python 2015 1 / 64 XKCD: Tabletop Roleplaying https://xkcd.com/244/ 2 / 64 To iterate is human, to recurse divine. (L. Peter Deutsch) 3 / 64 Rekurze použití funkce
Informatika 8. třída/6
Rekurze Jedním z důležitých principů pro návrh procedur je tzv. rekurze. Nejlépe uvidíme tento princip na příkladech dvou velmi jednoduchých procedur (hvězdička označuje násobení). Rekurze vlastně označuje
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
Základy algoritmizace a programování
Základy algoritmizace a programování Příklady v MATLABu Přednáška 10 30. listopadu 2009 Řídící instrukce if else C Matlab if ( podmínka ) { } else { } Podmíněný příkaz if podmínka elseif podmínka2... else
Programy a algoritmy pracující s čísly. IB111 Úvod do programování skrze Python
Programy a algoritmy pracující s čísly IB111 Úvod do programování skrze Python 2013 1 / 60 Připomenutí z minule proměnné, výrazy, operace řízení výpočtu: if, for, while funkce příklady: faktoriál, binární
Paralelní programování
Paralelní programování přednáška 5 Michal Krupka 15. března 2011 Michal Krupka (KI UP) Paralelní programování 15. března 2011 1 / 13 Ještě ke kritickým sekcím Použití v praxi obvykle pomocí zámků (locks)
BI-EP1 Efektivní programování 1
BI-EP1 Efektivní programování 1 ZS 2011/2012 Ing. Martin Kačer, Ph.D. 2010-11 Martin Kačer Katedra teoretické informatiky Fakulta informačních technologií České vysoké učení technické v Praze Evropský
Úvod do databázových systémů
Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Úvod do databázových systémů Cvičení 4 Ing. Petr Lukáš petr.lukas@vsb.cz Ostrava, 2014 Opakování Klauzule příkazu
Programovací jazyk Prolog
Programovací jazyk Prolog Logické programování Šárka Vavrečková Ústav informatiky, Filozoficko-přírodovědecká fakulta Slezské univerzity v Opavě sarka.vavreckova@fpf.slu.cz 1. prosince 2008 Prolog Co je
Operátory pro maticové operace (operace s celými maticemi) * násobení maticové Pro čísla platí: 2*2
* násobení maticové Pro čísla platí: Pro matice - násobení inverzní maticí inv inverzní matice A -1 k dané matici A je taková matice, která po vynásobení s původní maticí dá jednotkovou matici. Inverzní
WSH Windows Script Hosting. OSY 2 Přednáška číslo 2 opravená verze z 15.10.2007
WSH Windows Script Hosting OSY 2 Přednáška číslo 2 opravená verze z 15.10.2007 Co je skript? Skriptování nástroj pro správu systému a automatizaci úloh Umožňuje psát skripty jednoduché interpretované programové
Algoritmizace Dynamické programování. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010
Dynamické programování Jiří Vyskočil, Marko Genyg-Berezovskyj 2010 Rozděl a panuj (divide-and-conquer) Rozděl (Divide): Rozděl problém na několik podproblémů tak, aby tyto podproblémy odpovídaly původnímu
Programování v jazyce JavaScript
Programování v jazyce JavaScript Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Syntaxe 1. část BI-JSC Evropský sociální fond
Ú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
Příklady: (y + (sin(2*x) + 1)*2)/ /2 * 5 = 8.5 (1+3)/2 * 5 = /(2 * 5) = 1.3. Pavel Töpfer, 2017 Programování 1-3 1
Výraz - syntaxe i sémantika podobné jako v matematice - obsahuje proměnné, konstanty, operátory, závorky, volání funkcí - všechny operátory nutno zapisovat (nelze např. vynechat znak násobení) - argumenty
5a. Makra Visual Basic pro Microsoft Escel. Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina
5a. Makra Visual Basic pro Microsoft Escel Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina Cyklické odkazy a iterativní výpočty Zde bude stránka o cyklických odkazech a iteracích.
Stromy. Příklady. Rekurzivní datové struktury. Základní pojmy
Základní pojmy Stromy doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Graf uzly hrany orientované / neorientované Souvislý
Rekurze. Pavel Töpfer, 2017 Programování 1-8 1
Rekurze V programování ve dvou hladinách: - rekurzivní algoritmus (řešení úlohy je definováno pomocí řešení podúloh stejného charakteru) - rekurzivní volání procedury nebo funkce (volá sama sebe přímo
Šablonové metaprogramování v C++ Miroslav Virius KSI FJFI ČVUT
Šablonové metaprogramování v C++ Miroslav Virius KSI FJFI ČVUT Šablonové (generické) metaprogramování Šablona v C++, genericita v jiných jazycích Výpočetní úplnost Problémy Příklad Porovnání s klasickým
Obsah přednášky. programovacího jazyka. Motivace. Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup Kontinuace Program
Denotační sémantika programovacího jazyka doc. Dr. Ing. Miroslav Beneš katedra informatiky, A-1007 59 732 4213 Obsah přednášky Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup
C++ Akademie SH. 2. Prom nné, podmínky, cykly, funkce, rekurze, operátory. Michal Kvasni ka. 20. b ezna Za áte níci C++
C++ Akademie SH 2. Prom nné, podmínky, cykly, funkce, rekurze, operátory Za áte níci C++ 20. b ezna 2011 Obsah 1 Prom nné - primitivní typy Celá ísla ƒísla s pohyblivou desetinnou árkou, typ bool 2 Podmínka
1. Téma 03 - Rozhodování
1. Téma 03 - Rozhodování Cíl látky Seznámit se a prakticky si vyzkoušet zápis rozhodování v jazyce Java 1.1. Úvod Jednou z nejčastěji používanou konstrukcí při programování je rozhodování. Právě této problematice
Programy a algoritmy pracující s čísly. IB111 Úvod do programování skrze Python
Programy a algoritmy pracující s čísly IB111 Úvod do programování skrze Python 2015 1 / 66 Rozcvička 1 2 + 2 2 + 3 2 + + 99 2 + 100 2 2 / 66 Připomenutí z minule proměnné, výrazy, operace řízení výpočtu:
Základy programování Proměnné Procedury, funkce, události Operátory a podmínková logika Objekt Range a Cells, odkazy Vlastnosti, metody a události
Petr Blaha Základy programování Proměnné Procedury, funkce, události Operátory a podmínková logika Objekt Range a Cells, odkazy Vlastnosti, metody a události Cykly Základní funkce (matematické, textové,
Řešení: PŘENESVĚŽ (N, A, B, C) = přenes N disků z A na B pomocí C
Hanojské věže - 3 kolíky A, B, C - na A je N disků různé velikosti, seřazené od největšího (dole) k nejmenšímu (nahoře) - kolíky B a C jsou prázdné - úkol: přenést všechny disky z A na B, mohou se odkládat
ČVUT FEL X36PAA - Problémy a algoritmy. 5. úloha - Seznámení se se zvolenou pokročilou iterativní metodou na problému batohu
ČVUT FEL X36PAA - Problémy a algoritmy 5. úloha - Seznámení se se zvolenou pokročilou iterativní metodou na problému batohu Jméno: Marek Handl Datum: 4. 2. 2009 Cvičení: Pondělí 9:00 Zadání Zvolte si heuristiku,
4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody
4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina Cyklické odkazy a iterativní výpočty
Binární vyhledávací strom pomocí směrníků Miroslav Hostaša L06620
Binární vyhledávací strom pomocí směrníků Miroslav Hostaša L06620 1. Vymezení pojmů Strom: Strom je takové uspořádání prvků - vrcholů, ve kterém lze rozeznat předchůdce - rodiče a následovníky - syny.