Toto je starší verze dokumentu!
Větvení programu
K větvení programu slouží příkazy if a switch.
Příkaz if umožňuje větvit program na základě nějaké podmínky.
Úplný rozhodovací příkaz umožňuje zapsat příkazy, které se provedou v případě, že podmínka je splněna, a jiné příkazy, které se provedou v případě že podmínka splněna není.
Neúplný rozhodovací příkaz umožňuje zapsat příkazy, které se provedou v případě, že podmínka je splněna. Pokud podmínka splněna není, neprovede se nic a program pokračuje dál.
Větvění programu umožňuje, aby program prováděl různé příkazy na základě Pro větvení programu slouží rozhodovací příkazy if (může být buď úplný nebo neúplný) a příkaz case.
Pokud potřebujeme větvit program do dvou větví na základě nějaké logické podmínky, použijeme příkaz if. Pokud se mají provést nějaké příkazy v případě, že podmínka platí, a v případě, že podmínka neplatí, nechceme provést žádný příkaz, použijeme neúplný rozhodovací příkaz if. Jinak použijeme neúplný rozhodovací příkaz if.
Pokud potřebujeme větvit program do více větví například podle proměnné, jejíž hodnota je prvkem různých intervalů, můžeme příkazy if do sebe vnořovat. Pokud potřebujeme větvit program do více větví na základě hodnot nějakého selektoru, použijeme příkaz case.
Úplný rozhodovací příkaz
Úplný rozhodovací příkaz obsahuje části:
- hlavička s logickou podmínkou
- tělo cyklu
- příkaz nebo blok příkazů, které budou provedeny, pokud je podmínka splněna
- příkaz nebo blok příkazů, které budou provedeny, pokud je podmínka splněna není
Syntaxe úplného rozhodovacího příkazu
// S jedním příkazem v těle if (podmínka) prikaz1; else prikaz2; // S blokem příkazů v těle if (podmínka) { prikaz1a; prikaz1b; //... } else { prikaz2a; prikaz2b; //... }
Poznámky
- Středník ukončuje až celý příkaz if, za hlavičku se středník nepíše.
- Pokud je v kladné nebo záporné větvi více příkazů než jeden, musí se příkazy uzavřít do složených závorek.
- V případě, že potřebujeme definovat odlišná chování pro více hodnot než 2, můžeme použít vnořený rozhodovací příkaz.
Průběh rozhodovacího příkazu
- vyhodnocení podmínky
- podmínka platí
- vykonání první skupiny příkazů
- podmínka neplatí
- vykonání druhé skupiny příkazů za else
Výpis textu, zda celé číslo x je liché nebo sudé
Syntaxe neúplného rozhodovacího příkazu
// S jedním příkazem v těle if (podmínka) prikaz1; // S blokem příkazů v těle if (podmínka) { prikaz1a; prikaz1b; //... }
Průběh neúplného rozhodovacího příkazu
- vyhodnocení podmínky
- podmínka platí
- vykonání první skupiny příkazů
- podmínka platí
- program pokračuje vykonáváním dalších příkazů za příkazem rozhodovacím
Výpočet absolutní hodnoty čísla y = |x|
float y = x; if (x < 0) y = -y;
Seřazení dvou hodnot podle velikosti
if (a > b) // Podmínka { int pomoc = a; a = b; b = pomoc; }