Teorija

U jeziku C promenljive se definišu na početku funkcije. Ako to zaboravimo, dobijemo grešku. U C# stvari su malo prirodnije: promenljivu možemo da napravimo baš tamo gde nam treba. Ako je koristimo samo u jednom if bloku, nema potrebe da je pišemo na početku. Ukratko: jeziku C# promenljive se mogu definisati u okviru svakog bloka koda (npr. unutar for, if, { } zagrada) i vidljive su samo u tom bloku.

Bitno je da znamo da promenljiva „živi“ samo u onom delu koda u kojem je napravljena. Ako je napravimo u for petlji, ona van te petlje ne postoji. To se zove vidljivost promenljivih.

Primer:

if (true)
{
    int x = 5; // ova promenljiva postoji samo unutar ovog if bloka
}

Još jedna stvar koja razlikuje C# od C jezika je foreach petlja. Dok smo u C jeziku za prolazak kroz niz morali ručno da koristimo indekse (for (i=0; i<n; i++)), u C# možemo da kažemo: „Prođi kroz svaki element niza i uradi nešto sa njim.“

Sintaksa je vrlo jednostavna:

foreach (var element in kolekcija)
{
    // koristi element
}

Na ovaj način ne brinemo o indeksima, dužini niza i slično — petlja foreach to sama rešava. To je i sigurnije, jer smanjuje mogućnost greške.

 
 

Praktični primer
using System;

class Program
{
    static void Main()
    {
        int[] brojevi = { 1, 2, 3, 4, 5 };

        foreach (int broj in brojevi)
        {
            Console.WriteLine("Sledeći broj je: " + broj);
        }
    }
}

Vežba za učenike

Zadatak 3: Napraviti niz imena (najmanje 4 imena) i koristiti foreach da se ispiše svako ime u posebnom redu.

Rešenje:

using System;

class Program
{
    static void Main()
    {
        string[] imena = { "Ana", "Marko", "Jelena", "Petar" };

        foreach (string ime in imena)
        {
            Console.WriteLine("Ime: " + ime);
        }
    }
}

Pitanja za proveru znanja
  1. Šta znači da promenljiva ima vidljivost samo u okviru bloka?

  2. U čemu je prednost foreach u odnosu na for?

  3. Napišite primer niza i foreach ciklusa koji ga prolazi.

Odgovori:

  1. To znači da promenljiva postoji i može se koristiti samo unutar { } u kojima je definisana.

  2. foreach je jednostavniji i automatski prolazi kroz sve elemente kolekcije bez potrebe da ručno radimo sa indeksima.

  3. foreach (int broj in new int[] {1,2,3}) Console.WriteLine(broj);




Pitanja za proveru gradiva (za sve tri lekcije)

  1. Koja je osnovna razlika između proceduralnog i objektno-orijentisanog programiranja?

  2. Koje vrednosti može da ima tip bool u C# jeziku?

  3. Šta znači da promenljiva ima „vidljivost“ samo unutar bloka?

  4. U čemu je prednost foreach petlje u odnosu na klasičnu for petlju?

  5. Napisati kratak primer programa koji koristi bool i if uslov.

Odgovori:

  1. Proceduralno programiranje koristi funkcije i naredbe, dok objektno-orijentisano koristi klase i objekte sa metodama i osobinama.

  2. true i false.

  3. To znači da promenljiva postoji i može se koristiti samo unutar zagrada { } gde je definisana.

  4. foreach je jednostavniji i automatski prolazi kroz sve elemente niza ili kolekcije, bez indeksa.

  5. Primer:

    bool imaNovca = true;
    if (imaNovca)
        Console.WriteLine("Idemo u kupovinu!");
    else
        Console.WriteLine("Nema kupovine.");
    
          
           


🏠 Domaći zadaci

Zadatak 1:
Napisati program koji na ekranu ispisuje vaše ime tri puta, koristeći tri poziva Console.WriteLine.

Zadatak 2:
Napisati program koji od korisnika traži broj, i proverava da li je broj paran ili ne.

  • Ako je paran, ispisati: „Broj je paran“.

  • Ako nije, ispisati: „Broj je neparan“.

Zadatak 3:
Napisati program koji u nizu čuva nazive tri grada (npr. Beograd, Novi Sad, Niš), a zatim ih sve ispisuje pomoću foreach petlje.

Zadatak 4:

Napisati program koji u nizu čuva 5 brojeva. Program treba da:

  1. Prođe kroz sve brojeve pomoću foreach petlje.

  2. Za svaki broj proveri da li je paran (bool provera).

  3. Ako je broj paran – ispisati: „Broj X je paran“.

  4. Ako je broj neparan – ispisati: „Broj X je neparan“.

Primer ulaza

Niz: { 3, 10, 7, 8, 15 }

Očekivani izlaz
Broj 3 je neparan  
Broj 10 je paran  
Broj 7 je neparan  
Broj 8 je paran  
Broj 15 je neparan  


Mini-test za kraj ?

Pitanja:

  1. Objasni glavnu razliku između jezika C i C#.

  2. Šta znači da je C# objektno-orijentisan jezik?

  3. Koje dve vrednosti može da ima tip bool?

  4. Napiši primer koda u C# koji koristi bool promenljivu i if naredbu.

  5. Šta znači da promenljiva „živi“ samo u okviru bloka koda?

  6. Napiši kratak primer foreach petlje koja prolazi kroz niz brojeva.




Last modified: Friday, 12 September 2025, 11:51 AM