Toto je starší verze dokumentu!


Řídící struktury

Dělíme na funkce a příkazy

Funkce

Deklarace funkce = prototyp. double sqrt(double x); - návratový typ jméno (parametry); - deklarujeme funkci před jejím použítím, využivá se v hlavičkových souborech

Definice funkce = implementace návratový typ jméno (parametry) {telo funkce, return}

return - ukončuje provádení funkce, může být kdekoliv, ne pouze na konci, i vícekrát

- pokud funkci použijeme dříve než jí definujeme, musí být předtím deklarována.

Příkazy

Jednoduchý příkaz - zkrátka příkaz, např a = b + c;

Složený příkazy - více příkazů, složeny do bloků

V bloku mohou být lokální proměnné, i se stejným jménem jako mimo blok, mají platnost pouze v bloku. Nelze je použít mimo.

Podmíněné příkazy

klasické if/else. V některých jazycích lze pouze if, nekdě je nutná i else část. Může být v bloku i bez bloku, pokud je bez bloku, počítá se pouze první příkaz za podmínkou. Ja slovem if následuje výraz. Tyto podmínky lze libovolně vnořovat - pozor na správné zavorkovíní.

Switch - přepínač

Přepínač slouží k větvenívýpočtu podle hodnoty celočíselného výrazu (v některých jazicích to mohou být i znaky a řetězce).

  • Vyhodnotívýraz,hodnotu porovnávás casenávěštími. Pokud nalezne odpovídajícíhodnotu, předářízenína toto návěští.
  • Pokudhodnotě výrazu neodpovídá žádné návěští, je řízenípředáno návěští default.
  • Pokud default chybí a nevykoná se žádná varianta, řízení se předá bezprostředně za příkaz přepínače.
  • V jednom přepínači nelze mít dvě návěští se stejnou hodnotou, může být default nejvýše jednou
  • Návěštícaselze ukončit příkazem break. Pokud tomu tak není, program bude pokračovat přes všechna následujícínávěští, dokud nenarazína break, returnnebo konec přepínače.
  • Příkaz break může být v rámci přepínače umístěn v libovolně zanořeném bloku.
  • Příkaz break se vždy vztahuje k nejbližšímu nadřazenému přepínači nebo cyklu.
  • Pro default platí stejná pravidla jako pro ostatnínávěští. Konvence říká, že by se mělo zapisovat na konec přepínače.

Cykly

Cykly lze take libovolne vnorovat, nebo kombinovat s podminkami a vsim ostatnim.

while - while (vyraz) {telo} - dopředu neznáme počet iterací, cyklus nemusí proběhnout ani jednou.

do while - do {} while (vyraz); - proběhne alespoň jednou

for for( inicializace ; test podmínky ; zmena ridici promenne) {telo}

  • asi není nutné doprodobna vysvetlovat jednotlivé části.
  • pokud uvnitr nemanipulujeme s ridící proměnnou, známe dopředu počet opakovaní.
  • lze používat více řídících proměnných.

break - tímto příkazem lze kdykoliv ukončit nejblíže vnořený cyklus

continue - tímto příkazem lze kdykoliv ukončit aktualní opakování a začít další iteraci.

Skoky

goto

goto navesti;
printf("Toto se nikdy nevytiskne.");
navesti: printf("Toto se vytiskne.");

- nepoužívá se! - jako příkaz skoku se dá označit i break a continue, protože také přesunovou vykonávání na jiné místo.

Diskuze

Jirka Hynekgeorge, 2011/05/06 18:08

Toto mi přijde jako dobrý výpis algoritmů: http://dudka.cz/studyIAL

Jirka Hynekgeorge, 2011/05/06 18:13

Jinak by si to sgsi mohl trochu zpřehlednit. Přijde mi to tu dost naházený, že jsem nad některýma bodama musel přemýšlet, co jimi vlastně chceš sdělit.

Vložte svůj komentář
 
temata/26-datove_a_ridici_struktury/main.1297976389.txt.gz · Poslední úprava: 2011/02/17 21:59 autor: sgs
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki