Algoritmizace a programování Podmíněné a cyklické příkazy- 08 IKT Algoritmizace a programování Algoritmizace a programování Podmíněné a cyklické příkazy- 08 Mgr. Josef Nožička www.zlinskedumy.cz
Anotace Materiál poskytuje žákům souhrnný přehled všech podmíněných a cyklických příkazů, používaných v programovacím jazyce Delphi. Musí být doplněn výkladem. Autor Mgr. Josef Nožička (Autor) Jazyk Čeština Očekávaný výstup 26–41-M/01 Elektrotechnika 23-41-M/01 Strojírenství Speciální vzdělávací potřeby - žádné - Klíčová slova Příkaz, if, case, while, repeat, for Druh učebního materiálu Prezentace Druh interaktivity Kombinované Cílová skupina Žák Stupeň a typ vzdělávání odborné vzdělávání Typická věková skupina 16 - 19 let Vazby na ostatní materiály Je součástí IKT.
Podmíněné příkazy Podmíněné příkazy slouží k rozvětvení programu na 2 větve (při použití příkazu if), případně i na více větví (při použití příkazu case). Příkaz if je velmi frekventovaný a vyskytuje se téměř v každém algoritmu, příkaz case je možno nahradit vícenásobným použitím příkazu if). Pro přehlednost zdrojového kódu se však doporučuje v případě rozvětvení na více větví raději použít příkaz case.
Příkaz IF Vývojový diagram: Zápis v prog. jazyce: if podmínka then kladná větev else záporná větev; Vysvětlení: Program vyhodnotí podmínku (logický výraz). V případě, že je pravdivá, vykoná se kladná větev, v opačném případě se vykoná záporná větev.
Příkaz IF - pokračování Poznámky: Záporná větev (else) není povinná. V tomto případě se vykoná kladná větev, pokud je podmínka pravdivá, v případě její nepravdivosti se pokračuje v programu prvním příkazem, následujícím za if. Hovoříme zde o tzv. neúplném větvení. Jestliže je v kterékoliv větvi příkazu if více než jeden příkaz, je třeba tyto příkazy ohraničit klíčovými slovy begin a end. Toto pravidlo platí i u následujícího příkazu case. Zápis neúplného větvení: If podmínka then kladná větev;
Příkaz CASE Vývojový diagram: Zápis v prog. jazyce: case (proměnná) of 'a': příkazy větve a; 'b': příkazy větve b; 'c': příkazy větve c; 'd': příkazy větve d; else begin příkazy, které se provedou, pokud není ani jedna z podmínek pravdivá; end;
Příkaz CASE - pokračování Vysvětlení: Program vyhodnotí hodnotu proměnné (musí být ordinálního typu), napsané za klíčovým slovem case. Pokud se její hodnota shoduje s některou z hodnot, zapsaných u návěští jednotlivých větví (v obecném zápise označené jako a, b, c, d), provedou se příkazy této větve. Pokud se ani jedna z hodnot neshoduje, vykonají se příkazy, zapsané ve větvi else. Větev else je přitom stejně jako u příkazu if nepovinná. Poznámka: Počet větví může být u příkazu case libovolný. V případě, že je jich více než 3, doporučuje se z důvodu lepší přehlednosti programu použít raději příkaz case namísto několikanásobného použití příkazu if.
Cyklické příkazy Příkazy cyklu umožňují vícenásobné opakování jednoho nebo i celé posloupnosti příkazů. V Delphi existují 3 příkazy cyklu: while, repeat until a for. Cykly while a repeat until jsou v podstatě srovnatelné, algoritmus, který lze zapsat pomocí jednoho z těchto cyklů, lze vždy zapsat i pomocí druhého z nich. Cyklus for bývá z důvodů nejjednoduššího sestavení mezi programátory nejoblíbenější, lze jej však použít pouze v případě, kdy je dopředu znám počet opakování.
Cyklus WHILE Vývojový diagram: Zápis v prog. jazyce: while podmínka do begin tělo cyklu end; Vysvětlení: Příkazy, zapsané v těle cyklu, se opakují tak dlouho, dokud je podmínka pravdivá. Jakmile se podmínka stane nepravdivou, opakování se ukončí a program pokračuje prvním příkazem, který následuje za cyklem.
Cyklus REPEAT UNTIL Vývojový diagram: Zápis v prog. jazyce: repeat tělo cyklu until podmínka; Vysvětlení: Příkazy, zapsané v těle cyklu, se na rozdíl od cyklu while opakují, dokud je podmínka nepravdivá. Jakmile se podmínka stane pravdivou, opakování se ukončí a program pokračuje prvním příkazem, který následuje za cyklem. Tělo cyklu se zde vždy provede aspoň jednou.
Cyklus FOR Vývojový diagram: Zápis v prog. jazyce: For i:=1 to n do begin tělo cyklu end; Vysvětlení: Příkaz for je cyklus s pevně daným počtem opakování. Počet opakování zde vychází z hodnoty, zapsané za klíčovým slovem to a z počáteční hodnoty proměnné, zapsané za klíčovým slovem do. Tato proměnná i zmíněná hodnota přitom musí být ordinálního typu.
Zdroje HÁLA, Tomáš. Učebnice Pascalu. Praha: Computer Press, 2002, ISBN 80-722-6733-7. ORAVA, Martin. Animace třídících algoritmů a programových struktur. Uherské Hradiště: SŠPH Uherské Hradiště, 2010 (maturitní práce)