Seminář z IVT Algoritmizace. Slovanské gymnázium Olomouc Tomáš Kühr

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Seminář z IVT Algoritmizace. Slovanské gymnázium Olomouc Tomáš Kühr"

Transkript

1 Seminář z IVT Algoritmizace Slovanské gymnázium Olomouc Tomáš Kühr

2 Algoritmizace - o čem to je? Zatím jsme se zabývali především tím, jak určitý postup zapsat v konkrétním programovacím jazyce (např. C#) Neméně důležité je ale tento postup řešení vymyslet Případně vymyslet nejlepší možný postup nejrychlejší nejméně náročný na paměť dávající nejpřesnější výsledek zaručeně správný nebo jakoukoli vhodnou kombinaci výše uvedeného 2

3 Algoritmus V širším smyslu se jedná o návod nebo postup. V užším smyslu: Algoritmus je posloupnost instrukcí pro řešení daného problému. Tato definice je však značně nepřesná: Co je instrukce? Co je problém? Co je jeho řešení? Existuje i matematicky přesná definice, ale tím se nebudeme zabývat 3

4 Algoritmus - upřesnění Běžně nám ale stačí následující upřesnění: Instrukce je jednoznačný a srozumitelný pokyn, který může člověk nebo počítač mechanicky (tj. bez dalšího přemýšlení) vykonávat Problém je zadám otázkou/úkolem a množinou možných zadání (vstupů) (např. Je číslo na vstupu prvočíslo? + množina všech přirozených čísel) Řešení problému algoritmem spočívá v postupném provádění instrukci Jako řešení problému se také označuje výstup tohoto procesu (pokud nějaký výsledek existuje) Takto specifikovaný pojem algoritmu odpovídá počítačovým programům 4

5 Příklady problémů Slovo problém používáme i v jiných situacích: Problém zaparkování auta (Odpovídá naší definici; vstup: poloha auta a překážek v okolí; výstup: není; instrukce: otoč volantem o X stupňů, sešlápni plynový pedál, ) Problém vyřešení kvadratické rovnice ax 2 + bx + c (Odpovídá definici; vstup: 3 reálná čísla a, b, c; výstup: reálná čísla x1 a x2; aritmetické instrukce, přiřazení) Problém přípravy svíčkové s knedlíkem (Neodpovídá naší definici - není jasné, co je dostatečně dobrá svíčková; také recepty většinou nejsou dostatečně jednoznačné - můžeme jídlo pokazit) Izraelsko-Palestinský problém (neodpovídá definici) Problém, jak žít smysluplný život (neodpovídá definici) 5

6 Příklad algoritmu Řešení kvadratické rovnice Vstup: reálná čísla a, b, c Výstup: reálná čísla x 1, x 2 (nebo informace, že nemá řešení) Instrukce: 1. Vypočítej diskriminant D pomocí vzorce D = b 2 4ac. 2. Pokud je D kladné, pak vypočítej kořen x 1 = b D 2a a kořen x 2 = 3. Pokud je D nula, pak existuje dvojnásobný kořen x 1 = x 2 = b 2a. 4. Pokud je D záporné, pak rovnice nemá reálné kořeny. b+ D 2a. 5. Vrať kořeny x 1 a x 2. 6

7 Základní vlastnosti algoritmů Jednoduchost (elementárnost) = Algoritmus se skládá z jednoduchých (elementárních) kroků. Jednoznačnost (determinovanost) = Kroky algoritmu jsou zcela jednoznačné a po každém kroku je jasně dáno, kterým krokem bude algoritmus pokračovat. Konečnost (finitnost) = Algoritmus vždy skončí po konečném počtu kroků. Obecnost (hromadnost, univerzálnost) = Algoritmus neřeší jeden konkrétní problém, ale obecnější třídu problémů. (Vstupy algoritmu je možné měnit.) Výstup (resultativnost) = Algoritmus má nějaký výsledek. Výsledkem může být i informace, že rovnice nemá řešení (viz předchozí příklad)- 7

8 Možnosti popisu algoritmů Existuje velké množství možností, jak algoritmus popsat Některé již známe: Slovní popis v přirozeném jazyce (např. češtině) Výhody: snadno srozumitelné laikům Nevýhody: zdlouhavé, často nejednoznačné a méně přehledné Popis v nějakém programovacím jazyce (např. C#) Výhody: naprosto přesné, lze přímo přeložit a program používat Nevýhody: dlouhé, obsahuje nepodstatné detaily Další (pro nás zatím neznámé) možnosti:... Pseudokód (viz dále) Vývojové diagramy 8

9 Pseudokód Programovacím jazykům blízký způsob zápisu algoritmů Neřeší ale spousty nepodstatných detailů Výhody: Stručný, úsporný způsob zápisu Přehledný a srozumitelný i neprogramátorům (matematikům, fyzikům,...) Lze snadno převést do téměř libovolného programovacího jazyka Nevýhody: Horší čitelnost pro netechnické profese Je vždy potřeba přepsat do konkrétního programovacího jazyka 9

10 Instrukce pseudokódu V instrukcích pseudokódu se typicky vyskytují Proměnné (budu psát kurzívou) Operátory (+,, *, /, mod, and, or, not,, =, <, >,,,,, [ ], ) Větvení (if... then... else...) Cykly (while... do..., for... to... do... ) Příklad pseudokódu (algoritmus nalezení největšího společného dělitele): Vypocet-NSD(cislo1, cislo2) 1 while cislo2>0 2 do zbytek cislo1 mod cislo2 3 cislo1 cislo2 4 cislo2 zbytek 5 return cislo1 10

11 C# vs. pseudokód static int[] delitele(int cislo) { bool[] delitelnost = new bool[cislo + 1]; int[] vysledek; int pocetdelitelu = 0; for (int delitel = 1; delitel <= cislo; delitel++) { if (cislo % delitel == 0){ delitelnost[delitel] = true; pocetdelitelu++; } else { delitelnost[delitel] = false; } } vysledek = new int[pocetdelitelu]; for (int i = 1, i2 = 0; i<=cislo; i++) { if (delitelnost[i]) { vysledek[i2] = i; i2++ } } return vysledek; } delitele(cislo) 1 for delitel 1 to cislo 2 do if cislo mod delitel = 0 3 then 4 delitelnost[delitel] PRAVDA 5 pocetdelitelu pocetdelitelu+1 6 else 7 delitelnost[delitel] NEPRAVDA 8 i2 0 9 for i 1 to cislo 10 do if delitelnost[i] 11 then 12 vysledek[i2] i 13 i2 i return vysledek; 11

12 Sčítání dvou celých čísel slovní popis Vstup: a n-1 a n-2...a 1 a 0, b n-1 b n-2...b 1 b 0, kde a i a b i jsou čísla z {0, 1,, 9} Výstup: c n c n-1...c 1 c 0, kde c i jsou také čísla z {0, 1,, 9} a platí, že součet čísel daných číslicemi na vstupu ai a bi odpovídá číslu, které je dáno číslicemi c i Kroky algoritmu: 1. Je-li a 0 +b 0 < 10, nastav hodnotu c 0 na a 0 +b 0 a t na 0, jinak nastav c 0 na a 0 +b 0 10 a t na Je-li a 1 +b 1 +t < 10, nastav hodnotu c 1 na a 1 +b 1 +t a t na 0, jinak nastav c 1 na a 1 +b 1 +t 10 a t na Je-li a n-1 +b n-1 +t < 10, nastav hodnotu c n-1 na a n-1 +b n-1 +t a t na 0, jinak nastav c n-1 na a n-1 +b n-1 +t 10 a t na 1. Nastav c n na t. 12

13 Sčítání dvou celých čísel lepší slovní popis Vstup: pole číslic a[n] a b[n] odpovídající vstupním číslům čteným od konce Výstup: pole číslic c[n+1] odpovídající výsledku čtenému od konce Kroky algoritmu: 1. Nastav t na Pro hodnoty i od 0 do n 1 prováděj postupně: Je-li a[i] + b[i] + t < 10, nastav c[i] na a[i] + b[i] + t a t na 0, jinak nastav c[i] na a[i] + b[i] + t 10 a t na 1; 3. Nastav c[n] na t. 13

14 Sčítání dvou celých čísel pseudokód Vstup: pole číslic a[n] a b[n] odpovídající vstupním číslům čteným od konce Výstup: pole číslic c[n+1] odpovídající výsledku čtenému od konce Pseudokód algoritmu: Scitani-Cisel(a[0..n 1], b[0..n 1]) 1 t 0 2 for i 0 to n 1 3 do c[i] (a[i] + b[i] + t) mod 10 4 t (a[i] + b[i] + t)/10 5 c[n] t 6 return c 14

15 Sčítání dvou celých čísel C# Vstup: pole číslic a[n] a b[n] odpovídající vstupním číslům čteným od konce Výstup: pole číslic c[n+1] odpovídající výsledku čtenému od konce Kód funkce: static int[] ScitaniCisel(int[] a, int[] b) { int t = 0; int n = a.length; int[] c = new int[n + 1]; for (int i = 0; i < n; i++) { c[i] = (a[i]+b[i]+t) % 10; t = (a[i] + b[i] + t) / 10; } c[n] = t; return c; } 15

16 Správnost algoritmu Správnost algoritmu není obvykle snadné ověřit Často se spokojíme s testováním algoritmu pro rozumně zvolené množství rozumně zvolených vstupů (běžné vstupní hodnoty, hraniční hodnoty i zakázané vstupy) Matematický důkaz správnosti algoritmů Většinou velmi náročný Používá se pro kritické systémy (letadla, jaderné elektrárny,...) Správnost algoritmu/programu nelze dokázat algoritmicky (tj. pomocí softwaru) 16

17 Složitost algoritmu Vlastnost algoritmů určující množství zdrojů potřebných pro jejich běh časová složitost (počet operací, využitý procesorový čas) paměťová složitost (velikost potřebné paměti) Podle složitosti můžeme algoritmy porovnávat Časová složitost se uvádí ve tvaru funkce, která velikosti vstupu přiřadí počet operací provedených algoritmem Při práci se složitostmi algoritmů obvykle zanedbáváme méně podstatné rozdíly (bereme jen nejrychleji rostoucí výraz a ignorujeme i jeho konstantní násobky) Logaritmická složitost log n 3log 5 (n+5), log 4 (n 2-5n+10), log 10 5n + log 3 (6n-2) Lineární složitost n 5n, 3n-2,10n+6, 5n+log 10 5n Linearithmetic complexity n log n 2n log 10 5n, 3(n-5) log 4 (n 2-5n+10),10n log 5 n + 12n - 6log 10 5n Kvadratická složitost n 2 6n 2 +5n-log n, (n-2)(n+5), 12n 2-5n+10 Exponenciální složitost 2 n, 3 n2-3n+4, 10 n +n 2-5

18 Ukázka analýzy algoritmu Vstup: pole číslic a[n] a b[n] Výstup: pole číslic c[n+1] Pseudokód algoritmu: Scitani-Cisel(a[0..n 1], b[0..n 1]) 1 t 0 2 for i 0 to n 1 3 do c[i] (a[i] + b[i] + t) mod 10 4 t (a[i] + b[i] + t)/10 5 c[n] t 6 return c Na vstupu jsou čísla s n ciframi, můžeme tedy použít n jako velikost vstupu (podobného výsledku dosáhneme, i pokud uvažujeme velikost vstupu jako 2n) Na řádku 1 je vždy 1 operace, cyklus na řádku 2 proběhne n-krát a obsahuje přiřazení do i a řádky 3 (4 operace) a 4 (5 operací), na řádku 5 máme 1 operaci a return na řádku 6 může být také chápán jako operace. Celkově máme složitost algoritmu 10n+3 18

19 Cvičení - návrh a analýza algoritmu Pro následující problémy: a) Vyhledání maximálního čísla v posloupnosti čísel b) Určení, zda je číslo prvočíslem c) Rozklad čísla na součin prvočísel d) Násobení 2 libovolně velkých čísel Popište problém co nejpřesněji, včetně formátu vstupů a výstupů Zapište algoritmus jejich řešení slovně Zapište algoritmus jejich řešení pomocí pseudokódu Pokuste se určit/odhadnout časovou složitost algoritmů 19

Pojem algoritmus a jeho základní vlastnosti

Pojem algoritmus a jeho základní vlastnosti DUM Algoritmy DUM III/2-T1-1-1 PRG-01A-var1 Téma: Úvod do algoritmů - výklad Střední škola Rok: 2012 2013 Varianta: A Zpracoval: Mgr. Pavel Hrubý VÝKLAD Pojem algoritmus a jeho základní vlastnosti Obsah

Více

ALGORITMIZACE PROGRAMOVÁNÍ VT3/VT4

ALGORITMIZACE PROGRAMOVÁNÍ VT3/VT4 1 ALGORITMIZACE PROGRAMOVÁNÍ VT3/VT4 Mgr. Martin ŠTOREK LITERATURA ALGORITMIZACE Ing. Jana Pšenčíková ComputerMedia http://www.computermedia.cz/ 2 1 ALGORITMUS Algoritmus je přesný postup, který je potřeba

Více

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem.

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem. Algoritmus Algoritmus je schematický postup pro řešení určitého druhu problémů, který je prováděn pomocí konečného množství přesně definovaných kroků. nebo Algoritmus lze definovat jako jednoznačně určenou

Více

5 Rekurze a zásobník. Rekurzivní volání metody

5 Rekurze a zásobník. Rekurzivní volání metody 5 Rekurze a zásobník Při volání metody z metody main() se do zásobníku uloží aktivační záznam obsahující - parametry - návratovou adresu, tedy adresu, kde bude program pokračovat v metodě main () po skončení

Více

Základy matematiky kombinované studium 714 0365/06

Základy matematiky kombinované studium 714 0365/06 Základy matematiky kombinované studium 714 0365/06 1. Některé základní pojmy: číselné množiny, intervaly, operace s intervaly (sjednocení, průnik), kvantifikátory, absolutní hodnota čísla, vzorce: 2. Algebraické

Více

Predispozice pro výuku IKT (2015/2016)

Predispozice pro výuku IKT (2015/2016) Konzervatoř P. J. Vejvanovského Kroměříž Predispozice pro výuku IKT (15/16) Základní algoritmy pro počítání s celými a racionálními čísly Adam Šiška 1 Sčítání dvou kladných celých čísel Problém: Jsou dána

Více

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. 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í

Více

Intervalové stromy. Představme si, že máme posloupnost celých čísel p 0, p 1,... p N 1, se kterou budeme. 1. Změna jednoho čísla v posloupnosti.

Intervalové stromy. Představme si, že máme posloupnost celých čísel p 0, p 1,... p N 1, se kterou budeme. 1. Změna jednoho čísla v posloupnosti. Intervalové stromy Představme si, že máme posloupnost celých čísel p 0, p 1,... p N 1, se kterou budeme průběžně provádět tyto dvě operace: 1. Změna jednoho čísla v posloupnosti. 2. Zjištění součtu čísel

Více

Y36BEZ Bezpečnost přenosu a zpracování dat. Úvod. Róbert Lórencz. http://service.felk.cvut.cz/courses/y36bez lorencz@fel.cvut.cz

Y36BEZ Bezpečnost přenosu a zpracování dat. Úvod. Róbert Lórencz. http://service.felk.cvut.cz/courses/y36bez lorencz@fel.cvut.cz Y36BEZ Bezpečnost přenosu a zpracování dat Róbert Lórencz 1. přednáška Úvod http://service.felk.cvut.cz/courses/y36bez lorencz@fel.cvut.cz Róbert Lórencz (ČVUT FEL, 2007) Y36BEZ Bezpečnost přenosu a zpracování

Více

Informatika Algoritmy

Informatika Algoritmy Informatika Algoritmy Radim Farana Podklady předmětu Informatika pro akademický rok 2010/2011 Obsah Algoritmus. Vlastnosti algoritmu. Popis algoritmu. Hodnocení algoritmů. Příklady algoritmů. Algoritmus

Více

Algoritmus. Cílem kapitoly je seznámit žáky se základy algoritmu, s jeho tvorbou a způsoby zápisu.

Algoritmus. Cílem kapitoly je seznámit žáky se základy algoritmu, s jeho tvorbou a způsoby zápisu. Algoritmus Cílem kapitoly je seznámit žáky se základy algoritmu, s jeho tvorbou a způsoby zápisu. Klíčové pojmy: Algoritmus, vlastnosti algoritmu, vývojový diagram Algoritmus Algoritmus je postup, pomocí

Více

)(x 2 + 3x + 4),

)(x 2 + 3x + 4), 3 IREDUCIBILNÍ ROZKLADY POLYNOMŮ V T [X] 3 Ireducibilní rozklady polynomů v T [x] - rozklady polynomů na ireducibilní (dále nerozložitelné) prvky v oboru integrity polynomů jedné neurčité x nad tělesem

Více

Součin matice A a čísla α definujeme jako matici αa = (d ij ) typu m n, kde d ij = αa ij pro libovolné indexy i, j.

Součin matice A a čísla α definujeme jako matici αa = (d ij ) typu m n, kde d ij = αa ij pro libovolné indexy i, j. Kapitola 3 Počítání s maticemi Matice stejného typu můžeme sčítat a násobit reálným číslem podobně jako vektory téže dimenze. Definice 3.1 Jsou-li A (a ij ) a B (b ij ) dvě matice stejného typu m n, pak

Více

Algoritmizace prostorových úloh

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

Více

METODICKÉ LISTY. výstup projektu Vzdělávací středisko pro další vzdělávání pedagogických pracovníků v Sokolově

METODICKÉ LISTY. výstup projektu Vzdělávací středisko pro další vzdělávání pedagogických pracovníků v Sokolově METODICKÉ LISTY výstup projektu Vzdělávací středisko pro další vzdělávání pedagogických pracovníků v Sokolově reg. č. projektu: CZ.1.07/1.3.11/02.0005 Sada metodických listů: KABINET MATEMATIKY Název metodického

Více

Seminář z Informatiky a výpočetní techniky. Slovanské gymnázium Olomouc 4. září 2014 Tomáš Kühr

Seminář z Informatiky a výpočetní techniky. Slovanské gymnázium Olomouc 4. září 2014 Tomáš Kühr Seminář z Informatiky a výpočetní techniky Slovanské gymnázium Olomouc 4. září 2014 Tomáš Kühr Tomáš Kühr Lektor na Katedře informatiky Přírodovědecké fakulty Univerzity Palackého v Olomouci Web: http://www.inf.upol.cz/lide/tomas-kuhr

Více

Lenka Zalabová. Ústav matematiky a biomatematiky, Přírodovědecká fakulta, Jihočeská univerzita. zima 2012

Lenka Zalabová. Ústav matematiky a biomatematiky, Přírodovědecká fakulta, Jihočeská univerzita. zima 2012 Algebra - třetí díl Lenka Zalabová Ústav matematiky a biomatematiky, Přírodovědecká fakulta, Jihočeská univerzita v Českých Budějovicích zima 2012 Obsah 1 Dělitelnost 2 Grupy zbytkových tříd 3 Jedna z

Více

IB108 Sada 1, Příklad 1 Vypracovali: Tomáš Krajča (255676), Martin Milata (256615)

IB108 Sada 1, Příklad 1 Vypracovali: Tomáš Krajča (255676), Martin Milata (256615) IB108 Sada 1, Příklad 1 ( ) Složitost třídícího algoritmu 1/-Sort je v O n log O (n.71 ). Necht n = j i (velikost pole, které je vstupním parametrem funkce 1/-Sort). Lehce spočítáme, že velikost pole předávaná

Více

. Určete hodnotu neznámé x tak, aby

. Určete hodnotu neznámé x tak, aby Fakulta informačních technologií ČVUT v Praze Přijímací zkouška z matematiky 015 Kód uchazeče ID:.................. Varianta: 1 1. Původní cena knihy byla 50 Kč. Pak byla zdražena o 15 %. Jelikož nešla

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Vyhledávání, vkládání, odstraňování Vyhledání hodnoty v nesetříděném poli Vyhledání hodnoty v setříděném poli Odstranění hodnoty z pole Vkládání hodnoty do pole Verze pro akademický

Více

Martin Hejtmánek hejtmmar@fjfi.cvut.cz http://kmlinux.fjfi.cvut.cz/ hejtmmar

Martin Hejtmánek hejtmmar@fjfi.cvut.cz http://kmlinux.fjfi.cvut.cz/ hejtmmar Základy programování Martin Hejtmánek hejtmmar@fjfi.cvut.cz http://kmlinux.fjfi.cvut.cz/ hejtmmar Počítačový kurs Univerzity třetího věku na FJFI ČVUT Pokročilý 21. května 2009 Dnešní přednáška 1 Počátky

Více

Na začátku rozdělíme práci a určíme, které podproblémy je potřeba vyřešit. Tyto

Na začátku rozdělíme práci a určíme, které podproblémy je potřeba vyřešit. Tyto Kapitola 1 Rozděl a panuj Rozděl a panuj je programovací metoda. Často se označuje latinsky Divide et Empera nebo anglicky Divide and Conquer. Vychází z toho, že umíme zadaný problém rozložit na menší

Více

Algoritmizace. 1. Úvod. Algoritmus

Algoritmizace. 1. Úvod. Algoritmus 1. Úvod Algoritmizace V dnešní době již počítače pronikly snad do všech oblastí lidské činnosti, využívají se k řešení nejrůznějších úkolů. Postup, který je v počítači prováděn nějakým programem se nazývá

Více

ALGORITMIZACE Příklady ze života, větvení, cykly

ALGORITMIZACE Příklady ze života, větvení, cykly ALGORITMIZACE Příklady ze života, větvení, cykly Cíl kapitoly: Uvedení do problematiky algoritmizace Klíčové pojmy: Algoritmus, Vlastnosti správného algoritmu, Možnosti zápisu algoritmu, Vývojový diagram,

Více

Pracovní listy - programování (algoritmy v jazyce Visual Basic) Algoritmus

Pracovní listy - programování (algoritmy v jazyce Visual Basic) Algoritmus Pracovní listy - programování (algoritmy v jazyce Visual Basic) Předmět: Seminář z informatiky a výpočetní techniky Třída: 3. a 4. ročník vyššího stupně gymnázia Algoritmus Zadání v jazyce českém: 1. Je

Více

Stromy, haldy, prioritní fronty

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

Více

Základy číslicové techniky. 2 + 1 z, zk

Základy číslicové techniky. 2 + 1 z, zk Základy číslicové techniky 2 + 1 z, zk Ing. Vít Fábera, K614 e-mail: fabera@fd.cvut.cz K508, 5. patro, laboratoř, 2 2435 9555 Ing. Tomáš Musil, Ph.D., K620 e-mail: musil@asix.cz K508, 5. patro, laboratoř,

Více

Výukový materiál zpracován v rámci projektu EU peníze školám

Výukový materiál zpracován v rámci projektu EU peníze školám Výukový materiál zpracován v rámci projektu EU peníze školám Registrační číslo projektu: CZ. 1.07/1.5.00/34.0637 Šablona III/2 Název VY_32_INOVACE_39_Algoritmizace_teorie Název školy Základní škola a Střední

Více

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

Algoritmy. BI-PA1 Programování a Algoritmizace I. Ladislav Vagner Algoritmy BI-PA1 Programování a Algoritmizace I. Ladislav Vagner Katedra teoretické informatiky Fakulta informačních technologíı ČVUT v Praze xvagner@fit.cvut.cz 3. října 2016 a 4. října 2016 Kontakt místnost

Více

Determinant. Definice determinantu. Permutace. Permutace, vlastnosti. Definice: Necht A = (a i,j ) R n,n je čtvercová matice.

Determinant. Definice determinantu. Permutace. Permutace, vlastnosti. Definice: Necht A = (a i,j ) R n,n je čtvercová matice. [] Definice determinantu BI-LIN, determinant, 9, P Olšák [2] Determinant je číslo jistým způsobem charakterizující čtvercovou matici det A 0 pro singulární matici, det A 0 pro regulární matici používá

Více

3. Matice a determinanty

3. Matice a determinanty . Matice a determinanty Teorie matic a determinantů představuje úvod do lineární algebry. Nejrozsáhlejší aplikace mají matice a determinanty při řešení systémů lineárních rovnic. Pojem determinantu zavedl

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Jazyk C řízení běhu programu České vysoké učení technické Fakulta elektrotechnická Ver.1.10 J. Zděnek 2015 Šest zákonů programování 1. V každém programu je alespoň jedna chyba

Více

Basic256 - úvod do programování Příklady. ing. petr polách

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

Více

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. 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

Více

V každém kroku se a + b zmenší o min(a, b), tedy vždy alespoň o 1. Jestliže jsme na začátku dostali 2

V každém kroku se a + b zmenší o min(a, b), tedy vždy alespoň o 1. Jestliže jsme na začátku dostali 2 Euklidův algoritmus Doprovodný materiál pro cvičení Programování I. NPRM044 Autor: Markéta Popelová Datum: 31.10.2010 Euklidův algoritmus verze 1.0 Zadání: Určete největšího společného dělitele dvou zadaných

Více

0. Lineární rekurence Martin Mareš, 2010-07-04

0. Lineární rekurence Martin Mareš, 2010-07-04 0 Lineární rekurence Martin Mareš, 2010-07-04 V tomto krátkém textu se budeme zabývat lineárními rekurencemi, tj posloupnostmi definovanými rekurentní rovnicí typu A n+k = c 0 A n + c 1 A n+1 + + c k 1

Více

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

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

Více

Výpočetní složitost I

Výpočetní složitost I Výpočetní složitost I prooborlogikanaffuk Petr Savický 1 Úvod Složitostí algoritmické úlohy se rozumí především její časová a paměťová náročnost při řešení na počítači. Časová náročnost se měří počtem

Více

Zlatý řez nejen v matematice

Zlatý řez nejen v matematice Zlatý řez nejen v matematice Zlaté číslo a jeho vlastnosti In: Vlasta Chmelíková author): Zlatý řez nejen v matematice Czech) Praha: Katedra didaktiky matematiky MFF UK, 009 pp 7 Persistent URL: http://dmlcz/dmlcz/40079

Více

IB111 Úvod do programování skrze Python

IB111 Úvod do programování skrze Python Vyhledávání, řazení, složitost IB111 Úvod do programování skrze Python 2012 Otrávené studny 8 studen, jedna z nich je otrávená laboratorní rozbor dokáže rozpoznat přítomnost jedu ve vodě je drahý (je časově

Více

2 Základní funkce a operátory V této kapitole se seznámíme s použitím funkce printf, probereme základní operátory a uvedeme nejdůležitější funkce.

2 Základní funkce a operátory V této kapitole se seznámíme s použitím funkce printf, probereme základní operátory a uvedeme nejdůležitější funkce. Vážení zákazníci, dovolujeme si Vás upozornit, že na tuto ukázku knihy se vztahují autorská práva, tzv copyright To znamená, že ukázka má sloužit výhradnì pro osobní potøebu potenciálního kupujícího (aby

Více

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět Cílová skupina (ročník) Úroveň

Více

3 Co je algoritmus? 2 3.1 Trocha historie... 2 3.2 Definice algoritmu... 3 3.3 Vlastnosti algoritmu... 3

3 Co je algoritmus? 2 3.1 Trocha historie... 2 3.2 Definice algoritmu... 3 3.3 Vlastnosti algoritmu... 3 Obsah Obsah 1 Program přednášek 1 2 Podmínky zápočtu 2 3 Co je algoritmus? 2 3.1 Trocha historie............................ 2 3.2 Definice algoritmu.......................... 3 3.3 Vlastnosti algoritmu.........................

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632

Více

Úvod do programování

Úvod do programování Úvod do programování Základní literatura Töpfer, P.: Algoritmy a programovací techniky, Prometheus, Praha učebnice algoritmů, nikoli jazyka pokrývá velkou část probíraných algoritmů Satrapa, P.: Pascal

Více

Věta o dělení polynomů se zbytkem

Věta o dělení polynomů se zbytkem Věta o dělení polynomů se zbytkem Věta. Nechť R je okruh, f, g R[x], přičemž vedoucí koeficient polynomu g 0 je jednotka okruhu R. Pak existuje jediná dvojice polynomů q, r R[x] taková, že st(r) < st(g)

Více

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

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

Více

Paralelní LU rozklad

Paralelní LU rozklad Paralelní LU rozklad Lukáš Michalec Katedra fyziky, Přírodovědecká fakulta Univerzity J.E. Purkyně v ročník, specializace Ústí n.l. Abstract Seminární práce se zabývá řešení soustavy lineárních rovnic

Více

Binární vyhledávací stromy pokročilé partie

Binární vyhledávací stromy pokročilé partie Binární vyhledávací stromy pokročilé partie KMI/ALS lekce Jan Konečný 30.9.204 Literatura Cormen Thomas H., Introduction to Algorithms, 2nd edition MIT Press, 200. ISBN 0-262-5396-8 6, 3, A Knuth Donald

Více

Mgr. Karel Pazourek. online prostředí, Operační program Praha Adaptabilita, registrační číslo CZ.2.17/3.1.00/31165.

Mgr. Karel Pazourek. online prostředí, Operační program Praha Adaptabilita, registrační číslo CZ.2.17/3.1.00/31165. Mnohočleny z různých stran Mgr. Karel Pazourek Kurz vznikl v rámci projektu Rozvoj systému vzdělávacích příležitostí pro nadané žáky a studenty v přírodních vědách a matematice s využitím online prostředí,

Více

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

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

Více

NPRG030 Programování I 3/2 Z --- NPRG031 Programování II --- 2/2 Z, Zk

NPRG030 Programování I 3/2 Z --- NPRG031 Programování II --- 2/2 Z, Zk NPRG030 Programování I 3/2 Z --- NPRG031 Programování II --- 2/2 Z, Zk Pavel Töpfer Katedra softwaru a výuky informatiky MFF UK MFF Malostranské nám., 4. patro, pracovna 404 pavel.topfer@mff.cuni.cz http://ksvi.mff.cuni.cz/~topfer

Více

Základní škola Moravský Beroun, okres Olomouc

Základní škola Moravský Beroun, okres Olomouc Charakteristika vyučovacího předmětu matematika Vyučovací předmět má časovou dotaci čtyři hodiny týdně v prvním ročníku, pět hodin týdně ve druhém až pátém ročníku, pět hodin týdně v šestém ročníku a čtyři

Více

Úvod do informatiky. Miroslav Kolařík

Úvod do informatiky. Miroslav Kolařík Úvod do informatiky přednáška devátá Miroslav Kolařík Zpracováno dle učebního textu prof. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008 Obsah 1 Kombinatorika: princip inkluze a exkluze 2 Počítání

Více

Programování a algoritmizace 1 2012-2013

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

Více

a a

a a 1.. Cíle V této kapitole se naučíme určovat zejména celočíselné kořeny některých polynomů. Výklad Při výpočtu hodnoty polynomu n k p( x) = ak x n-tého stupně n 1 v bodě x 0 C k = 0 musíme provést ( n 1)

Více

Matice se v některých publikacích uvádějí v hranatých závorkách, v jiných v kulatých závorkách. My se budeme držet zápisu s kulatými závorkami.

Matice se v některých publikacích uvádějí v hranatých závorkách, v jiných v kulatých závorkách. My se budeme držet zápisu s kulatými závorkami. Maticové operace Definice Skalár Představme si nějakou množinu, jejíž prvky lze sčítat a násobit. Pěkným vzorem jsou čísla, která už známe od mala. Prvky takové množiny nazýváme skaláry. Matice Matice

Více

Programovací jazyk Pascal

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

Více

Distribuovaná synchronizace. Paralelní a distribuované systémy. 11. Přednáška Vzájemné vyloučení. Centralizovaný algoritmus - fronta procesů

Distribuovaná synchronizace. Paralelní a distribuované systémy. 11. Přednáška Vzájemné vyloučení. Centralizovaný algoritmus - fronta procesů Distribuovaná synchronizace Využití kritické sekce při vzájemném vyloučení v distribuovaném systému Paralelní a distribuované systémy 11. Přednáška Vzájemné vyloučení Logicky distribuovaný systém s vlákny

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632

Více

PREPROCESOR POKRAČOVÁNÍ

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

Více

Algoritmy I, složitost

Algoritmy I, složitost A0B36PRI - PROGRAMOVÁNÍ Algoritmy I, složitost České vysoké učení technické Fakulta elektrotechnická v 1.01 Rychlost... Jeden algoritmus (program, postup, metoda ) je rychlejší než druhý. Co ta věta znamená??

Více

Rozklad problému na podproblémy

Rozklad problému na podproblémy Rozklad problému na podproblémy Postupný návrh programu rozkladem problému na podproblémy zadaný problém rozložíme na podproblémy pro řešení podproblémů zavedeme abstraktní příkazy s pomocí abstraktních

Více

Maticové operace projekt č. 3

Maticové operace projekt č. 3 Dokumentace k projektu pro předměty IZP a IUS Maticové operace projekt č. 3 9.12.2007 Autor: Václav Uhlíř, xuhlir04@stud.fit.vutbr.cz Fakulta Informačních Technologii Vysoké Učení Technické v Brně Obsah

Více

Časová a prostorová složitost algoritmů

Časová a prostorová složitost algoritmů .. Časová a prostorová složitost algoritmů Programovací techniky doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Hodnocení algoritmů Programovací techniky Časová a prostorová

Více

10. Složitost a výkon

10. Složitost a výkon Jiří Vokřínek, 2016 B6B36ZAL - Přednáška 10 1 Základy algoritmizace 10. Složitost a výkon doc. Ing. Jiří Vokřínek, Ph.D. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Jiří

Více

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

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

Více

Lekce 01 Úvod do algoritmizace

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

Více

1 Mnohočleny a algebraické rovnice

1 Mnohočleny a algebraické rovnice 1 Mnohočleny a algebraické rovnice 1.1 Pojem mnohočlenu (polynomu) Připomeňme, že výrazům typu a 2 x 2 + a 1 x + a 0 říkáme kvadratický trojčlen, když a 2 0. Číslům a 0, a 1, a 2 říkáme koeficienty a písmenem

Více

IAJCE Přednáška č. 8. double tprumer = (t1 + t2 + t3 + t4 + t5 + t6 + t7) / 7; Console.Write("\nPrumerna teplota je {0}", tprumer);

IAJCE Přednáška č. 8. double tprumer = (t1 + t2 + t3 + t4 + t5 + t6 + t7) / 7; Console.Write(\nPrumerna teplota je {0}, tprumer); Pole (array) Motivace Častá úloha práce s větším množstvím dat stejného typu o Př.: průměrná teplota za týden a odchylka od průměru v jednotlivých dnech Console.Write("Zadej T pro.den: "); double t = Double.Parse(Console.ReadLine());

Více

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2014 5, 5.1 a 5.2 8/14

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2014 5, 5.1 a 5.2 8/14 ZÁKLADY PROGRAMOVÁNÍ Mgr. Vladislav BEDNÁŘ 2014 5, 5.1 a 5.2 8/14 Co je vhodné vědět, než si vybereme programovací jazyk a začneme programovat roboty. 1 / 18 0:40 Algoritmus Algoritmem by se dal nazvat

Více

ÚVODNÍ ZNALOSTI. datové struktury. správnost programů. analýza algoritmů

ÚVODNÍ ZNALOSTI. datové struktury. správnost programů. analýza algoritmů ÚVODNÍ ZNALOSTI datové struktury správnost programů analýza algoritmů Datové struktury základní, primitivní, jednoduché datové typy: int, char,... hodnoty: celá čísla, znaky, jednoduché proměnné: int i;

Více

Umělá inteligence. UI (AI) - součást informatiky s průniky mimo obor Stručná historie UI. Letošní cena nadace Vize 2000 - Joseph Weizenbaum

Umělá inteligence. UI (AI) - součást informatiky s průniky mimo obor Stručná historie UI. Letošní cena nadace Vize 2000 - Joseph Weizenbaum Umělá inteligence UI (AI) - součást informatiky s průniky mimo obor Stručná historie UI 1943-56 začátky (modelování neuronů a sítí na počítači) 1952-69 velká očekávání (GPS, Lisp, microworlds) 1966-74

Více

Břetislav Fajmon, UMAT FEKT, VUT Brno. Poznámka 1.1. A) první část hodiny (cca 50 minut): představení všech tří metod při řešení jednoho příkladu.

Břetislav Fajmon, UMAT FEKT, VUT Brno. Poznámka 1.1. A) první část hodiny (cca 50 minut): představení všech tří metod při řešení jednoho příkladu. Břetislav Fajmon, UMAT FEKT, VUT Brno Poznámka 1.1. A) první část hodiny (cca 50 minut): představení všech tří metod při řešení jednoho příkladu. Na jiných příkladech je téma podrobně zpracováno ve skriptech

Více

Kombinatorický předpis

Kombinatorický předpis Gravitace : Kombinatorický předpis Petr Neudek 1 Kombinatorický předpis Kombinatorický předpis je rozšířením Teorie pravděpodobnosti kapitola Kombinatorický strom. Její praktický význam je zřejmý právě

Více

Algoritmizace a programování

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

Více

Vysoké učení technické v Brně. Fakulta strojního inženýrství. Matematika. Příručka pro přípravu k přijímacím zkouškám

Vysoké učení technické v Brně. Fakulta strojního inženýrství. Matematika. Příručka pro přípravu k přijímacím zkouškám Vysoké učení technické v Brně Fakulta strojního inženýrství Matematika Příručka pro přípravu k přijímacím zkouškám Doc. PaedDr. Dalibor Martišek, Ph.D. RNDr. Milana Faltusová 5 Autoři: Lektorovala: Doc.

Více

STRUKTURA POČÍTAČŮ JIŘÍ HRONEK, JIŘÍ MAZURA KATEDRA INFORMATIKY PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITA PALACKÉHO

STRUKTURA POČÍTAČŮ JIŘÍ HRONEK, JIŘÍ MAZURA KATEDRA INFORMATIKY PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITA PALACKÉHO KATEDRA INFORMATIKY PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITA PALACKÉHO STRUKTURA POČÍTAČŮ JIŘÍ HRONEK, JIŘÍ MAZURA VÝVOJ TOHOTO UČEBNÍHO TEXTU JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM A STÁTNÍM ROZPOČTEM

Více

Databáze, sítě a techniky programování X33DSP

Databáze, sítě a techniky programování X33DSP Databáze, sítě a techniky programování X33DSP Anotace: Náplní předmětu jsou některé techniky a metody používané ve výpočetních systémech zaměřených na biomedicínské inženýrství. Cílem je položit jednotný

Více

Rekurze. Pavel Töpfer, 2017 Programování 1-8 1

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

Více

Algoritmus. Cílem kapitoly je seznámit žáky se základy algoritmu, s jeho tvorbou a způsoby zápisu.

Algoritmus. Cílem kapitoly je seznámit žáky se základy algoritmu, s jeho tvorbou a způsoby zápisu. Algoritmus Cílem kapitoly je seznámit žáky se základy algoritmu, s jeho tvorbou a způsoby zápisu. Klíčové pojmy: Algoritmus, vlastnosti algoritmu, tvorba algoritmu, vývojový diagram, strukturogram Algoritmus

Více

Digitální učební materiál

Digitální učební materiál Digitální učební materiál Číslo projektu CZ.1.07/1.5.00/34.0802 Název projektu Zkvalitnění výuky prostřednictvím ICT Číslo a název šablony klíčové aktivity III/2 Inovace a zkvalitnění výuky prostřednictvím

Více

Skalární součin je nástroj, jak měřit velikost vektorů a úhly mezi vektory v reálných a komplexních vektorových prostorech.

Skalární součin je nástroj, jak měřit velikost vektorů a úhly mezi vektory v reálných a komplexních vektorových prostorech. Kapitola 9 Skalární součin Skalární součin je nástroj, jak měřit velikost vektorů a úhly mezi vektory v reálných a komplexních vektorových prostorech. Definice 9.1 Je-li x = (x 1,..., x n ) T R n 1 reálný

Více

PB161 6. přednáška (26. října 2015)

PB161 6. přednáška (26. října 2015) PB161 6. přednáška (26. října 2015) Standardní knihovna C++ obsahuje řadu částí, některé už jsme viděli (strings, I/O streams) mimo jiné obsahuje i knihovní funkce ze standardní knihovny jazyka C jiné

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování V algoritmizaci a programování je důležitá schopnost analyzovat a myslet. Všeobecně jsou odrazovým můstkem pro řešení neobvyklých, ale i každodenních problémů. Naučí nás rozdělit

Více

Dynamické programování. Optimální binární vyhledávací strom

Dynamické programování. Optimální binární vyhledávací strom The complexity of different algorithms varies: O(n), Ω(n ), Θ(n log (n)), Dynamické programování Optimální binární vyhledávací strom Různé algoritmy mají různou složitost: O(n), Ω(n ), Θ(n log (n)), The

Více

Tento materiál byl vytvořen v rámci projektu Operačního programu Vzdělávání pro konkurenceschopnost.

Tento materiál byl vytvořen v rámci projektu Operačního programu Vzdělávání pro konkurenceschopnost. Tento materiál byl vytvořen v rámci projektu Operačního programu Vzdělávání pro konkurenceschopnost. Projekt MŠMT ČR Číslo projektu ázev projektu školy Klíčová aktivita III/2 EU PEÍZE ŠKOLÁM CZ.1.7/1.4./21.2146

Více

České vysoké učení technické v Praze Fakulta jaderná a fyzikálně inženýrská. Matematika ve starověké Babylónii

České vysoké učení technické v Praze Fakulta jaderná a fyzikálně inženýrská. Matematika ve starověké Babylónii České vysoké učení technické v Praze Fakulta jaderná a fyzikálně inženýrská Matematika ve starověké Babylónii Vít Heřman Praha, 22.2.2008 Obsah: 1. Úvod 2. Historický kontext 3. Dostupné historické zdroje

Více

Základy algoritmizace, návrh algoritmu

Základy algoritmizace, návrh algoritmu Základy algoritmizace, návrh algoritmu Algoritmus Předpoklady automatického výpočtu: předem stanovit (rozmyslet) přesný postup během opakovaného provádění postupu již nepřemýšlet a postupovat mechanicky

Více

KMA/PDB. Karel Janečka. Tvorba materiálů byla podpořena z prostředků projektu FRVŠ č. F0584/2011/F1d

KMA/PDB. Karel Janečka. Tvorba materiálů byla podpořena z prostředků projektu FRVŠ č. F0584/2011/F1d KMA/PDB Prostorové spojení Karel Janečka Tvorba materiálů byla podpořena z prostředků projektu FRVŠ č. F0584/2011/F1d Obsah Prostorové spojení pomocí hnízděných cyklů. Prostorové spojení pomocí R-stromů.

Více

LOGICKÉ ŘÍZENÍ. Matematický základ logického řízení

LOGICKÉ ŘÍZENÍ. Matematický základ logického řízení Měřicí a řídicí technika bakalářské studium - přednášky LS 28/9 LOGICKÉ ŘÍZENÍ matematický základ logického řízení kombinační logické řízení sekvenční logické řízení programovatelné logické automaty Matematický

Více

Cvičení 9 - Monitory. monitor m; var proměnné... procedure p; begin... end; begin inicializace; end;

Cvičení 9 - Monitory. monitor m; var proměnné... procedure p; begin... end; begin inicializace; end; Cvičení 9 - Monitory na rozdíl od semaforů je monitor jazyková konstrukce monitor = Pascalský blok podobný proceduře nebo fci uvnitř monitoru jsou definovány proměnné, procedury a fce proměnné monitoru

Více

Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy

Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy Úvod do programování Michal Krátký 1,Jiří Dvorský 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programování, 2004/2005 Procesor Procesorem je objekt, který vykonává algoritmem popisovanou

Více

Násobení pomocí sčítání

Násobení pomocí sčítání Neznalost zákonů neomlouvá Násobení pomocí sčítání Zadání problému: Vymyslete algoritmus, jak násobit dvě čísla, když operaci násobení neznáme. Upřesnění zadání: Známe čísla, známe operaci sčítání, odčítání.

Více

1 Základy algoritmizace a programování. 1.1 Algoritmus. 1.1.1 Možnosti zápisu algoritmů. Základy algoritmizace a programování

1 Základy algoritmizace a programování. 1.1 Algoritmus. 1.1.1 Možnosti zápisu algoritmů. Základy algoritmizace a programování 1 Základy algoritmizace a programování 1.1 Algoritmus Algoritmus je posloupnost operací, která řeší daný úkol v konečném počtu kroků. Je to přesný postup, který je potřeba k vykonání určité činnosti. Jinak

Více

Algoritmizace. Cíle předmětu

Algoritmizace. Cíle předmětu Cíle předmětu Algoritmizace naučit se sestavovat algoritmy řešení jednoduchých problémů a zapisovat je v jazyku Java Organizace předmětu přednášky (učast nepovinná, ale doporučená) cvičení střídavě u tabule

Více

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

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

Více

Mimo samotné správnosti výsledku vypočteného zapsaným algoritmem je ještě jedno

Mimo samotné správnosti výsledku vypočteného zapsaným algoritmem je ještě jedno 12 Délka výpočtu algoritmu Mimo samotné správnosti výsledku vypočteného zapsaným algoritmem je ještě jedno neméně důležité hledisko k posouzení vhodnosti algoritmu k řešení zadané úlohy. Jedná se o čas,

Více

4. Trojúhelníkový rozklad p. 1/20

4. Trojúhelníkový rozklad p. 1/20 4. Trojúhelníkový rozklad 4. Trojúhelníkový rozklad p. 1/20 4. Trojúhelníkový rozklad p. 2/20 Trojúhelníkový rozklad 1. Permutační matice 2. Trojúhelníkové matice 3. Trojúhelníkový (LU) rozklad 4. Výpočet

Více

MATEMATICKÁ OLYMPIÁDA NA STŘEDNÍCH ŠKOLÁCH

MATEMATICKÁ OLYMPIÁDA NA STŘEDNÍCH ŠKOLÁCH MATEMATICKÁ OLYMPIÁDA NA STŘEDNÍCH ŠKOLÁCH kategorie A, B, C a P 65. ROČNÍK, 2015/2016 http://math.muni.cz/mo Studenti středních škol, zveme vás k účasti v matematické olympiádě, jejíž soutěžní kategorie

Více