Algoritmizace a datové struktury (14ASD)

Slides:



Advertisements
Podobné prezentace
Lineární klasifikátor
Advertisements

Stavový prostor. • Existují úlohy, pro které není k dispozici univerzální algoritmus řešení • různé hry • problém batohu, problém obchodního cestujícího.
1 – Informatika Nauka (tj. věda) o informacích, tj. o zápisu (kódování (angl.)), přenosu (transfer (angl.)), zpracování (procesování (angl.)) informací.
HYPERTEXT PREPROCESSOR. PROGRAMOVÁNÍ. DEFINICE POJMŮ Problém Problém nevyřešený, nežádoucí stav obvykle vyžaduje nějaké řešení Neřešitelný problém Neřešitelný.
Soustava lineárních rovnic o více neznámých I.
Algoritmizace Vývojové diagramy.
Modulární systém dalšího vzdělávání pedagogických pracovníků JmK v přírodních vědách a informatice CZ.1.07/1.3.10/ Prezentace zadání a řešení Teorie.
PA081 Programování numerických výpočtů Přednáška 2.
PA081 Programování numerických výpočtů
ALGO – Algoritmizace 1. cvičení
Alg51 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ů.
Fakulta životního prostředí Katedra informatiky a geoinformatiky
Varianty Turingova stroje Výpočet funkcí pomocí TS
Algoritmizace 9. Ročník.
Vývojové diagramy a základy algoritmizace
ALGORITMIZACE ÚVODNÍ PŘEDNÁŠKA 2 SLOVO ALGORITMUS VZNIKLO ZE JMÉNA ARABSKÉHO MATEMATIKA AL-KHWARIZMIHO, KTERÝ V DEVÁTÉM STOLETÍ SEPSAL ROZSÁHLOU KOLEKCI.
Algoritmizace a programování
Seminář – Základy programování
Algoritmizace.
Informatika a práce s počítačem
25. ALGORITMIZACE A PROGRAMOVÁNÍ
Algoritmus po krocích rozepsaný návod k nějaké činnosti
Informatika I 2. přednáška
Algoritmizace a základy programování
Základy algoritmizace a programování
Úvod do algoritmizace Obsah: Algoritmus, algoritmizace
Složitost.
Obchodní akademie, Náchod, Denisovo nábřeží 673
Ukázka odstranění rekurze Přemysl Tišer
Vztah bezkontextových jazyků a ZA
Dokumentace informačního systému
Tento výukový materiál vznikl v rámci Operačního programu Vzdělávání pro konkurenceschopnost 1. KŠPA Kladno, s. r. o., Holandská 2531, Kladno,
Algoritmizace a programování Algoritmizace – základní pojmy - 01
doc. RNDr. Zdeněk Botek, CSc.
P-těžké, np-těžké a np-úplné problémy
ALGO – Algoritmizace 4. cvičení 1.ročník, ZS Ing. Zdena DOBEŠOVÁ, Ph.D.
Algoritmus a jeho vlastnosti
Gymnázium, Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Hodonín Úvod do programování.
Karel Vlček, Modelování a simulace Karel Vlček,
Turingův stroj.
Základy ALgoritmizace 6. cvičení. Program cvičení Kontrolní bod 1 zakončení grafického zápisu algoritmů - vývojových diagramů –identifikátory a proměnné.
Úvod do teorie konečných automatů
Automaty a gramatiky.
Algebra v informatice Antonín Jančařík.
Příkazy cyklů. Co je to cyklus Jako cyklus označujeme opakované vykonávání určitého bloku příkazů Jako cyklus označujeme opakované vykonávání určitého.
Sylabus V rámci PNV budeme řešit konkrétní úlohy a to z následujících oblastí: Nelineární úlohy Řešení nelineárních rovnic Numerická integrace Lineární.
BioTech 2011, Strážná. O čem to bude? Stochastické simulace Diferenciální rovnice (ODR) Automaty.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
11/2003Přednáška č. 41 Regulace výpočtu modelu Předmět: Modelování v řízení MR 11 (Počítačová podpora) Obor C, Modul M8 ZS, 2003, K126 EKO Předn./Cvič.:
Úvod do programování Vyučující: Mgr. Vítězslav Jersák
Programování v MATLABu © Leonard Walletzký, ESF MU, 2000.
Orbis pictus 21. století Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky Blokové schéma počítače.
Algoritmizace a programování Algoritmy 4 – Vývojové diagramy (cykly)
Algoritmizace a programování Algoritmy 1 - Úvod. Základní pojmy Počítačový program Počítačový program zápis zdrojového kódu, kterému rozumí počítač zápis.
Algoritmizace a programování Algoritmy 2 – Vývojové diagramy (sekvence)
Soustavy lineárních rovnic Matematika 9. ročník Creation IP&RK.
KURZ ALGORITMIZACE A PROGRAMOVÁNÍ V JAZYCE C Lekce č. 2: Základní pojmy Bc. Radek Libovický.
Složitost algoritmu Vybrané problémy: Při analýze složitosti jednotlivých algoritmů často narazíme na problém, jakým způsobem vzít v úvahu velikost vstupu.
Financováno z ESF a státního rozpočtu ČR.
Algoritmizace – základní pojmy
Základní pojmy v automatizační technice
Inf Algoritmus.
Vytváření dokumentace algoritmů
2018/6/10 Počítačový model Kateřina Růžičková.
Příkazy cyklu (1) Umožňují vícekrát (nebo ani jednou) pro-vést určitý příkaz Jazyk C rozlišuje příkaz cyklu: s podmínkou na začátku: obecný tvar: while.
2. přednáška Differenciální rovnice
Algoritmizace a datové struktury (14ASD)
Cyklus for (1) Obecný tvar: for (výraz1; výraz2; výraz3) příkaz
Soustavy lineárních rovnic
Algoritmizace a datové struktury (14ASD)
Transkript prezentace:

Algoritmizace a datové struktury (14ASD) 3. cvičení

Algoritmus Definice Jedná se o posloupnost elementárních kroků Návod jak provést určitou činnost Přesný návod či postup, kterým lze vyřešit daný typ úlohy … Transformace vstupních dat na výstupní data Vstupy mají definované množiny hodnot, jichž mohou nabývat Algoritmus je procedura proveditelná Turingovým strojem teoretický model počítače popsaný matematikem Alanem Turingem Jedná se o posloupnost elementárních kroků Jak si jej jednoduše představit: postup pro výpočet obvodu kruhu kuchařka: recepty postup jak převést číslo ze z-adické soustavy do jiné

Vlastnosti algoritmů Elementární Deterministický Konečný Resultativní Skládá se z konečného počtu jednoduchých činností (kroky) Deterministický Po každém kroku můžeme určit zda skončil nebo v jakém kroku budeme pokračovat Konečný Musí skončit po konečném počtu kroků Resultativní Vede k výsledku Hromadný (obecný) Můžeme použít k řešení celé skupiny podobných úloh Efektivní Vede k řešení v optimálním čase - rychlost

Metody řešení algoritmů Shora dolů Postup řešení rozkládáme na jednodušší operace, až dospějeme k elementárním krokům Příkladem je kvadratická rovnice Vypočti diskriminant Podle něj rozhodneme, zda-li máme Jedno řešení Dvě řešení Dvě komplexní řešení Zdola nahoru Skupiny elementárních operací chápeme jako nové elementární kroky Postupně z elementárních kroků vytváříme prostředky, které nakonec umožní zvládnout požadovaný problém

Časová a paměťová náročnost Samotné vyřešení úlohy ještě neznamená spokojenost Často se dá úloha řešit jednodušeji (efektivněji) Musíme použít optimalizaci? Náročnost pro počítač Při komplikovanější úloze můžeme dlouho čekat na výsledek (procesor má příliš mnoho instrukcí) Časová náročnost tedy zjednodušeně může být úměrná počtu elementů, které umístíme do algoritmu Potom co nemůžeme ovlivnit: počet vstupních dat (ale…) Příklad Výpočet absolutní hodnoty zabere 3takty procesoru sin(x) nám zabere 291taktů Není to moc, ale pokud budeme kombinovat mnoho funkcí…

Základní symboly vývojového diagramu

robot Karel - pomůcka (shrnutí) Karel – elementární operace Krok – posun o jedno políčko dopředu VlevoBok – natočení o 90° vlevo Polož – položení jedné cihly na aktuální políčko Zvedni – zvednutí jedné cihly z aktuálního políčka Karel – základní podmínky JeCihla – podmínka je pravdivá, pokud Karel stojí na políčku s minimálně jednou cihlou JeSever – podmínka je pravdivá, pokud je Karel otočen k severu (nahoru) JeZeď – podmínka je pravdivá, pokud před Karlem je zeď (při provedení příkazu Krok by do ní narazil)

Nekonečný cyklus

ObejdiMístnostDokolaZrohu – Karel stojí v libovolném rohu místnosti natočený zády ke stěně. Karel má obejít místnost buď ve směru nebo proti směru hodinových ručiček, podle toho, jak je na začátku natočen. proti směru po směru

ObejdiMistnostDokola – Karel má podél zdi obejít celou místnost dokola proti směru hodinových ručiček. Výchozí pozice je neznámá, stejně tak i směr natočení. Karel má na každé políčko u zdi stoupnout minimálně jednou. zjednodušující pravidlo – na začátku Karel může „chvíli“ jít podél zdi i po směru hodinových ručiček Z V

ObejdiMistnostDokola – efektivněji (stále proti směru hodinových ručiček) Snahou je, aby Karel zbytečně nevstoupil na políčka vícekrát. Nápověda – využijte cihlu (cihly) jako "zarážku„, na počátku je místnost bez cihel. Karel vstoupí pouze na jedno políčko u zdi dvakrát, na ostatní pouze jednou. Z V

Právě5CihelVeVšechRozích – Karel projde všechna políčka v rozích místnosti a naskládá na ně tolik cihel, aby po ukončení algoritmu ve všech rozích bylo přesně 5 cihel. Na počátku nevíme, kde robot stojí a jakým směrem se dívá. Na počátku v místnosti mohou být KDEKOLIV cihly v RŮZNÉM počtu.