Jump to content

návod #6 Podmínky a větvení [*]


vEnd

Recommended Posts

  • Hlavní moderátor

Obtížnost: :1:

Osnova:
1. Úvod, co je to podmínka
2. Vytvoření podmínky
3. Další možnosti větvení
4. Vnořené podmínky
5. Závěr

1. Úvod
Dostáváme se k šestému návodu o základech jazyka Pawn. V něm si vysvětlíme, co to jsou podmínky a jak probíhá větvení. Než budeme pokračovat, měli byste mít znalosti alespoň z předchozích dvou návodů (z tohoto a tohoto).

Abychom se posunuli dál, musíme si nejdříve říct, co to podmínka a větvení je. Podmínku si můžeme představit jako výraz (tvořený relačními a logickými operátory – viz návod na operátory), který je buď pravdivý, nebo nepravdivý. Je-li pravdivý, vykoná se kód, který jsme podmínili. Můžeme také určit, co se stane, když je výraz nepravdivý. Tomuto rozdělování kódu dle výsledku podmínek se říká větvení. Bloky ani klíčová slova if, else a switch neukončujeme středníkem!

2. Vytvoření podmínky
Teď si zkusme vytvořit takovou podmínku a větev. Syntaxe je následující:

.

if(logický výraz)
{
    //kód
}

.

Klíčové slovo if nám značí, že se bude jednat o podmínku (z angličtiny if – jestliže). Do kulatých závorek píšeme logický výraz, který se má vyhodnotit. Mezi složené závorky (které nám tvoří větev – blok) píšeme kód, který se má vykonat, když je podmínka pravdivá.

Zkusme si to na příkladu:

.

new cislo = 10;

if(cislo == 10)
{
    print("Hodnota proměnné cislo je rovna deseti.");
}

.

Podmínka je pravdivá, kód se vykoná. Co by se stalo, kdyby podmínka pravdivá nebyla? Nestalo by se nic. Kód uvnitř bloku if by se nevykonal.

3. Další možnosti větvení
Na začátku jsem psal, že může nastat i situace, kdy chceme, aby se něco stalo v případě, že podmínka neplatí. I to nám jazyk umožňuje provést, a to hned několika způsoby.

a) else
If nám tvořilo "pravdivou větev", else nám pak bude tvořit "nepravdivou větev", tedy blok, který se vykoná, když bude podmínka nepravdivá. Nutno dodat, že k else se podmínka nedává a že ho nemůžeme použít samostatně (je vázán na if).

.

new cislo = 5;

if(cislo == 10)
{
    print("Hodnota proměnné cislo je rovna deseti.");
}
else
{
    print("Hodnota proměnné cislo není rovna deseti.");
}

.

Podmínka se vyhodnotí jako nepravdivá, takže blok if se přeskočí a místo toho se vykoná blok else.

b ) else if
Složitější větvení nám pak umožňuje else if. Zjednodušeně řečeno je to else s dodatečnou podmínkou. Else if bloků může být více, ale stejně jako else nemohou stát samostatně.

.

new cislo = 5;

if(cislo == 10)
{
    print("Hodnota proměnné cislo je rovna deseti.");
}
else if(cislo == 5)
{
    print("Hodnota proměnné cislo je rovna pěti.");
}
else if(cislo == 0) //tato podmínka se už vyhodnocovat nebude
{
    print("Hodnota proměnné cislo je rovna nule.");    
}

.

A v čem je vlastně kouzlo else if? Script vyhodnotí podmínku v if, zjistí, že je nepravdivá, tak přeskočí k následujícímu else if. Opět vyhodnotí podmínku, zjistí, že je pravdivá, tak vykoná tento blok. K dalšímu else if už ale nepokračuje, protože jedna z podmínek nad ním byla pravdivá. A tím se liší od soustavy if – if – if; u takové soustavy by totiž script vyhodnocoval všechny podmínky nehledě na to, že některá z nich byla pravdivá.

c) if – else if – else
Samozřejmě to jde také vše zkombinovat, záleží jen na tom, co potřebujeme.

.

new cislo = 5;

if(cislo == 10)
{
    print("Hodnota proměnné cislo je rovna deseti.");
}
else if(cislo == 5)
{
    print("Hodnota proměnné cislo je rovna pěti.");
}
else
{
    print("Hodnota proměnné cislo není ani 10, ani 5.");
}

.

d) switch

Pro určité případy zde máme ještě jednu strukturu, a tou je switch. O switchi si něco povíme až v příštím návodu.

 

4. Vnořené podmínky

Do teď jsme si ukazovali jednoduché podmínky a jednoduché větvení. Ale abyste si nemysleli, že je možné jen tohle, máme možnost podmínky vnořovat, tedy vkládat podmínku do podmínky. Viz tento příklad:

.

new cislo = 5;

if(cislo > 0)
{
    if(cislo == 5)
    {
        print("Hodnota proměnné cislo je rovna pěti.");
    }
    else
    {
        print("Hodnota proměnné cislo není rovna pěti.");
    }
}

.

Zde je vidět, že uvnitř bloků lze tvořit další bloky. Platí to u podmínek, platí to u cyklů, platí to u všech struktur, které tvoří bloky.

 

5. Závěr

A to je z podmínek všechno. Dozvěděli jste se, jak podmínky a větvení fungují, jak můžete uplatnit svou znalost relačních a logických operátorů v praxi, jak tvořit větev pro pravdu i nepravdu, jak vytvářet složitější podmínky a jak podmínky vnořovat. V dalším návodu si probereme onen zmíněný switch.

 

Tento návod, stejně jako ten předchozí, je určen pro nováčky, pokročilejší věci byly buďto úplně vynechány, nebo jsou uvedeny ve spoilerech. Přesto, zdá-li se Vám, že jsem něco opomněl, někde jsem se spletl nebo se jen chcete vyjádřit, pište do tohoto tématu.

 

Ověřený návod

Tento návod prošel validací, a lze ho proto považovat za ověřený.

  • Líbí se mi to! (+1) 3
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...