Programování C#
Název školy | Vyšší odborná škola obalové techniky a Střední škola, Štětí, příspěvková organizace | ||
Adresa školky | Kostelní 134, 411 08 Štětí | ||
IČ | 46773509 | ||
Název operačního programu | OP Vzdělávání pro konkurenceschopnost | ||
Registrační číslo | CZ.1.07/1.5.00/34.1006 | ||
Označení vzdělávacího materiálu | VY_32_INOVACE_23_PRG_451 | ||
Název tématické oblasti (sady) | Programování | ||
Název materiálu | Přepínač | ||
Anotace | Představení řídící konstrukce, která dokáže ovlivňovat, které bloky kódu se vykonají, a které ne. Na základě vstupního výrazu se provede požadovaná akce. | ||
Autor | Ivan Pomykacz | Jazyk | čeština |
Očekávaný výstup | Píše komplexnější programové konstrukce. Chápe sekvenčnost vykonávání kódu a možnosti některé části přeskočit pomocí řídící konstrukce na základě vstupního výrazu. | ||
Klíčová slova | řídící konstrukce, přepínač | ||
Druh výukového zdroje | Pracovní list | Věková skupina žáků | 15+ |
Typ interakce | aktivita | Ročník | 1. |
Speciální vzdělávací potřeby | žádné | ||
Zhotoveno, (datum/období) | 30.09.2013 | Celková velikost |
Obsah
Shrnutí
Řídící konstrukce umožňují usměrňovat tok kódu, tj. vykonávání některých příkazů a jiné třeba přeskočit (vynechat). Jsou to právě tyto konstrukce, díky kterým můžeme tvořit různé algoritmy a výsledné programy pak skutečně něco "dělají".
switch
Konstrukt přepínače (switch) je na syntaxi poněkud těžkopádnější. Ale protože ještě neznáme jiné konstrukce, tak není s čím porovnávat.
Přepínač uvozujeme klíčovým slovem switch() společně s kulatými závorkami, do kterých se zapisuje condition podmínka, neboli výraz, který se bude vyhodnocovat.
Následuje tělo switche, které je uzavřeno do složených závorek { }.
Všimněte si, že zatím žádný středník.
switch (1) { }
Do těla switche se vkládají tzv. case (případ). Switch pak na základě podmínky rozhodne, který case (případ) vykoná. Přičemž u každého case je uvedená hodnota (v příkladu níže to jsou čísla 1 a 2), pro kterou existuje případ.
Každý case je ukončen příkazem break;.
switch (1) { case 1: Console.WriteLine("Volba 1"); break; case 2: Console.WriteLine("Volba 1"); break; default: Console.WriteLine("Neznámá volba"); break; }
Je-li tedy výraz ve switchi (v kulatých závorkách) roven hodnotě 1, pak by program při spuštění vypsal text "Volba 1"
Právě uvedený příklad tak trochu pozbývá smysl. V podmínce switche je totiž hodnota 1 a vždy tam bude, tudíž se na ostatní případy nikdy nedostane.
Poslední blok v těle konstruktu switch je blok default. Je-li uveden (není totiž povinný), pak se provede vždy, když žádný case neodpovídá zadané podmínce. Pokud byste změnili hodnotu v podmínce switche z 1 na 3, pak by se provedl právě blok default.
Příklad
Následující ukázka ukazuje poněkud smysluplnější využití switche. Uživatel je nejprve vyzván k zadání písmene "a" nebo "b" a podle této volby pak switch rozhodne, který blok kódu provede.
using System; namespace Prepinac { class MainClass { public static void Main (string[] args) { Console.WriteLine("Program: Přepínač v1.0\n"); string volba; Console.Write("Zvol buď \"a\" nebo \"b\": "); volba = Console.ReadLine(); switch (volba) { case "a": Console.WriteLine("Áčko"); break; case "b": Console.WriteLine("Béčko"); break; default: Console.WriteLine("Neznám"); break; } Console.Write("Press any key to continue . . . "); Console.ReadKey(true); } } }