Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
doc. RNDr. Zdeněk Botek, CSc.
Jednoduché cykly doc. RNDr. Zdeněk Botek, CSc.
2
Jednoduché cykly Příklady
3
Jednoduché cykly Cyklus je základní nástroj na řešení algoritmických úloh spočívajících ve vyhodnocení určité vlastnosti v posloupnosti prvků a(1), a(2), a(3),… a(n). Jádro problému spočívá v určení akce, kterou algoritmus musí učinit s každým prvkem a(i) tak, aby po zpracování všech prvků posloupnosti jsme získali potřebné výsledky. Poté je třeba dopracovat nastavení hodnot před započetím cyklu a příp. výpočty a tisky po skončení cyklu.
4
Příklady cyklů
5
Jednoduché cykly Příklad 1: Je dána posloupnost n, a(1), a(2),….a(n).
Určete průměr prvků posloupnosti. Řešení: Každý prvek a(i) přičteme k dosavadnímu součtu prvků a(1),… a(i-1). Před započetím cyklu nastavíme proměnou pro výpočet součtu SUM na hodnotu nula. Po skončení cyklu vydělíme součet prvků SUM počtem prvků n. Zpracování všech prvků a(1), a(2), a(3),… a(n) realizujeme tak, že se index i nastaví na hodnotu nula před započetím tisku, před každým zpracováním prvku posloupnosti se index zvětší o jedna.
6
Jednoduché cykly – příklad 1
7
Jednoduché cykly Příklad 2: V posloupnosti n, a(1), a(2),…a(n) určete počet kladných prvků. Řešení: Jádro cyklu spočívá v testu, zda prvek a(i) je větší než nula, v tomto případě se do proměnné KLAD přičte hodnota jedna. Zbylé části algoritmu budou stejné jako v předchozím příkladu
8
Vývojový diagram
9
Jednoduché cykly Příklad 3: V posloupnosti n, a(1), a(2),…a(n) určete maximální číslo. Řešení: Jádro cyklu spočívá v testu, zda prvek a(i) je větší než dosud největší číslo průběžně uchovávané v proměnné MAX. Před započetím cyklu načteme hodnotu a(1) a tuto uložíme do proměnné MAX. Cyklus začínáme od prvku a(2).
10
Vývojový diagram
11
Jednoduché cykly Příklad 4: V posloupnosti n, a(1), a(2), … a(n) určete největší kladné číslo, průměr čísel záporných a počet prvků nulových. Řešení: Příklad je kombinací předchozích tří, každý prvek nejdříve zařadíme do větve kladných, záporných či nulových čísel, v každé větvi vykonáváme dříve známé operace pro výpočet maxima, průměru či počtu prvků.
12
Vývojový diagram
13
Jednoduché cykly Příklad 4: V posloupnosti n, a(1), a(2),…a(n) určete druhý nejmenší prvek. Řešení: Jádro cyklu spočívá ve vyhodnocení prvku a(i) s dosud nejmenším a druhým nemenším prvkem. Na začátku nastavíme hodnoty MIN1 a MIN2 prvky a(1) a a(2) dle jejich velikosti.
14
Vývojový diagram
15
Jednoduché cykly Příklad 5: V posloupnosti n,a(1), a(2) … a(n) určete délku nejdelšího řetězce. Řetězcem rozumíme souvislou podposloupnost stoupajících prvků. Řešení: U každého prvku a(i) se vyhodnotí, zda předchozí řetězec pokračuje nebo naopak, začíná nový řetězec.
16
Vývojový diagram
17
Použitá literatura [1] WIRTH, Niklaus. Algorithms data structures=programs. Englewood Cliffs, N.J.: Prentice-Hall, c1976, xvii, 366 p. ISBN [2] DRÓZD, Januš. Začínáme s programováním. 1.vyd. Praha: Grada, 1992, 306 s. ISBN X. [3] TÖPFER, Pavel. Algoritmy a programovací techniky. 2. vyd. Praha: Prometheus, 2007c1995, 300 s. ISBN [4] BOTEK, Zdeněk. Algoritmizace a programování. Vyd 1. Brno: Rektorát Masary-kovy university, 1990, 128 s. ISBN
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.