Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

doc. RNDr. Zdeněk Botek, CSc.

Podobné prezentace


Prezentace na téma: "doc. RNDr. Zdeněk Botek, CSc."— Transkript prezentace:

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


Stáhnout ppt "doc. RNDr. Zdeněk Botek, CSc."

Podobné prezentace


Reklamy Google