Programování
Řídící strukutury
Řídicí struktura je v informatice konstrukce pro zápis počítačového programu. Řídicí struktury jsou používány ve vyšších programovacích a skriptovacích jazycích. Rozhodují o dalším provádění programu: větví jeho běh, vytváří cykly nebo jinak mění běh programu.
Dělí se:
Větvené
IF podmínka
Podmínky zapisujeme pomocí klíčového slova if, za kterým následuje logický výraz . Pokud je výraz pravdivý, provede se následující příkaz. Pokud ne, následující příkaz se přeskočí a pokračuje se až pod ním.
Do if píšeme něco co se jmenuje Boolean expression, což je výraz, který může být pravdivý nebo nepravdivý.
If se bude vyskytovat dále i v cyklech.

== rovná se
!= nerovná se
> větší než
< menší než
>= větší nebo rovno
<= menší nebo rovno
            
    if (Boolean expression (podmínka)) 
    {
      // blok kodu, který se vykoná
    }
            
        
Pokud se podmínka nesplní, můžeme použít klíčové slovo else, které se vykoná, pokud se podmínka nesplní.
        
    if (Boolean expression (podmínka)) 
    {
      // blok kodu, který se vykoná
    }
    else
    {
      // blok kodu, který se vykoná, pokud se podmínka nesplní
    }
            
        
Pokud chceme napsat více podmínek, můžeme použít klíčové slovo else if, které se vykoná, pokud se předchozí podmínka nesplní.
        
    if (Boolean expression (podmínka)) 
    {
      // blok kodu, který se vykoná
    }
    else if(Boolean expression (podmínka))
    {
      // blok kodu, který se vykoná, pokud se podmínka nesplní, ale jiná ano
    }
    else
    {
      // blok kodu, který se vykoná, pokud se ani jedna podmínka nesplní
    }
            
        
Tímto způsobem můžeme zapsat kolik chceme podmínek.
Fun fact
Celý dialog postav ve hře Undertale je udělaný else if a switch podmínkami. Takže pokud si myslíte, že váš kod stojí za nic. Tahle hra je jedná z nejlepších her všech dob.
Zdroj: reddit
Více informací: itnetwork
Nebo anglicky: w3schools
Switch
Konstrukce switch je převzatá z jazyka C (jako většina gramatiky C#). Umožňuje nám zjednodušit (relativně) zápis více podmínek pod sebou.
Switch je vyjimečný v tom, že muže porovnávat 2 typy
  • Relační vzor - porovnání výsledku výrazu s konstantou.
  • Konstantní vzor - Otestujte, jestli se výsledek výrazu rovná konstantě.


        
    DisplayMeasurement(-4);  // Output: Measured value is -4; too low.
    DisplayMeasurement(5);  // Output: Measured value is 5.
    DisplayMeasurement(30);  // Output: Measured value is 30; too high.
    DisplayMeasurement(double.NaN);  // Output: Failed measurement.

    void DisplayMeasurement(double measurement)
    {
        switch (measurement)
        {
            case < 0.0: // Jeden případ, který existuje
                Console.WriteLine($"Measured value is {measurement}; too low.");
                break;

            case > 15.0:
                Console.WriteLine($"Measured value is {measurement}; too high.");
                break;

            case double.NaN:
                Console.WriteLine("Failed measurement.");
                break;

            default: // Pokud nesplní ani jednu podmínku, tak se provede tohle
                Console.WriteLine($"Measured value is {measurement}.");
                break;
        }
    }
            
        
Je možné spojit více case dohromady, pokud chceme, aby měli stejný výsledek.
        
    DisplayMeasurement(-4);  // Output: Measured value is -4; out of an acceptable range.
    DisplayMeasurement(50);  // Output: Measured value is 50.
    DisplayMeasurement(132);  // Output: Measured value is 132; out of an acceptable range.

    void DisplayMeasurement(int measurement)
    {
        switch (measurement)
        {
            case < 0:
            case > 100:
                Console.WriteLine($"Measured value is {measurement}; out of an acceptable range.");
                break;

            default:
                Console.WriteLine($"Measured value is {measurement}.");
                break;
        }
    }
            
        
[Pokročilé]
Lze porovnávat i více prvnků najednou, avšak zápis je tročku složitější.
        
    DisplayMeasurements(3, 4);  // Output: First measurement is 3, second measurement is 4.
    DisplayMeasurements(5, 5);  // Output: Both measurements are valid and equal to 5.

    void DisplayMeasurements(int a, int b)
    {
        switch ((a, b))
        {
            case (> 0, > 0) when a == b:
                Console.WriteLine($"Both measurements are valid and equal to {a}.");
                break;

            case (> 0, > 0):
                Console.WriteLine($"First measurement is {a}, second measurement is {b}.");
                break;

            default:
                Console.WriteLine("One or both measurements are not valid.");
                break;
        }
    }
            
        
Více informací: learn.microsoft
Cykly
Jak již slovo cyklus napoví, něco se bude opakovat. Když chceme v programu něco udělat 100x, jistě nebudeme psát pod sebe 100x ten samý kód, ale vložíme ho do cyklu. Cyklů máme několik druhů.
For
Tento cyklus má stanovený pevný počet opakování a hlavně obsahuje tzv.řídící proměnnou (celočíselnou) , ve které se postupně během běhu cyklu mění hodnoty. Syntaxe (zápis) cyklu for je následující:
    
    for (promenna; podminka; prikaz)
    {
        //Blok kodu, který se vykona
    }
            
        
  • promenna - je řídící proměnná cyklu, které nastavíme počáteční hodnotu (nejčastěji 0, protože v programování vše začíná od nuly, nikoli od jedničky). Např. tedy int i = 0. Samozřejmě si můžeme proměnnou i vytvořit někde nad tím a už nemusíme psát slovíčko int, bývá ale zvykem používat právě int i.
  • podmínka - je podmínka vykonání dalšího kroku cyklu. Jakmile nebude platit, cyklus se ukončí . Podmínka může být např (i < 10). Boolean expression
  • příkaz - nám říká, co se má v každém kroku s řídící proměnnou stát. Tedy zda se má zvýšit nebo snížit. K tomu využijeme speciálních operátorů ++ a --, ty samozřejmě můžete používat i úplně běžně mimo cyklus, slouží ke zvýšení nebo snížení proměnné o 1.
Více informací: ItNetwork
While
Cyklus while funguje jinak, jednoduše opakuje příkazy v bloku, dokud platí podmínka. Syntaxe cyklu je následující:
    
    while (podminka)
    {
        //Blok kodu, který se vykona
    }
            
        
Cyklus for je vlastně speciální případ while cyklu. Cyklus while se ale používá na trochu jiné věci, často máme v jeho podmínce např. metodu vracející logickou hodnotu true/false. Původní příklad z for cyklu bychom udělali pomocí while následovně:
    
    int i = 1;
    while (i <= 10)
    {
        Console.Write("{0} ", i);
        i++;
    }
    Console.ReadKey();
            
        
Lze to i opačne, z for na while.
    
    
    for (;podminka;)
    {
        //Blok kodu, který se vykona
    }
    
            
        
Více informací: ItNetwork