Showing posts with label petlja. Show all posts
Showing posts with label petlja. Show all posts

Thursday, September 17, 2020

Klasa Random, biranje slučajnih brojeva u C# programskom jeziku

Najbolja stvar kod računara je što vas sluša. Kod njega nema ni levo ni desno, nego samo tačno kako ste mu naredili. Njegova akcija je uglavnom predvidljiva i kad ne dobijete od računara ono što očekujete to definitivno znači da ste vi pogrešili, a ne on. Ili nešto nije u redu na dubljem nivou!  Međutim, postoje situacije kad ćete hteti da računar bira jedan od više ponuđenih brojeva ili opcija. Na primer kada programirate igrice, kvizove, testove ili programirate Loto programe koji biraju brojeve umesto vas. Reći računaru da nešto izabere nije baš za njega jednostavan proces. Zato on ima specijalnu klasu Random, koja nasleđuje Object koji predstavlja generator pseudo slučajnih brojeva ili još preciznije Object koji sadrži algoritam koji stvara niz brojeva koji zadovoljavaju određene statističke zahteve za slučajnost. Zahvaljujući tome, biranje slučajnih brojeva u vašem programiranju jeste jednostavno. Vi čak ne morate ni da dodatno uvozite imenski prostor za ovu delatnost jer se Random klasa nalazi u System imenskom prostoru.  

( Random klasa je zadužena za bilo kakvo biranje slučajnih brojeva )

Da stvar bude još jednostavnija, korišćenje naredbe Random u C# programskom jeziku je mnogo jednostavnije nego u C ili C++ programskom jeziku. Metoda Next() je preklopljena i njene druge verzije vam omogućavaju da odredite minimalnu i maksimalnu vrednost opsega. Ona podrazumevano vraća pozitivan integer u opsegu od 0 do maksimalne vrednosti Int32. Ali ako odredite opseg od jednog broja do drugog, možete birati i negativne brojeve. Na primer ako hoćete da birate broj između -100 i 101 onda će te inicijalizovati metodu ovako. 

Random rnd = new Random();

rnd.Next(-100, 101);

I to je sve. I ako imate potrebu da birate više puta, dovoljno je da koristite istu rnd promenjivu čak i sa drugačijim postavkama. Nema potrebe da razmišljate da će svaki put kad izvršite ovaj kod da dobijate isti broj jer podrazumevani konstruktor za klasu Random dodeljuje generatoru slučajnih brojeva početnu vrednost koja je vremenski zavisna, tako da se smanjuje sekvenca biranja istih brojeva. Klasa Random sa njenom metodom Next() je sasvim dovoljna da precizno radite testove, iako su u nekim projektima uključeni razne vrste algoritma da bi slučajni broj bio dodatno naizmeničan broj.

Kako da napravim jednostavan program za izvlačenje Loto brojeva?

Thursday, January 30, 2020

Programerske petlje u C# programskom jeziku


Da li ste ikad čuli za interaktivne iskaze? To vam je u suštini zastrašujuća nova terminologija koja se koristi u najnovijim prevodima informatičke literature koja samo zbunjuje programere. Reč je naravno o programerskim petljama. U jednom od zadnjih postova, učili smo if i switch iskaze odlučivanja sa kojima možete da ispitate neki uslov i onda na primer da prikažete rezultat baziran na ispunjavanju iskaza na ekranu. Na primer ako osoba ima 18 ili više godina onda je osoba punoletna ali ako osoba nema 18 ili više godina onda nije. Otkucate uslov u programu i jednostavno rezultat prikažete na ekranu. Ali šta ako na primer želite da ispišete 1000 puta na ekranu da je osoba punoletna? Znam da nema nikakve logike da to radite, ali čisto radi primera; kako će te to uraditi? Nećete valjda napisati 1000 if iskaza? Ili još jednostavniji primer, kako ćete reči računaru da vam ispiše brojeve od 1 do 1000 na ekranu? Da li će te vi ispisati svaki broj u programu da se ispiše na ekranu? Da li ćete ispisati u programu 1000 redova linijskog koda da bi ste uradili tako jednostavnu stvar? Naravno, da nećete; upravo zato imamo programerske petlje koje bez obzira koliko imate iteracija ili bolje rečeno bez obzira koliko se petlja puta bude izvršavala, vi je pišete samo jednom u par linija koda. Programerske petlje jednostavno se izvršavaju koliko god je neophodno puta sve dok ne izvrše zadati uslov i na taj način izuzetno i precizno rešavaju mnogobrojne zadatke na tako jednostavan način iteracijom.

( Programerske petlje u C# programskom jeziku )

Da stvari budu još bolje, vi imate čak četiri vrste programskih petlji u C# programskom jeziku koje još više olakšavaju rešavanje bilo kojeg zadatka koji zahteva iteraciju. Međutim da bi ste to postigli takođe je potrebno da znate i kada koju od tih četiri programerske petlje da koristite. Prvo da nabrojimo koje su to četiri petlje. Prva programerska petlja je for petlja. Na primer u Visual Basic .Net programskom jeziku ista petlja se zove i for next petlja. Druga je foreach programerska petlja, treća while programerska petlja i četvrta je do while programerska petlja. Možete ih zvati i interaktivni iskaz ili na primer for statement. To je do vas ili do pravila kompanije u kojoj radite. Na primer kad radite u nekoj kompaniji ne možete da prilikom komentarisanja vašeg koda u komentaru da pišete petlja, već statement iako je retkost da neka od kompanija dozvoljava da uopšte pišete komentare na srpskom jeziku. Sve u svemu, želim da razumete da ćete u programiranju često koristiti programerske petlje, ponekad i programerske petlje u drugim programerskim petljama najčešće u radu sa nizovima o kojima ćemo pisati u nekim od sledećih postova. Za sada ćemo se koncentrisati na svaku programersku petlju ponaosob, svaka će pratiti praktični primer i objašnjenje kad je koju najbolje koristiti. Čak iako ste upoznati sa programerskim petljama, pročitajte ovaj post do kraja. Koristiće vam više nego što mislite!

Programerska petlja for

Friday, November 27, 2015

Programerske petlje u C# programskom jeziku


Tokom programiranja često će te imati potrebu za iteracijom; da izvršavate isti blok koda više puta zaredom. Programski jezik C# za tu svrhu ima 4 različite programske petlje kojima se postiže iteracija koda sve do ispunjavanja određenog uslova. Programske petlje u C# programskom jeziku su nasleđene i identične su programskim petljama iz C++ programskog jezika. O programskim petljama u C++ programskom jeziku možete pogledati ovde, jer sve što važi za programske petlje u C++ programskom jeziku, važi i u C# programskom jeziku. Četiri programske petlje su:
  • for
  • foreach
  • while
  • do… while
Programske petlje for i foreach se u osnovi upotrebljavaju kada unapred znate koliko puta hoćete da se izvrši iteracija dok programske petlje while i do while se više koriste kada broj iteracija zavisi od vrednosti relevantnih elemenata u fazi izvršavanja programa.



( Proces rada for petlje u C# programskom jeziku )

Programska petlja for

Programska petlja for se sastoji od tri parametra: inicijalizatora, uslova i iteratora. Sintaksa programske petlje for je sledeća:

for ( inicijalizator; uslov; iterator )
        iskaz (i)


Inicijalizator je u suštini brojač, deklarisana inicijalizovana promenjiva; uslov je izraz koji samo kad vraća true prelazi na sledeću iteraciju i iterator je izraz koji povećava ili umanjuje brojač. Ali najbolje da pogledate sledeći kod programa da bi ste razumeli kako se koristi for petlja u kodu.


Saturday, October 03, 2015

Petlje u C++ programskom jeziku


Često tokom programiranja imate potrebu da kodirate jednu te istu stvar dok se neki određeni uslov ne ispuni. Naredbe if else ili switch izvršavaju uslove samo jedanput. Šta ako trebate neke stvari ponavljati više puta? Neke izazove u programiranju rešavate ponavljanjem delovanja na iste podatke. Npr. Vi možete ispisati 10 linija koda da bi ste ispisali 10 puta „Hello World“ na konzoli, ali šta ako trebate da napišete 1000 puta „Hello World“? Hoćete li pisati 1000 linija koda za ovaj zadatak? Ili šta ako vi ne znate unapred koliko puta treba da ispišete na konzoli „Hello World“? Možda će vam sam smisao pisanja „Hello World“ čak 1000 puta na konzolu zvučati banalno, ali to je čisto da bi ste najlakše razumeli šta je ponavljanje i ono što zahteva u programiranju petlju kad treba da ponavljamo podatke. Inače petlje se koriste toliko često i rešavaju bezbroj izazova u programiranju da je danas je nemoguće zamisliti ozbiljan kod bez petlji. Jednostavno samo matematički omogućavaju mnogo više od jednostavnog izračunavanja. O smanjivanju kodiranja i čitljivosti koda da i ne govorimo.


( Petlja while, objašnjena kao šala )

Međutim nekad u prošlim vremenima i starim programskim jezicima nisu postojale petlje. Umesto njih se koristila naredba goto koja je odrađivala iskaze skokovima na zadatu labelu. Upotrebu naredbe goto u C++ programskom jeziku možete videti u primeru ovde. Sad kad naučite petlje, nećete imati potrebe više da koristite naredbu goto. Iskaz goto ćete viđati u starim programima, često u C ili Basic programskom jeziku, ali za neku sadašnjost se naredba goto apsolutno ne preporučuje. Nepažljiva upotreba goto iskaza brzo zapetlja program da se isti ne može ni čitati. Zato su dobile naziv „Špageta kod“. Ali ono što će te najčešće koristiti u vašim projektima su definitivno sve petlje. Svaka ima svoj razlog kad se koristi.

Šta je for ili for next petlja i kako se koristi?