$$ \newcommand{\floor}[1]{\left\lfloor{#1}\right\rfloor} \newcommand{\ceil}[1]{\left\lceil{#1}\right\rceil} \renewcommand{\mod}{\,\mathrm{mod}\,} \renewcommand{\div}{\,\mathrm{div}\,} \newcommand{\metar}{\,\mathrm{m}} \newcommand{\cm}{\,\mathrm{cm}} \newcommand{\dm}{\,\mathrm{dm}} \newcommand{\litar}{\,\mathrm{l}} \newcommand{\km}{\,\mathrm{km}} \newcommand{\s}{\,\mathrm{s}} \newcommand{\h}{\,\mathrm{h}} \newcommand{\minut}{\,\mathrm{min}} \newcommand{\kmh}{\,\mathrm{\frac{km}{h}}} \newcommand{\ms}{\,\mathrm{\frac{m}{s}}} \newcommand{\mss}{\,\mathrm{\frac{m}{s^2}}} \newcommand{\mmin}{\,\mathrm{\frac{m}{min}}} \newcommand{\smin}{\,\mathrm{\frac{s}{min}}} $$

Prijavi problem


Obeleži sve kategorije koje odgovaraju problemu

Još detalja - opišite nam problem


Uspešno ste prijavili problem!
Status problema i sve dodatne informacije možete pratiti klikom na link.
Nažalost nismo trenutno u mogućnosti da obradimo vaš zahtev.
Molimo vas da pokušate kasnije.

Programiranjem rešavamo realne probleme, a u realnom svetu često ne odlučujemo samo da li nešto da uradimo ili ne, već često biramo koju od dve stvari treba uraditi. Tako je i u poslednjem primeru koji smo uradili u lekciji "Uslovno izvršavanje".

Ovaj program će ili izvršiti liniju koraka = J - P; ili liniju koraka = P - J; jer je tačno jedan uslov zadovoljen. Drugi uslov je negacija prvog zato što, ako je uslov J > P tačan, uslov !(J > P) će biti netačan i obrnuto.

Ovako nešto se često javlja u programiranju - dva dela programa gde se svaki deo izvršava uslovno, a uvek se izvršava jedan od ta dva dela i nikada se ne izvršavaju oba. Ovakvo uslovno izvršavanje se toliko često javlja da postoji posebna struktura koja ga opisuje.

Opisana struktura se zove if-else i koristi se u sledećem programskom kodu.

static void Main(string[] args)
{
    int J, P;

    Console.WriteLine("Unesite dva broja: ");
    Console.WriteLine("koliko Miki treba do Jocine i");
    Console.WriteLine("koliko Miki treba do Perine kuce:");

    J = int.Parse(Console.ReadLine());
    P = int.Parse(Console.ReadLine());

    int koraka = 0;

    if (J > P)
    {
        koraka = J - P;
    }

    if (!(J > P))
    {
        koraka = P - J;
    }

    Console.WriteLine(koraka);
}

Posle if strukture koja nam je već poznata piše se ključna reč else, otvorena vitičasta zagrada, a zatim naredbe koje se izvršavaju samo kada uslov nije tačan, i na kraju zatvorena vitičasta zagrada.

Primetimo da grananje nije ništa suštinski novo - i dalje se bavimo samo uslovnim izvršavanjem - ali nam olakšava i skraćuje pisanje (i izvršavanje) programa.

Na engleskom jeziku "if" znači ako, a "else" znači inače. Ovaj prevod nam omogućava da bolje razumemo ovaj koncept. Deo posle ključne reči if se izvršava ako je uslov tačan, inače se izvršava deo posle ključne reči else.