Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
ZveřejnilPeter Vojtěch Horák
1
Příkazy cyklu (1) Umožňují vícekrát (nebo ani jednou) pro-vést určitý příkaz Jazyk C rozlišuje příkaz cyklu: s podmínkou na začátku: obecný tvar: while (výraz) příkaz funkce: vyhodnotí se výraz za klíčovým slovem while je-li výraz pravdivý, provede se příkaz a opět se vy-hodnotí výraz příkaz se provádí tak dlouho, dokud je výraz pravdivý v okamžiku, kdy výraz není pravdivý, program pokra-čuje dalším příkazem pozn.: příkaz nemusí být proveden ani jednou 15/06/2018
2
Příkazy cyklu (2) Poznámka: s podmínkou na konci:
obecný tvar: do příkaz while (výraz); funkce: provede se příkaz za klíčovým slovem do vyhodnotí se výraz za klíčovým slovem while je-li výraz pravdivý, provádí se příkaz znovu, v opač-ném případě program pokračuje následujícím příkazem pozn.: příkaz je vždy proveden alespoň jednou Poznámka: cyklus s podmínkou na začátku lze vždy nahra-dit cyklem s podmínkou na konci a naopak prakticky však bývá v některých případech jed-nodušší použití cyklu s podmínkou na začátku a v jiných případech cyklu podmínkou na konci 15/06/2018
3
Příkazy cyklu (3) Funkce příkazů cyklu znázorněná graficky pomocí vývojových diagramů: cyklus s podmínkou na začátku cyklus s podmínkou na konci výraz příkaz výraz příkaz 15/06/2018
4
Cyklus for (1) Obecný tvar: for (výraz1; výraz2; výraz3) příkaz
Funkce: výše uvedený příkaz je ekvivalentní konstrukci: výraz1; while (výraz2) { příkaz výraz3; } 15/06/2018
5
Cyklus for (2) Typické použití cyklu for: Poznámka:
výraz1: používán pro inicializaci (řídící) proměnné cyklu výraz2: testuje, zda má cyklus pokračovat nebo skončit výraz3: aktualizuje (řídící) proměnnou cyklu Poznámka: libovolný z výrazů v cyklu for může být vyne-chán středníky oddělující výrazy a kulaté závorky musí být uvedeny vždy 15/06/2018
6
Cyklus for (3) Příkaz for se provádí následovně:
1. je-li výraz1 uveden, vyhodnotí se a jeho hod- nota se potlačí 2. je-li výraz2 uveden, vyhodnotí se jako řídící výraz: jestliže je výsledek nulový, pak provádění cyklu for končí a program pokračuje dalším příkazem jestliže je výsledek nenulový (nebo výraz2 není uveden), pak se provede příkaz 3. je-li výraz3 uveden, vyhodnotí se a jeho hod- nota se potlačí 4. pokračuje se bodem 2 15/06/2018
7
Cyklus for (4) Poznámka:
Standard C99 dovoluje v části inicializace (výraz1) provést i definici řídící proměnné cyklu rozsah platnosti této proměnné je potom ome-zen pouze na prováděný příkaz příklad: for (int cis = 1; cis < 11; cis++) printf(”%d\n”, cis); 15/06/2018
8
Příkaz break Obecný tvar: break; Funkce: Poznámka:
způsobí předčasné ukončení cyklu (for, while nebo do), který je momentálně prová-děn program dále pokračuje příkazem, který násle-duje bezprostředně za cyklem Poznámka: příkaz break je možné použít také k předčas-nému ukončení příkazu switch 15/06/2018
9
Příkaz continue Obecný tvar: continue; Funkce:
ukončí právě prováděný průchod cyklem (for, while nebo do) řízení se předá okamžitě na konec cyklu u cyklu: while a do: vyhodnotí výraz (podmínku) za klí-čovým slovem while a poté pokračuje, resp. nepo-kračuje novým průchodem for: provede výraz3, testuje výraz2 a poté pokračuje, resp. nepokračuje novým průchodem 15/06/2018
10
Poznámka Příkazy break a continue jsou v sou-vislosti s cykly vždy nahraditelné Jejich použití může často vést k nepřehled-ným programům V našich programech budeme používat pouze příkaz break pro předčasné ukončení příkazu switch 15/06/2018
11
Příkaz goto (1) Obecný tvar: goto identifikátor; Funkce: Poznámka:
umožňuje provést nepodmíněný skok na libo-volný příkaz v rámci jedné funkce identifikátor musí být shodný s pojme-novaným návěštím u některého příkazu v rámci současné funkce způsobí předání řízení na místo označené návěštím Poznámka: návěští se od příkazu odděluje symbolem : 15/06/2018
12
Příkaz goto (2) Poznámky: v praxi je příkaz goto vždy nahraditelný
neuvážené používání příkazu goto vede mnohdy ke značně nepřehledným programům příkaz goto se používá pouze ve výjimečných případech, např. přerušení výpočtu nějaké hluboce zanořené struktury (dvou a více cyklů naráz) v našich programech příkaz goto používat nebudeme 15/06/2018
13
Příkaz goto (3) Příklad: for (...) for (...) { if (chyba) goto oprava; } ... oprava:příkaz 15/06/2018
14
Algoritmus (1) Nelze přesně definovat
Posloupnost operací, která pro přípustná vstupní data vede po konečném počtu kroků k odpovídajícím výsledkům Vlastnosti algoritmu: obecnost (hromadnost) determinovanost resultativnost efektivita 15/06/2018
15
Algoritmus (2) K zápisu algoritmu v nějakém programova-cím jazyce slouží jeho příkazy Při definici konkrétního příkazu je nezbytné popsat jeho: syntaxi (obecný tvar): struktura a způsob jeho vyjádření v daném jazyce sémantiku (funkci): význam daného příkazu, tj. akci, kterou tento příkaz provádí 15/06/2018
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.