ALGO – Algoritmizace 1. cvičení

Slides:



Advertisements
Podobné prezentace
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.
Advertisements

Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
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ý.
Algoritmy – struktura a zápis
Pascal - větvení.
Algoritmizace Vývojové diagramy.
Algoritmizace od algoritmu k Pascalu.
ALGO – Algoritmizace 6. cvičení
Aplikace teorie grafů Základní pojmy teorie grafů
1/12 ALGO – Algoritmizace 5. cvičení 1.ročník, ZS Ing. Zdena DOBEŠOVÁ, Ph.D.
ALGO – Algoritmizace 7. cvičení 1.ročník, ZS Ing. Zdena DOBEŠOVÁ, Ph.D.
Algoritmizace 9. Ročník.
Medians and Order Statistics Nechť A je množina obsahující n různých prvků: Definice: Statistika i-tého řádu je i-tý nejmenší prvek, tj., minimum = statistika.
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í
Algoritmizace a programování Podmíněné a cyklické příkazy- 08
Seminář – Základy programování
Algoritmizace.
doc. RNDr. Zdeněk Botek, CSc.
Algoritmus po krocích rozepsaný návod k nějaké činnosti
Informatika I 2. přednáška
C – strukturované příkazy
TI 7.1 NEJKRATŠÍ CESTY Nejkratší cesty - kap. 6. TI 7.2 Nejkratší cesty z jednoho uzlu Seznámíme se s následujícími pojmy: w-vzdálenost (vzdálenost na.
Algoritmizace a základy programování
ALGO – Algoritmizace 2. cvičení
Úvod do algoritmizace Obsah: Algoritmus, algoritmizace
Složitost.
Časová složitost algoritmů, řazení a vyhledávání
Obchodní akademie, Náchod, Denisovo nábřeží 673
Cvičení.
Algoritmizace a programování Vývojové diagramy - 03
7. Typ soubor Souborem dat běžně rozumíme uspořádanou množinu dat, uloženou mimo operační paměť počítače (na disku). Pascalský soubor je abstrakcí skutečného.
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.
Gymnázium, Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Hodonín Úvod do programování.
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é.
Automatizovaná podpora výběru nástroje pro dobývání znalostí Jakub Štochl.
Kanonické indexování vrcholů molekulového grafu Molekulový graf: G = (V, E, L, ,  ) Indexování vrcholů molekulového grafu G: bijekce  : V  I I je indexová.
Algebra v informatice Antonín Jančařík.
Pascal – if Mgr. Lenka Švancarová.
NP-úplné problémy v grafech
Pascal – strukturované příkazy
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 1 / 15Doc. Josef Kolář (ČVUT)NP-úplné problémyGRA, LS 2012/13, Lekce 13 1 / 14 NP-ÚPLNÉ.
ALGO – Algoritmizace 7. cvičení – ročník, ZS Ing. Zdena DOBEŠOVÁ, Ph.D.
Pascal - větvení.
Úvod do programování Vyučující: Mgr. Vítězslav Jersák
Programování v MATLABu © Leonard Walletzký, ESF MU, 2000.
Algoritmizace. Co je to algoritmizace? Algoritmizace je postup při tvorbě programu pro počítač, kterým lze prostřednictvím algoritmu řešit nějaký problém.
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.
KURZ ALGORITMIZACE A PROGRAMOVÁNÍ V JAZYCE C Lekce č. 2: Základní pojmy Bc. Radek Libovický.
NEJKRATŠÍ CESTY Nejkratší cesty - kap. 6.
Základní pojmy v automatizační technice
Inf Cykly ve vývojových diagramech
Algoritmizace – základní pojmy
Základní pojmy v automatizační technice
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.
© Copyright Radim Štefan
1 Lineární (vektorová) algebra
Algoritmizace a programování
CYKLUS S PODMÍNKOU NA ZAČÁTKU (se vstupní podmínkou)
Cyklus for (1) Obecný tvar: for (výraz1; výraz2; výraz3) příkaz
Algoritmizace a datové struktury (14ASD)
Transkript prezentace:

ALGO – Algoritmizace 1. cvičení ročník, ZS Ing. Zdena DOBEŠOVÁ, Ph.D.

Algoritmus - algorithm rytmus Definice: Algoritmem rozumíme postup řešení, kterým lze řešit třídu problémů. Každý algoritmus musí mít tyto vlastnosti: Konečnost a resultativnost ukončí se v reálném čase a s konkrétním výsledkem Hromadnost není pouze pro jeden problém, ale pro celou řadu (třídu) problémů (aritmetický průměr) Jednoznačnost – viz. násl.

Vlastnosti algoritmu Jednoznačnost přechod do následujícího stavu algoritmu je jednoznačně určen výsledkem stavu předchozího algoritmus složen z kroků každý krok je charakterizován jako přechod z jednoho stavu do jiného stav algoritmu je dán zpracovávanými daty (stavem dat po zpracování kroku) a to určí následující krok

3 typy algoritmických problémů řešitelné za přijatelnou dobu a na realizovatelném počítači 2. řešitelné, ale nepřijatelná doba ale realizovatelný počítač 3. neřešitelné z principu puzzle ETERNITY 28. 7. 2008, 2 milióny dolarů

1. Řešitelný algoritmus požadavek na skončení algoritmu pro libovolný legální vstup (sčítání dvou písmen !) vrácení správného výsledku Časová složitost funkce počtu zpracovaných elementů O=f (N) Prostorová složitost kolik paměti pro provedení výpočtu (i dynamické struktury- zásobník)

Definice složitosti Je-li definice složitosti dána funkcí O: O = N2 + 5N – 5, pak říkáme, že složitost je řádu N2 a zapisujeme O(N2), kde N je počet zpracovaných elementů obvyklé řády složitosti: 1, Log2N, N Log2N, N, N2 ,N3, 2N, N!, Nn rozumně použitelné alg. s polynomiální složitostí, exponenciální složitost nejsou prakticky použitelné

Numerické a nenumerické algoritmy numerické algroritmy operace nad čísly, řeší matematické problémy nenumerické algroritmy obecné úlohy, vstup není množina čísel, ale musí se transformovat do numerické oblasti – viz. násl.

Příklad nenumerické úlohy Bludiště Jak lze najít cestu ven z bludiště, existuje-li? Řešení: Na každém rozcestí, kterého se dosáhne, se zjistí všechny možné cesty, jimiž lze pokračovat, vybere se jedna z nich, ostatní se zapamatují. Tímto postupem se postupuje dopředu tak dlouho, pokud to jde nebo dokud se nedostane do situace, ve které se již bylo. Nejde-li postupovat dál, návrat na poslední rozcestí, kde došlo k rozhodnutí a výběr jiné cesty, kterou se dosud nešlo. Speciální případ algoritmického vyhledávání – prohledávání s návratem – backtraking. nevýhoda – velká časová náročnost

Způsob zápisu algoritmu slovní popis (kuchařka) vývojový diagram strukturogram zápis v programovacím jazyku (pseudojazyku)

Vývojový diagram Definice: Vývojový diagram je orientovaný graf sloužící pro zápis algoritmu, jehož uzly odpovídají jednotlivým krokům nebo stavům zpracování úlohy a hrany určují směr postupu výpočtu. ČSN ISO/IEC 14598-1 (369028) Informační technologie - Hodnocení softwarového produktu Symboly vývojových diagramů pro systémy zpracování dat

PSEUDOJAZYK návrat k textovému popisu odsazení textu doprava každá dílčí struktura začíná a končí speciálními příkazy – podoba se skutečnými jazyky (BASIC, Pascal, Visual Basic) Read number N While N <> 0 Print N If N sude Print “sude cislo” Else Print “liche cislo” End if End while

Příklad Sestavte program pro výpočet poloviční hodnoty součtu a rozdílu vstupních čísel X a Y. PSEUDOJAZYK: READ ČÍSLO X, Y A = ( X + Y ) / 2 B = ( X – Y ) / 2 PRINT X, Y, A, B

Řídící struktury – větvení programu testujeme podmínku: splnění nebo nesplnění podmínky If podmínka then příkaz End if příkaz 1 Else příkaz 2

Příklad – Najdi větší číslo Sestavte algoritmus, který ze dvou vstupních čísel vytiskne větší z nich. Read X, Y max = X If max < Y then max = Y End if Tisk X, Y, max

Příklad – Porovnání dvou čísel Pro dvojici čísel X, Y sestavte algoritmus, který vytiskne: číslo 1, jestliže X < Y číslo 2, jestliže X > Y číslo 0, jestliže X = Y ČTI X,Y IF X < Y THEN VYSLEDEK = 1 ELSE IF X = Y THEN VYSLEDEK = 0 VYSLEDEK = 2 END IF TISK VYSLEDEK JE VÍCE ŘEŠENÍ !

DÚ – Kladné nebo záporné ? Pro číslo X sestavte algoritmus, který vytiskne: číslo - 50, jestliže X je záporné číslo + 50, jestliže X je kladné číslo 0, jestliže X je rovno nule.