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/01/2019
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/01/2019
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/01/2019
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/01/2019
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/01/2019
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/01/2019
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/01/2019
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/01/2019
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/01/2019
Příkaz goto (3) Příklad: for (...) for (...) { ... if (chyba) goto oprava; ... } ... oprava:příkaz 15/01/2019
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/01/2019
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/01/2019