170 likes | 319 Views
25. listopad 2012 VY_32_INOVACE_160305_Vetveni_algoritmu_DUM . VĚTVENÍ ALGORITMŮ. Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Mgr. Pavlína Mihačová. Obchodní akademie a Střední odborná škola logistická, Opava, příspěvková organizace.
E N D
25. listopad 2012 VY_32_INOVACE_160305_Vetveni_algoritmu_DUM VĚTVENÍ ALGORITMŮ Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Mgr. Pavlína Mihačová. Obchodní akademie a Střední odborná škola logistická, Opava, příspěvková organizace. Materiál byl vytvořen v rámci projektu OP VK 1.5 – EU peníze středním školám, registrační číslo CZ.1.07/1.5.00/34.0809.
VĚTVENÍ Jedním z nejčastějších a nejdůležitějších důvodů, proč se používá v algoritmu větvení, je ošetření nežádoucích důsledků, např. ve výrazu nedělíme nulou, výraz pod odmocninou je nezáporný, apod. Algoritmus se větví na několik částí. Která z těchto částí se vykoná, závisí často na podmínce. Pokud je tedy podmínka splněna, provede se něco jiného, než když podmínka splněna není.
VĚTVENÍ - TYPY Existují tři typy větvení: • úplné větvení (úplná podmínka) • neúplné větvení • vnořené větvení (vnořené podmínky)
ÚPLNÉ VĚTVENÍ Algoritmus se větví do dvou částí: pokud je podmínka splněna, provede se jedna část větve, pokud ne, provede se druhá část. Příklad 1: Pokud je součet zadaných čísel vyšší nebo roven nule, vytiskni, že je výsledek kladný, pokud je ale výsledek menší než nula, vytiskni, že je výsledek záporný.
ÚPLNÉ VĚTVENÍ – PŘÍKLAD ŘEŠENÍ Z čti A, B,C soucet = A+B+C soucet >= 0 - + tisk „Výsledek je kladný“ tisk „Výsledek je záporný“ Obrázek 1 K
ÚPLNÉ VĚTVENÍ – PŘÍKLAD Příklad: Jsou zadaná čísla AaB. Jestliže číslo B je rovno nule, vytiskni, že se jedná o dělení nulou, pokud je ale B různé od nuly, vytiskni podíl těchto čísel.
ÚPLNÉ VĚTVENÍ – PŘÍKLAD ŘEŠENÍ Z čti A, B + B = 0 - C = A / B tisk „Dělení nulou“ tisk C K Obrázek 1
NEÚPLNÉ VĚTVENÍ Rozdíl oproti úplné podmínce je v tom, že na jedné z větví algoritmu nemusí být žádný příkaz. To znamená, že se nemusí provést žádný příkaz a algoritmus bude pokračovat příkazy za podmínkou. Příklad: Určete absolutní hodnotu z čísla A.
NEÚPLNÉ VĚTVENÍ – PŘÍKLAD ŘEŠENÍ Z čti A - A < 0 + A = - A tisk A K Obrázek 1
VNOŘENÉ VĚTVENÍ Větev pro splněnou nebo nesplněnou podmínku je doplněna o další podmínky. Příklad: Pokud je zadané číslo větší než nula, vytiskni, že je číslo kladné, pokud je ale číslo menší než nula, vytiskni, že je číslo záporné, a v případě, že je číslo rovno nule, vytiskni, že číslo je nula.
VNOŘENÉ VĚTVENÍ - PŘÍKLAD ŘEŠENÍ Z čti A - A > 0 A < 0 - + tisk „Číslo je kladné.“ + tisk „Číslo je nula.“ tisk „Číslo je záporné.“ Obrázek 1 K
RELAČNÍ OPERÁTORY V předchozím jsme si ukázali, jak se pracuje s podmínkou. Již víme, že větev označená + se prochází v případě splnění podmínky. Větev označená − se naopak prochází v případě nesplnění podmínky. Nyní si předvedeme, jak k zápisu využít relační operátory. Používání relačních operátorů není nezbytně nutné, ale vede k rychlejšímu a často i přesnějšímu zápisu.
RELAČNÍ OPERÁTORY Relační operátory jsou operátory, které známe z matematiky. Jejich funkcí je zjistit (porovnat) vztah mezi dvěma operandy.
RELAČNÍ OPERÁTORY - PŘÍKLAD Použití relačních operátorů si ukážeme na jednoduchém příkladu výpočtu dojezdu automobilu. Příklad: Vytvořte algoritmus, kdy známe vzdálenost, kterou chceme urazit, a dále známe aktuální obsah nádrže a spotřebu. Chceme spočítat a vytisknout, jestli vzdálenost máme šanci urazit, nebo ne. UPOZORNĚNÍ - spotřeba se uvádí v litrech na 100 ujetých kilometrů, proto bude ve vzorci násobení hodnotou 100.
RELAČNÍ OPERÁTORY - PŘÍKLAD ŘEŠENÍ Z čtivzdalenost, litry, spotreba dojezd = litry / spotreba * 100 dojezd >=vzdalenost - + tisk „Dojedeme.“ tisk „Nedojedeme“ K
PŘÍKLADY Nyní se pokuste vyřešit následující příklady v tomto souboru: Příklady
CITACE ZDROJŮ ZDROJE OBRÁZKŮ: • Obrázek 1Arrows & Pointers - arrow bold right - Public Domain Clip Art. PDClipart.org - Public Domain Clip Art [online]. [cit. 2012-11-25]. Dostupné z: http://www.pdclipart.org/displayimage.php?album=27&pos=117 SOFTWARE: • Pro vytvoření vývojových diagramů byl použit Microsoft PowerPoint 2010