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

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

Doc. RNDr. Zdeněk Botek, CSc. Jednoduché cykly. Příklady.

Podobné prezentace


Prezentace na téma: "Doc. RNDr. Zdeněk Botek, CSc. Jednoduché cykly. Příklady."— Transkript prezentace:

1 doc. RNDr. Zdeněk Botek, CSc. Jednoduché cykly

2 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

5 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. Jednoduché cykly

6

7 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 Jednoduché cykly

8

9 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). Jednoduché cykly

10

11 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ů. Jednoduché cykly

12

13 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. Jednoduché cykly

14

15 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. Jednoduché cykly

16

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. Jednoduché cykly. Příklady."

Podobné prezentace


Reklamy Google