Přejít na obsah

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

tut tutorial samp pawn podmínka větvení if else else if

  • Pokud chcete odpovědět, přihlaste se
Žádné odpovědi

#1
vEnd

vEnd

    Marc Wayne "B-Dup"

  • Globální moderátor
  • Příspěvků: 451
  • Je tu celkem: 39d 13h 13m 50s

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ý.


  • 3

96b259ac47244701b5097887d9439120.png

I always enjoy meeting people more chemically imbalanced than myself. -Trevor Philips
Roses are gay, violets are gayer, fuck the poem and listen to Slayer.

Roses are red. Violets are blue. When I Listen to Metallica My neighbors do too!

Unix is user friendly. It just happens to be very selective about who it decides to make friends with.

What's the object-oriented way to become wealthy? Inheritance.






Také označeno jedním nebo více klíčovými slovy: Návod, tut, tutorial, samp, pawn, podmínka, větvení, if, else, else if

0 uživatelů si prohlíží toto fórum

0 uživatelů, 0 návštěvníků 0 anonymních uživatelů

© 2015 IPS, Inc.

TOPlist

Zajímat Vás mohou ještě aktuální zprávy. sleviště, slevy dnes Herbalife je skvělou cestou pro dobré zdraví. Je libo dětský web?