On-line učionica

10. marta 2019.

Pseudoslučajni brojevi

Filed under: C++,Programiranje — jelena100janovic @ 10:11 pm

Prošli put smo radili sa celobrojnim deljenjem i ostatkom. To su operacije koje su vrlo zgodne za kreiranje pseudoslučajnih brojeva. Zašto se zovu pseudoslučajni? Zato što nisu zaista slučajni. Mi, u stvari, prvo napravimo tabelu slučajnih brojeva, a onda iz nje vadimo sledeći broj. Da bi napravili tabelu, pozivamo funkciju srand(), a da bi izvukli sledeći broj, funkciju rand(). Ima tu još jedna funkcija time() iz biblioteke ctime, kojom obezbeđujemo da svaki put kada pokrenemo program napravimo drugačiju tabelu slučajnih brojeva. Dobro, kakve ovo veze ima sa celobrojnim deljenjem? Pa, slučajni brojevi su ogromni, a nama često trebaju neki iz zadatog intervala. Tu uskače ostatak pri deljenju.

Napisati program koji generiše slučajan ceo broj između 1 i 10.

Ovde nam treba neki od 10 mogućih brojeva. Zato ćemo od generisanog celog broja uzeti samo 10 mogućnosti – ostatak pri deljenju sa 10. Tako dobijamo broj od 0 do 9. Na kraju ćemo dodati 1 da bismo dobili broj od 1 do 10. Evo i koda i nekoliko rezultata:

 

Formatiranje ispisa decimalnih brojeva

Napisati program koji generiše pet slučajnih cena artikala do 1000,00 dinara.

Sada imamo skoro istu stvar, ali se cene pišu na dve decimale. Zato ćemo generisani broj uzeti u intervalu od 1 do 100000, a onda podeliti sa 100. Međutim, ako dobijemo broj 3,5 on će biti ispisan sa jednim decimalnim mestom umesto dva. Zato se vraćamo na formatiranje izlaza za decimalne brojeve:

Super… sada još malo da crtamo 🙂

Boja pozadine

Prošli put smo videli kako da menjamo boju olovke kojom crtamo. A da li možemo da promenimo boju pozadine prozora u kome crtamo? Naravno… tamo negde gde smo našli i veličinu. Evo primerčića:

Ha! Šta se desilo? Zašto nam unutrašnjost elipse nije boje pozadine?

To se desilo, zato što kada god nacrtamo neki objekat, on ima okvir koji crta olovka i ispunu koju crta četka. Podrazumevana olovka je crna, debljine 1, a podrazumevana četka bela. Da bi u našem prethodnom primeru ispuna bila iste boje kao pozadina, moramo promeniti četku, što postižemo slično kao sa olovkom, funkcijom CreateSolidBrush():

Da ne bi crtali samo elipse, dodaćemo funkciju Rectangle() za crtanje pravougaonika i dve funkcije MoveToEx() i LineTo() za crtanje linije:

još samo

Domaći zadatak

  1. Napisati grafički program koji crta 3 pravougaonika, tako da je svaki sledeći unutar prethodnog.
  2. Napisati grafički program koji crta dve prave koje se seku.
  3. Napisati grafički program koji, koristeći funkcije koje smo do sada učili, crta smajlija.
Advertisements

Ostavite komentar »

Nema komentara.

RSS feed for comments on this post. TrackBack URI

Ostavite odgovor

Popunite detalje ispod ili pritisnite na ikonicu da biste se prijavili:

WordPress.com logo

Komentarišet koristeći svoj WordPress.com nalog. Odjavite se /  Promeni )

Google photo

Komentarišet koristeći svoj Google nalog. Odjavite se /  Promeni )

Slika na Tviteru

Komentarišet koristeći svoj Twitter nalog. Odjavite se /  Promeni )

Fejsbukova fotografija

Komentarišet koristeći svoj Facebook nalog. Odjavite se /  Promeni )

Povezivanje sa %s

Create a free website or blog at WordPress.com.

%d bloggers like this: