1. Uvod

Do sada smo radili sa različitim tipovima podataka, kao što su int, double i string.

U programiranju često moramo da postavimo pitanje na koje odgovor može biti samo:

DA ili NE
TAČNO ili NETAČNO

Na primer:

  • Da li je broj veći od 10?

  • Da li su dva broja jednaka?

  • Da li je lozinka ispravna?

  • Da li je korisnik uneo ispravan podatak?

Za ovakve situacije koristi se logički tip podataka bool.


2. Logički tip podataka bool

Tip bool može imati samo dve vrednosti:

true
false

true znači tačno, a false znači netačno.

Primer:

bool punoletan = true;
bool imaKartu = false;

Možemo ispisati vrednost:

Console.WriteLine(punoletan);
Console.WriteLine(imaKartu);

Rezultat:

True
False

Napomena: Važno je razlikovati  true  od  "true"  - Prvo je logička vrednost tipa bool, a drugo je tekstualni podatak tipa string.

 
 

3. Bool vrednost može nastati poređenjem

Veoma često ne upisujemo true ili false direktno, već dobijamo logičku vrednost kao rezultat poređenja.

Na primer:

int a = 10;
int b = 5;

bool rezultat = a > b;

Pošto je 10 > 5 tačno, promenljiva rezultat ima vrednost:

true

Drugi primer:

int a = 3;
int b = 8;

bool rezultat = a > b;

Ovde je 3 > 8 netačno, pa je:

rezultat = false

Najčešće operatore poređenja već poznajemo:

>    veće
<    manje
>=   veće ili jednako
<=   manje ili jednako
==   jednako
!=   različito

Na primer:

int godine = 18;

bool punoletan = godine >= 18;

Console.WriteLine(punoletan);

Rezultat je:

True

4. Bool i naredba if

Tip bool  se koristi u upravljačkim strukturama.

Najjednostavniji primer je if.

int godine = 18;

if (godine >= 18)
{
    Console.WriteLine("Punoletni ste.");
}

Uslov:

godine >= 18

ima tip bool.

Ako je rezultat true, izvršava se blok naredbi.

Ako je rezultat false, blok se preskače.

Možemo uslov prethodno smestiti u bool promenljivu:

int godine = 18;

bool punoletan = godine >= 18;

if (punoletan)
{
    Console.WriteLine("Punoletni ste.");
}


5. Definisanje podataka na nivou bloka

if (true)
{
    int broj = 10;
    Console.WriteLine(broj);
}

Promenljiva broj je definisana unutar bloka.

Blok je deo programa omeđen vitičastim zagradama:

{
    // blok naredbi
}

Promenljiva definisana unutar bloka dostupna je samo unutar tog bloka.

Na primer:

if (true)
{
    int broj = 10;
    Console.WriteLine(broj);
}

Ovo je ispravno.

Ali:

if (true)
{
    int broj = 10;
}

Console.WriteLine(broj);

nije ispravno, jer promenljiva broj više nije dostupna izvan bloka u kojem je definisana.

Ovo nazivamo opsegom (scope) promenljive.


6. Promenljiva definisana izvan bloka

Ako promenljivu definišemo pre bloka, ona može da se koristi i unutar tog bloka.

Na primer:

int broj = 10;

if (broj > 5)
{
    Console.WriteLine(broj);
}

Promenljiva broj je definisana izvan if bloka i dostupna je unutar njega.

Možemo je koristiti i posle bloka:

int broj2 = 10;

if (broj2 > 5)
{
    Console.WriteLine(broj2);
}

Console.WriteLine(broj);

Zato je važno znati gde je promenljiva definisana.


7. Da ponovimo: 

 

Upravljačka struktura if omogućava programu da proveri uslov.

Osnovni oblik je:

if (uslov)
{
    naredbe;
}

Primer:

int broj = 15;

if (broj > 10)
{
    Console.WriteLine("Broj je veći od 10.");
}

Ako je uslov tačan, naredba se izvršava.

Možemo koristiti i else:

int broj = 7;

if (broj > 10)
{
    Console.WriteLine("Broj je veći od 10.");
}
else
{
    Console.WriteLine("Broj nije veći od 10.");
}

8. Da ponovimo: 

 

Kada imamo više mogućih slučajeva, možemo koristiti više uslova:

int ocena = 4;

if (ocena == 5)
{
    Console.WriteLine("Odličan");
}
else if (ocena == 4)
{
    Console.WriteLine("Vrlo dobar");
}
else if (ocena == 3)
{
    Console.WriteLine("Dobar");
}
else
{
    Console.WriteLine("Potrebno je više učiti.");
}

Program proverava uslove redom.

Čim pronađe uslov koji je tačan, izvršava odgovarajući blok.


9. Da ponovimo: 

 

Kada proveravamo jednu vrednost u odnosu na više mogućih vrednosti, možemo koristiti switch.

Primer:

int ocena2 = 5;

switch (ocena2)
{
    case 5:
        Console.WriteLine("Odličan");
        break;

    case 4:
        Console.WriteLine("Vrlo dobar");
        break;

    case 3:
        Console.WriteLine("Dobar");
        break;

    case 2:
        Console.WriteLine("Dovoljan");
        break;

    case 1:
        Console.WriteLine("Nedovoljan");
        break;

    default:
        Console.WriteLine("Pogrešna ocena.");
        break;
}

case predstavlja jednu moguću vrednost.

break završava izvršavanje tog case dela.

default se izvršava ako nijedan case nije odgovarajući.

Kada koristiti if, a kada switch?

if je pogodan kada proveravamo složenije uslove:

if (broj > 10)

switch je pogodan kada jednu vrednost upoređujemo sa više konkretnih mogućnosti:

switch (ocena)

Na primer, za ocene 1, 2, 3, 4 i 5, switch može biti veoma pregledan.


10. Da ponovimo: 

 

Petlje koristimo kada želimo da neku naredbu ili grupu naredbi ponovimo više puta.

Petlja for se koristi kada uglavnom znamo koliko puta želimo da ponovimo određenu radnju.

Osnovni oblik:

for (početak; uslov; promena)
{
    naredbe;
}

Primer:

for (int i = 1; i <= 5; i++)
{
    Console.WriteLine(i);
}

Rezultat:

1
2
3
4
5

Ovde:

int i = 1;

postavlja početnu vrednost.

i <= 5

predstavlja uslov.

i++

povećava vrednost promenljive i za 1.


11. Da ponovimo: 

 

Petlja while izvršava blok naredbi dok je uslov tačan.

Osnovni oblik:

while (uslov)
{
    naredbe;
}

Primer:

int j = 1;

while (j <= 5)
{
    Console.WriteLine(j);
    j++;
}

Rezultat je:

1
2
3
4
5

Kod while petlje uslov se proverava pre izvršavanja bloka.

Zato je moguće da se blok ne izvrši nijednom.

Na primer:

int j2 = 10;

while (j2 < 5)
{
    Console.WriteLine(j2);
}

Blok se neće izvršiti jer je uslov odmah false.


12. Da ponovimo 

 

do-while je slična while petlji, ali postoji vrl bitna razlika:

Kod do-while petlje blok se izvršava najmanje jednom, a tek onda se proverava uslov.

Oblik:

do
{
    naredbe;
}
while (uslov);

Primer:

int ii = 1;

do
{
    Console.WriteLine(ii);
    ii++;
}
while (ii <= 5);

Rezultat:

1
2
3
4
5

Pogledajmo razliku:

int ii = 10;

while (ii < 5)
{
    Console.WriteLine(ii);
}

Neće biti ispisa.

Ali:

int ii = 10;

do
{
    Console.WriteLine(ii);
}
while (ii < 5);

ispisaće:

10

Zato što se kod do-while petlje telo izvršava pre prve provere uslova.


13. Poređenje petlji

Struktura Kada se proverava uslov? Najmanje izvršavanja
for pre svakog prolaza 0
while pre svakog prolaza 0
do-while posle prolaza 1

for najčešće koristimo kada znamo broj ponavljanja.

for (int i = 1; i <= 10; i++)

while koristimo kada se ponavljanje zasniva na uslovu.

while (broj != 0)

do-while koristimo kada želimo da se blok izvrši najmanje jednom.

do
{
    // naredbe
}
while (uslov);

14. Jedan primer koji povezuje bool, if i petlju

int broj = 1;

while (broj <= 10)
{
    bool paran = broj % 2 == 0;

    if (paran)
    {
        Console.WriteLine(broj + " je paran.");
    }

    broj++;
}

while kontroliše ponavljanje:

while (broj <= 10)

U bloku se definiše promenljiva:

bool paran = broj % 2 == 0;

Promenljiva paran ima vrednost true ili false.

Zatim se koristi u if naredbi:

if (paran)

Ovaj primer pokazuje kako se logički tip, blokovi i upravljačke strukture međusobno povezuju.


15. 

 

 

if

Koristi se za donošenje odluke na osnovu uslova.

if (uslov)
{
    // naredbe
}

switch

Koristi se za izbor između više mogućih vrednosti.

switch (vrednost)
{
    case 1:
        // naredbe
        break;
}

for

Koristi se za ponavljanje kada je broj ponavljanja poznat ili lako odrediv.

for (int i = 0; i < 10; i++)
{
    // naredbe
}

while

Ponavlja naredbe dok je uslov tačan.

while (uslov)
{
    // naredbe
}

do-while

Izvršava blok najmanje jednom, a zatim proverava uslov.

do
{
    // naredbe
}
while (uslov);

16. 

 
Zadatak 1 – bool

Napisati program koji učitava broj i pomoću promenljive tipa bool proverava da li je broj pozitivan.

Primer:

Unesite broj: 8
Broj je pozitivan: True

Zadatak 2 – bool i if

Napisati program koji učitava godine korisnika.

Formiraj promenljivu:

bool punoletan

koja dobija vrednost na osnovu toga da li korisnik ima najmanje 18 godina.

Na osnovu te promenljive ispiši odgovarajuću poruku.


Zadatak 3 – opseg promenljive

Pokušati izvršiti sledeći program:

if (true)
{
    int broj = 10;
    Console.WriteLine(broj);
}

Console.WriteLine(broj);

Objasniti zašto program prijavljuje grešku.

Zatim ga ispraviti tako da promenljiva može da se koristi i posle if bloka.


Zadatak 4 – if

Napisati program koji učitava broj i ispisuje:

  • „Pozitivan broj“ ako je broj veći od nule,

  • „Negativan broj“ ako je manji od nule,

  • „Broj je nula“ ako je jednak nuli.


Zadatak 5 – switch

Napisati program koji učitava broj od 1 do 7 i ispisuje odgovarajući dan u nedelji.

Na primer:

Unesite broj: 3
Sreda

Koristiti switch.


Zadatak 6 – for

Napisati program koji pomoću for petlje ispisuje brojeve od 1 do 20.

Zatim izmeniti program tako da ispisuje samo parne brojeve.


Zadatak 7 – while

Napisati program koji pomoću while petlje ispisuje brojeve od 10 do 1.


Zadatak 8 – do-while

Napisati program koji traži od korisnika da unese broj veći od nule.

Program treba da ponavlja unos sve dok korisnik ne unese odgovarajući broj.

Obavezno koristiti do-while.


Zadatak 9 – kombinovani zadatak

Napisati program koji učitava 10 brojeva.

Za svaki broj proveriti pomoću bool promenljive da li je paran.

Ako jeste, ispisati taj broj.

Koristiti:

  • for,

  • bool,

  • if.


Zadatak 10 – izazov

Napraviti jednostavan program za unos lozinke.

Program treba da traži od korisnika da unese lozinku.

Ako je lozinka jednaka unapred zadatoj vrednosti, postaviti:

bool ispravna = true;

i prikazati poruku:

Lozinka je ispravna.

U suprotnom postaviti:

bool ispravna = false;

i prikazati:

Pogrešna lozinka.

17. Šta treba zapamtiti?

Najvažnije je da razumemo sledeće:

bool → true / false

bool se veoma često koristi za uslove:

bool punoletan = godine >= 18;

Upravljačke strukture omogućavaju programu da donosi odluke i ponavlja naredbe:

if       → odluka
switch   → izbor između više slučajeva
for      → ponavljanje
while    → ponavljanje dok je uslov tačan
do-while → najmanje jedno izvršavanje, zatim provera

Promenljiva definisana unutar bloka dostupna je samo u tom bloku:

{
    int broj = 10;
}

Zato uvek treba obratiti pažnju na opseg (scope) promenljive.

Najvažnije nije da se strukture uče napamet, već da se razume kada i zašto se koriste.

Last modified: Friday, 18 September 2026, 10:45 AM