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



Podobné dokumenty
Základy algoritmizace

Operátory pro maticové operace (operace s celými maticemi) * násobení maticové Pro čísla platí: 2*2

Pojem algoritmus. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava

Vlastnosti algoritmu. elementárnost. determinovanost. rezultativnost. konečnost. hromadnost. efektivnost

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Algoritmizace prostorových úloh

3 Co je algoritmus? Trocha historie Definice algoritmu Vlastnosti algoritmu... 3

Algoritmy a algoritmizace

Algoritmizace prostorových úloh

Úvod do informatiky. Miroslav Kolařík

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Lekce 01 Úvod do algoritmizace

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

Algoritmizace- úvod. Ing. Tomáš Otáhal

Pojem algoritmus. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava

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

Algoritmizace. Obrázek 1: Přeložení programu překladačem

Martin Hejtmánek hejtmmar

Pojem algoritmus a jeho základní vlastnosti

Základy algoritmizace, návrh algoritmu

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

Základy algoritmizácie a programovania

Programovací jazyk Pascal

Algoritmizace. 1. Úvod. Algoritmus

2. lekce Algoritmus, cyklus Miroslav Jílek

10. Složitost a výkon

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

Digitální učební materiál

Informatika Algoritmy

PROGRAMOVACÍ JAZYKY A PŘEKLADAČE REALIZACE PŘEKLADAČE I

Základy algoritmizace a programování

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

Definice 7.2. Nejmenší přirozené číslo k, pro které je graf G k-obarvitelný, se nazývá chromatické číslo (barevnost) grafu G a značí se χ(g).

Polynomy. Mgr. Veronika Švandová a Mgr. Zdeněk Kříž, Ph. D. 1.1 Teorie Zavedení polynomů Operace s polynomy...

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Hardware - komponenty počítačů Von Neumannova koncepce počítače. Von Neumannova koncepce počítače

Konečný automat. Jan Kybic.

PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

Základy algoritmizace a programování

Digitální učební materiál

Komplexní čísla, Kombinatorika, pravděpodobnost a statistika, Posloupnosti a řady

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

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

ALGORITMIZACE A PROGRAMOVÁNÍ

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

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

2.1 Podmínka typu case Cykly Cyklus s podmínkou na začátku Cyklus s podmínkou na konci... 5

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

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

Digitální učební materiál

Algoritmizace. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

ALGORITMIZACE PROGRAMOVÁNÍ VT3/VT4

Paralelní programování

3. Třídy P a NP. Model výpočtu: Turingův stroj Rozhodovací problémy: třídy P a NP Optimalizační problémy: třídy PO a NPO MI-PAA

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od jara 2014

Úvod do programování

Algoritmy. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 15. dubna / 39

U Úvod do modelování a simulace systémů

Složitost Filip Hlásek

Třídy složitosti P a NP, NP-úplnost

Sada 1 - PHP. 03. Proměnné, konstanty

Slovo ALGEBRA pochází z arabského al-jabr, což znamená nahrazení. Toto slovo se objevilo v názvu knihy

VISUAL BASIC. Přehled témat

Matematika PRŮŘEZOVÁ TÉMATA

2.6. VLASTNÍ ČÍSLA A VEKTORY MATIC

Úvod do programovacích jazyků (Java)

Výroková a predikátová logika - III

Algoritmizace prostorových úloh

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2014

1 Strukturované programování

PROGRAMOVÁNÍ V JAZYCE C V PŘÍKLADECH 11 Dynamické datové struktury 11.1 Spojové struktury Příklad PROG_

Výroková a predikátová logika - III

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

C2115 Praktický úvod do superpočítání

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2016

Sada 1 - Základy programování

Michal Krátký. Úvod do programování. Cíl kurzu. Podmínky získání zápočtu III/III

Úvod do programování. Lekce 1

Identifikátor materiálu: ICT-4-01

Algoritmizace diskrétních. Ing. Michal Dorda, Ph.D.

ALGORITMIZACE. Výukový materiál pro tercii osmiletého gymnázia

Úvod do modelování a simulace. Ing. Michal Dorda, Ph.D.

7. Rozdělení pravděpodobnosti ve statistice

NP-úplnost problému SAT

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI

Poslední aktualizace: 14. října 2011

Poslední nenulová číslice faktoriálu

MS EXCEL základy programování a algoritmizace ve VBA. Vedoucí týmu: Kristina Balogová Členové týmu: Miroslava Saňáková Nikola Pálfiová Michal Machů

PROGRAMOVATELNÉ LOGICKÉ OBVODY

Modelování a simulace Lukáš Otte

Aplikovaná numerická matematika

Numerická stabilita algoritmů

Složitost 1.1 Opera ní a pam ová složitost 1.2 Opera ní složitost v pr rném, nejhorším a nejlepším p ípad 1.3 Asymptotická složitost

Hisab al-džebr val-muqabala ( Věda o redukci a vzájemném rušení ) Muhammada ibn Músá al-chvárizmího (790? - 850?, Chiva, Bagdád),

NPRG030 Programování I RNDr.Tomáš Holan, Ph.D. 4.patro, č

Lekce 04 Řídící struktury

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

Transkript:

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 posloupnost konečného počtu elementárních kroků vedoucí k řešení daného problému (úlohy), přičemž musí být splněny základní vlastnosti každého algoritmu. Ačkoliv se dnes tento pojem používá především v informatice a přírodních vědách obecně, tak je jeho působnost daleko širší (kuchyňské recepty, návody a postupy...). Samotné slovo algoritmus pochází ze jména perského matematika 9. století Abu Jafar Muhammada ibn Mūsā al-chwārizmího, který ve svých dílech položil základy algebry (arabské číslice, řešení lineárních a kvadratických rovnic).

Algoritmus Toto je sice na první pohled pravdivá, ale při bližším prozkoumání nepřesná definice. Například některé matematické postupy by této definici vyhovovaly, ale nejsou algoritmy. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem. Turingův stroj (1937) je teoretický model počítače popsaný matematikem Alanem Turingem. Skládá se z procesorové jednotky, tvořené konečným automatem a programu ve tvaru pravidel přechodové funkce a potenciálně nekonečné pásky pro zápis mezivýsledků a vstupů dat. Využívá se pro modelování algoritmů v teorii vyčíslitelnosti.

Vlastnosti algoritmů 1) Konečnost algoritmus má konečné množství kroků (musí mít začátek konec) po konečném počtu kroků musí dojít od počátku do konce 2) Korektnost (správnost) algoritmus skončí pro libovolná (korektní) data správným výsledkem v konečném množství kroků. jinak řečeno: algoritmus je správný tehdy, když pro všechny údaje splňující vstupní podmínku se proces zastaví a výstupní údaje splňují výstupní podmínku. 3) Obecnost (hromadnost, univerzálnost) algoritmus neřeší jeden konkrétní problém (např. výpočet 9 + 3), ale řeší obecnou třídu obdobných problémů (např. výpočet součet dvou čísel) 4) Rezultativnost Algoritmus při zadání vstupních dat vždy vrátí výsledek (může se jednat i o chybové hlášení)

Další vlastnosti algoritmů 5) Jednoznačnost (Determinovanost) každý krok algoritmu musí být jednoznačně a přesně definován; v každé situaci musí být naprosto zřejmé, co a jak se má provést, jak má provádění algoritmu pokračovat protože běžný jazyk neposkytuje naprostou přesnost a jednoznačnost vyjadřování, byly pro zápis algoritmů navženy programovací jazyky, ve kterých má každý příkaz jasně definovaný význam 6) Opakovatelnost při stejných vstupních hodnotách musíme dostat vždy stejný výsledek 7) Srozumitelnost algorimus musí být srozumitlený i pro uživatele, který daný algoritmus nevytvářel

??? Jak sestavit algoritmus??? Popsat všechny operace, pomocí kterých transformujeme vstupní data na požadovaná data výstupní. - požadovaný výsledek = výstupní data - počáteční údaje = vstupní data Možnosti reprezentace algoritmů slovním popisem matematický zápis strukturní diagramy (strukturogramy) rozhodovací tabulky vývojové diagramy (blokové schéma)... počítačové programy

Proměnná V programování je proměnná úložiště informace (tedy vyhrazené místo v paměti, ve kterém se nachází určitá hodnota - v některých jazycích se ovšem v průběhu výpočtu může místo, kde je proměnná uložena, měnit). Každá proměnná nebo (v beztypových jazycích) její hodnota je nějakého typu: Celočíselný typ proměnné Reálný typ proměnné Logický typ (booleovský) proměnné Znakový typ proměnné Řetězcový typ proměnné Pole Objekt

Identifikátor proměnné O paměťovém místu, které si program rezervuje tedy hovoříme jako o proměnné a jménu, které jsme proměnné dali, říkáme identifikátor. V každém programovacím jazyce platí pro identifikátory určitá pravidla a omezení. Např. v programovacím jazyku PHP pro identifikátory platí: mohou mít libovolnou délku mohou se skládat z písmen, číslic a podtržítek nesmí začínat číslicí v PHP se u identifikátorů rozlišuje velikost písmen (tzn. proměnná $soucet není totéž jako $SOUCET)

Proměnná v PHP Proměnnou v jazyce PHP vymezuje znaménko dolaru $ a za ním následuje název proměnné. Např. $pom $soucet_2 $Soucet_2 V jazyce PHP se nemusí proměnné předem deklarovat a před první přiřazením hodnoty nemají ani žádny typ. $pom = 15; $test = true; $prom2 = 6.0;