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

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

Vývojové diagramy a základy algoritmizace Vývojový diagram je grafické vyjádření požadovaného algoritmu (znázornění jednotlivých příkazů, ze kterých se.

Podobné prezentace


Prezentace na téma: "Vývojové diagramy a základy algoritmizace Vývojový diagram je grafické vyjádření požadovaného algoritmu (znázornění jednotlivých příkazů, ze kterých se."— Transkript prezentace:

1 Vývojové diagramy a základy algoritmizace Vývojový diagram je grafické vyjádření požadovaného algoritmu (znázornění jednotlivých příkazů, ze kterých se algoritmus skládá). Vývojový diagram je grafické vyjádření požadovaného algoritmu (znázornění jednotlivých příkazů, ze kterých se algoritmus skládá). Pro vývojový diagram se používají stanovené značky, které nelze měnit. Pro vývojový diagram se používají stanovené značky, které nelze měnit. 4

2 Vývojový diagram nejdůležitější značky spojnice spojnice - orientované - neorientované

3 Nejdůležitější značky mezní značky mezní značky Program END RETURN ZAČÁTEK KONECRETURN

4 Nejdůležitější značky ruční zadání vstupních dat ruční zadání vstupních dat A R=

5 Nejdůležitější značky zpracování zpracování Výpočet VÝPOČET C=A+B

6 Nejdůležitější značky výstup výstup vstup vstup spojka spojka Tisk TISK 4 4 Tisk ČTI: A, B

7 Nejdůležitější značky podmínka (rozhodování) podmínka (rozhodování) A>20 NE ANO A>20

8 Nejdůležitější značky přepínání přepínání

9 Nejdůležitější značky cyklus cyklus

10 Nejdůležitější značky čtení z bloku dat čtení z bloku dat podprogram podprogram čti: N, A1 Čti: N, A1 6200

11 Začátek a konec algoritmu

12 Špatný algoritmus, protože byla porušena podmínka rezultativnosti - konečnosti - algoritmus musí proběhnout v konečném počtu kroků Špatný algoritmus, protože byla porušena podmínka rezultativnosti - konečnosti - algoritmus musí proběhnout v konečném počtu kroků Písnička se bude zpívat pořád dokola a nikdy neskončí Písnička se bude zpívat pořád dokola a nikdy neskončí Došlo k zacyklení programu Došlo k zacyklení programu

13

14

15 Špatný algoritmus, protože byla porušena podmínka rezultativnosti - konečnosti - algoritmus musí proběhnout v konečném počtu kroků Špatný algoritmus, protože byla porušena podmínka rezultativnosti - konečnosti - algoritmus musí proběhnout v konečném počtu kroků Co když hned ze začátku je I větší než 10? Co když hned ze začátku je I větší než 10? Došlo k zacyklení programu Došlo k zacyklení programu

16

17 Věcná správnost algoritmu

18 Špatný algoritmus, protože byla porušena podmínka věcné správnosti Špatný algoritmus, protože byla porušena podmínka věcné správnosti Algoritmus je funkční, ale dostaneme nesprávný výsledek Algoritmus je funkční, ale dostaneme nesprávný výsledek

19 V programech nelze použít zlomkové čáry – používá se lomítko / V programech nelze použít zlomkové čáry – používá se lomítko /Rovnici Musíme zapsat takto: X:=(A+B)/(C+D) V programech nelze použít √ (odmocninu) a. (násobení) V programech nelze použít √ (odmocninu) a. (násobení) Místo znaku √ používáme výraz SQRT a místo znaku. používáme znak * Místo znaku  používáme výraz PI

20 Jednoznačnost algoritmu

21 Špatný algoritmus, protože byla porušena podmínka jednoznačnosti – (determinovanost - podmíněnost) - všechny operace i jejich návaznosti musí být jednoznačně určeny (definovány) a nic nesmí být náhodné Špatný algoritmus, protože byla porušena podmínka jednoznačnosti – (determinovanost - podmíněnost) - všechny operace i jejich návaznosti musí být jednoznačně určeny (definovány) a nic nesmí být náhodné

22

23

24 Co když ve jmenovateli bude 0? Co když ve jmenovateli bude 0? Musíme ošetřit hodnoty, které se blíží k nekonečnu Musíme ošetřit hodnoty, které se blíží k nekonečnu Pokud je řešení v oboru reálných čísel, nesmí být výraz pod odmocninou záporný Pokud je řešení v oboru reálných čísel, nesmí být výraz pod odmocninou záporný Jsou to nejzávažnější chyby v programech Jsou to nejzávažnější chyby v programech

25

26 Obecnost algoritmu 5

27 Špatný algoritmus, protože byla porušena podmínka obecnosti – (hromadnosti) - algoritmus musí řešit úlohu pro různé vstupní hodnoty Špatný algoritmus, protože byla porušena podmínka obecnosti – (hromadnosti) - algoritmus musí řešit úlohu pro různé vstupní hodnoty

28

29 Opakovatelnost algoritmu

30 Špatný algoritmus, protože byla porušena podmínka opakovatelnosti - při stejných vstupních hodnotách musíme dostat vždy stejný výsledek Špatný algoritmus, protože byla porušena podmínka opakovatelnosti - při stejných vstupních hodnotách musíme dostat vždy stejný výsledek Proměnná I je neznámá Proměnná I je neznámá

31

32 Sekvence Sekvence je nejjednodušším typem algoritmu, který se skládá (kromě mezních značek) pouze ze sekvenčních bloků Sekvence je nejjednodušším typem algoritmu, který se skládá (kromě mezních značek) pouze ze sekvenčních bloků Během sekvence nesmí docházet k větvení algoritmu ani k návratu zpět Během sekvence nesmí docházet k větvení algoritmu ani k návratu zpět

33 Příklad (A=5, B=10) – co se zobrazí na konci programu?

34 Příklad (1) Je dán obdélník o stranách A, B. Vytvořte algoritmus pro výpočet obvodu (O) a obsahu (S) tohoto obdélníka. Je dán obdélník o stranách A, B. Vytvořte algoritmus pro výpočet obvodu (O) a obsahu (S) tohoto obdélníka.

35 Příklad (2) Je dána kružnice o poloměru R. Vytvořte algoritmus pro výpočet obvodu (O) této kružnice a výpočet obsahu (S) kruhu, který leží uvnitř této kružnice. Je dána kružnice o poloměru R. Vytvořte algoritmus pro výpočet obvodu (O) této kružnice a výpočet obsahu (S) kruhu, který leží uvnitř této kružnice.

36 Příklad (3) Je dán rovnostranný trojúhelník o stranách A. Vytvořte algoritmus pro výpočet obvodu (O) a obsahu (S) tohoto trojúhelníka. Je dán rovnostranný trojúhelník o stranách A. Vytvořte algoritmus pro výpočet obvodu (O) a obsahu (S) tohoto trojúhelníka. Malá nápověda Malá nápověda

37 Příklad (4) Je dán pravoúhlý trojúhelník o stranách A, B, C. Vypočítejte stranu C podle Pythagorovi věty. Je dán pravoúhlý trojúhelník o stranách A, B, C. Vypočítejte stranu C podle Pythagorovi věty.

38 Větvení Nejčastějším důvodem větvení je ošetření nežádoucích důsledků. Nejčastějším důvodem větvení je ošetření nežádoucích důsledků. Musí být ošetřeny všechny možnosti, které mohou nastat. Musí být ošetřeny všechny možnosti, které mohou nastat. Dělení Dělení Výpočet výrazů s odmocninou Výpočet výrazů s odmocninou Další funkce (goniometrické) Další funkce (goniometrické) 6

39 Situace se musí nejdříve Situace se musí nejdřívevyhodnotit Teprve poté se provede Teprve poté se provedečinnost

40 Příklad (5) Vytvořte algoritmus pro výpočet výrazu tak, aby se výpočet alespoň jednou uskutečnil. Vytvořte algoritmus pro výpočet výrazu tak, aby se výpočet alespoň jednou uskutečnil.

41 Příklad (6) Vytvořte algoritmus pro výpočet výrazu Vytvořte algoritmus pro výpočet výrazu

42 Příklad (7) Vytvořte algoritmus pro výpočet výrazu Vytvořte algoritmus pro výpočet výrazu

43 Větvení z důvodu žádoucích možností Výpočet absolutní hodnoty čísla A U tohoto příkladu nejde o ošetření nežádoucího jevu

44 Příklad (8) Vytvořte algoritmus pro zjištění zda zadané číslo je kladné, či záporné Vytvořte algoritmus pro zjištění zda zadané číslo je kladné, či záporné

45 Příklad (9) Vytvořte algoritmus pro porovnávání a řazení dvou čísel od největšího do nejmenšího Vytvořte algoritmus pro porovnávání a řazení dvou čísel od největšího do nejmenšího

46 Příklad Vytvořte algoritmus pro nalezení největšího ze tří zadaných čísel Vytvořte algoritmus pro nalezení největšího ze tří zadaných čísel

47

48

49 Příklad (10) Vytvořte algoritmus pro určení, zda tři čísla A, B, C mohou tvořit strany trojúhelníka Vytvořte algoritmus pro určení, zda tři čísla A, B, C mohou tvořit strany trojúhelníka 7

50 Příklad (11) Vytvořte algoritmus pro řešení lineární rovnice Vytvořte algoritmus pro řešení lineární rovnice A*X + B =0 Proměnné A, B jsou načítány zvenčí X – hledaný kořen rovnice

51 Příklad (12) Vytvořte algoritmus pro zjištění zda daný žák prospěl s vyznamenáním, prospěl nebo neprospěl. Pro vstup použijte známky ze dvou předmětů. Vytvořte algoritmus pro zjištění zda daný žák prospěl s vyznamenáním, prospěl nebo neprospěl. Pro vstup použijte známky ze dvou předmětů. Diagram nakreslete ve wordu a uložte ho na flash disk. Ukládaný soubor pojmenujte svým příjmením. Diagram nakreslete ve wordu a uložte ho na flash disk. Ukládaný soubor pojmenujte svým příjmením.

52 Příklad (13) Vytvořte algoritmus pro vytvoření kalkulačky, která bude pracovat se dvěma čísly. Požadované matematické operace: Vytvořte algoritmus pro vytvoření kalkulačky, která bude pracovat se dvěma čísly. Požadované matematické operace: Sčítání Sčítání Odečítání Odečítání Násobení Násobení Dělení Dělení

53 Příklad (14) Vytvořte algoritmus pro výpočet veličin rychlost, dráha a čas pohybu rovnoměrného přímočarého Vytvořte algoritmus pro výpočet veličin rychlost, dráha a čas pohybu rovnoměrného přímočarého

54 Cykly Jsou jedním z nejsilnějších nástrojů algoritmů Jsou jedním z nejsilnějších nástrojů algoritmů Podstatou je opakování určité části algoritmu Podstatou je opakování určité části algoritmu Cyklus musí být konečný Cyklus musí být konečný Cykly s pevným počtem opakování Cykly s pevným počtem opakování Cykly řízené podmínkou s podmínkou na začátku cyklu Cykly řízené podmínkou s podmínkou na začátku cyklu Cykly řízené podmínkou s podmínkou na konci cyklu Cykly řízené podmínkou s podmínkou na konci cyklu 8

55 Nekonečný cyklus

56 Cyklus s pevným počtem opakování

57 Některá další značení cyklu

58 Správně zapsaný algoritmus pro tři opakování

59 Cyklus řízený podmínkou podmínka je na začátku

60 Cyklus řízený podmínkou podmínka je na konci

61 Čekací smyčka

62 Příklad (15) Vytvořte algoritmus pro výpočet výsledného odporu R, který se skládá ze dvou paralelních odporů R1 a R2. Vytvořte algoritmus pro výpočet výsledného odporu R, který se skládá ze dvou paralelních odporů R1 a R2. Algoritmus bude fungovat tak, že budete moci postupně zadávat různé hodnoty odporů R1 a R2 pro výpočet výsledného odporu R. Algoritmus bude fungovat tak, že budete moci postupně zadávat různé hodnoty odporů R1 a R2 pro výpočet výsledného odporu R.

63 Příklad (16) Vytvořte algoritmus pro zobrazení čísel od jedničky do desítky Vytvořte algoritmus pro zobrazení čísel od jedničky do desítky

64 Příklad (17) Vytvořte algoritmus pro sečtení čísel od jedničky do desítky Vytvořte algoritmus pro sečtení čísel od jedničky do desítky

65 Příklad (18) Vytvořte algoritmus pro výpočet faktoriálu zadaného čísla Vytvořte algoritmus pro výpočet faktoriálu zadaného čísla


Stáhnout ppt "Vývojové diagramy a základy algoritmizace Vývojový diagram je grafické vyjádření požadovaného algoritmu (znázornění jednotlivých příkazů, ze kterých se."

Podobné prezentace


Reklamy Google