vĚtvenÍ algoritmŮ
DESCRIPTION
25. listopad 2012VY_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. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: VĚTVENÍ ALGORITMŮ](https://reader035.vdocuments.site/reader035/viewer/2022062217/568147b5550346895db4f9c6/html5/thumbnails/1.jpg)
VĚTVENÍ ALGORITMŮ
25. listopad 2012 VY_32_INOVACE_160305_Vetveni_algoritmu_DUM
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.
![Page 2: VĚTVENÍ ALGORITMŮ](https://reader035.vdocuments.site/reader035/viewer/2022062217/568147b5550346895db4f9c6/html5/thumbnails/2.jpg)
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í.
![Page 3: VĚTVENÍ ALGORITMŮ](https://reader035.vdocuments.site/reader035/viewer/2022062217/568147b5550346895db4f9c6/html5/thumbnails/3.jpg)
VĚTVENÍ - TYPYExistují tři typy větvení:
•úplné větvení (úplná podmínka)
•neúplné větvení
•vnořené větvení (vnořené podmínky)
![Page 4: VĚTVENÍ ALGORITMŮ](https://reader035.vdocuments.site/reader035/viewer/2022062217/568147b5550346895db4f9c6/html5/thumbnails/4.jpg)
Ú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ý.
![Page 5: VĚTVENÍ ALGORITMŮ](https://reader035.vdocuments.site/reader035/viewer/2022062217/568147b5550346895db4f9c6/html5/thumbnails/5.jpg)
ÚPLNÉ VĚTVENÍ – PŘÍKLAD Z
K
čti A, B,C
soucet = A+B+C
soucet >= 0
tisk „Výsledek je kladný“
tisk „Výsledek je záporný“
+ -ŘEŠENÍ
Obrázek 1
![Page 6: VĚTVENÍ ALGORITMŮ](https://reader035.vdocuments.site/reader035/viewer/2022062217/568147b5550346895db4f9c6/html5/thumbnails/6.jpg)
ÚPLNÉ VĚTVENÍ – PŘÍKLAD
Příklad:
Jsou zadaná čísla A a B. 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.
![Page 7: VĚTVENÍ ALGORITMŮ](https://reader035.vdocuments.site/reader035/viewer/2022062217/568147b5550346895db4f9c6/html5/thumbnails/7.jpg)
ÚPLNÉ VĚTVENÍ – PŘÍKLAD
C = A / B
Z
K
čti A, B
B = 0
tisk C
tisk „Dělení nulou“
+
-ŘEŠENÍ
Obrázek 1
![Page 8: VĚTVENÍ ALGORITMŮ](https://reader035.vdocuments.site/reader035/viewer/2022062217/568147b5550346895db4f9c6/html5/thumbnails/8.jpg)
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.
![Page 9: VĚTVENÍ ALGORITMŮ](https://reader035.vdocuments.site/reader035/viewer/2022062217/568147b5550346895db4f9c6/html5/thumbnails/9.jpg)
NEÚPLNÉ VĚTVENÍ – PŘÍKLAD
Obrázek 1
A = - A
Z
K
čti A
A < 0
tisk A
+-
ŘEŠENÍ
![Page 10: VĚTVENÍ ALGORITMŮ](https://reader035.vdocuments.site/reader035/viewer/2022062217/568147b5550346895db4f9c6/html5/thumbnails/10.jpg)
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.
![Page 11: VĚTVENÍ ALGORITMŮ](https://reader035.vdocuments.site/reader035/viewer/2022062217/568147b5550346895db4f9c6/html5/thumbnails/11.jpg)
VNOŘENÉ VĚTVENÍ - PŘÍKLADZ
K
čti A
A > 0
tisk „Číslo je kladné.“
tisk „Číslo je záporné.“
+
-
A < 0
tisk „Číslo je nula.“
-
+
ŘEŠENÍ
Obrázek 1
![Page 12: VĚTVENÍ ALGORITMŮ](https://reader035.vdocuments.site/reader035/viewer/2022062217/568147b5550346895db4f9c6/html5/thumbnails/12.jpg)
RELAČNÍ OPERÁTORYV 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.
![Page 13: VĚTVENÍ ALGORITMŮ](https://reader035.vdocuments.site/reader035/viewer/2022062217/568147b5550346895db4f9c6/html5/thumbnails/13.jpg)
RELAČNÍ OPERÁTORY
Funkce operátoru Značka
Rovno Je X rovno Y?
===
(ekvivalent. zápis)
Nerovno Je X různé od Y? nebo Není X rovno Y?
<>!=
(ekvivalent. zápis)
Větší než Je X větší než Y?
>
Menší než Je X menší než Y?
<
Větší nebo rovnoJe X větší nebo rovno Y?
>=
Menší nebo rovno Je X menší nebo rovno Y?
<=
Relační operátory jsou operátory, které známe z matematiky. Jejich funkcí je zjistit (porovnat) vztah mezi dvěma operandy.
![Page 14: VĚTVENÍ ALGORITMŮ](https://reader035.vdocuments.site/reader035/viewer/2022062217/568147b5550346895db4f9c6/html5/thumbnails/14.jpg)
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.
![Page 15: VĚTVENÍ ALGORITMŮ](https://reader035.vdocuments.site/reader035/viewer/2022062217/568147b5550346895db4f9c6/html5/thumbnails/15.jpg)
RELAČNÍ OPERÁTORY - PŘÍKLAD
Z
K
čti vzdalenost, litry, spotreba
dojezd = litry / spotreba * 100
dojezd >= vzdalenost tisk
„Dojedeme.“tisk
„Nedojedeme“
+ -ŘEŠENÍ
![Page 16: VĚTVENÍ ALGORITMŮ](https://reader035.vdocuments.site/reader035/viewer/2022062217/568147b5550346895db4f9c6/html5/thumbnails/16.jpg)
PŘÍKLADYNyní se pokuste vyřešit následující příklady v tomto souboru: Příklady
![Page 17: VĚTVENÍ ALGORITMŮ](https://reader035.vdocuments.site/reader035/viewer/2022062217/568147b5550346895db4f9c6/html5/thumbnails/17.jpg)
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