четвртак, 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?

четвртак, 10. септембар 2020.

Imperativ u Nemačkom jeziku

U Nemačkom jeziku postoji 3 glagolska načina: indikativ, konjunktiv i imperativ. Indikativ je vremenski oblik koji nam govori da se nešto dešava realno, konjunktiv da će se nešto možda desiti i imperativ koji naređuje da se nešto desi. Indikativ smo već učili, pogledajte glagolska vremena u sadržaju; konjunktiv smo takođe učili; pogledajte Konjunktiv I i Konjunktiv II. I sad učimo imperativ. Imperativ se i na Nemačkom jeziku i na Srpskom jeziku kaže isto. Ali šta je to Imperativ? Imperativ ili što mi često kažemo zapovedni način je prost lični glagolski oblik kojim izričemo zapovest, molbu ili želju da se određena radnja izvrši. Imperativom se takođe može nešto zabraniti ili dati savet. A sad onaj lakši deo; Imperativ ima samo drugo lice jednine i množine:

  • Lies! – Čitaj! – od ( du liest )
  • Lest! – Čitajte! – od ( ihr lest )

U prethodnom primeru možete primetiti da mi u imperativu ne koristimo lične zamenice. One se pretpostavljaju, ali se u nekim situacijama mogu koristiti. Na primer kada radite sa grupom ljudi. 

  • Lies du! – Čitaj ti! – Obraćate se jednoj osobi iz grupe.
  • Lest ihr! – Čitajte vi! – Obraćate se jednoj izdvojenoj grupi ljudi ili celom kolektivu.



( Budite oprezni kada koristite Imperativ jer niko ne voli da mu se naređuje! )

Međutim ako hoćete da budete učtivi, ne morate glagol ni da menjate: 

  • Lesen Sie! – Čitajte!
  • Kommen Sie! – Dođite!
  • Gehen Sie! – Idite!

Obratite pažnju da ljudi u Nemačkoj ne vole da im se naređuje, kao ni mi. Možda je bolje da uvek budete ljubazni i da ne morate menjati glagol. Ali ipak postoje situacije kad morate koristiti zapovedni način. Zar ovo nije sve jednostavno? A da, možete pomisliti sve je to divno ali kako ja da znam da se čitaj kaže lies. Ko će sad naučiti sve te glagole ponovo kako se govore u imperativu? Znate, i ja kad sam se susreo privi put u nekom tekstu sa imperativom isto sam pomislio. Pogotovo šta na primer u Engleskom jeziku kada pravite imperativ uopšte ne menjate glagol, već ga koristite isto: 

  • You read – ti čitaš - Read – čitaj!  

Prosto čoveku dođe da se naljuti; a onda pogledam lepu mladu devojku iz Nemačke koja mi predaje nemački jezik, priča rečenice u imperativu i uopšte se ne brine kako ćemo naučiti imperativ; kao da je to lako. I onda sam došao do neverovatnog otkrića. Znate imperativ se gradi, pravi… znači ne morate ga učiti napamet; već treba da samo primenite jednostavnu formulu i sami ćete znati imperativ svakog glagola. Međutim, imperativ se gradi i na druge načine gde onda treba da naučite fraze napamet. Ali da mi prvo pogledamo kako se gradi imperativ.

Kako se gradi Imperativ?

среда, 02. септембар 2020.

Kako napraviti Space Invaders igricu u Python-u ?

Evo posle pauze od dva i po meseca, zbog letnjih vrućina i neophodnog psihičkog odmora od mnogobrojnih obaveza, nastavljamo sa razvijanjem bloga. Čak i pored toga što na blogu nije bilo novih postova, samo prekuče je blog brojao 547 novih poseta. Iskreno se zahvaljujem svim ljudima koji posećuju moj blog i podržavaju moj trud. Od danas pokrećem novu podgrupu u Sadržaju koju ćemo zvati Projekti. U njoj ćemo grupisati kako se programiraju razne igrice i mali programi u raznim programskim jezicima. Kad učite neki programski jezik važno je da pređete osnovne komande istog, ali isto tako je poželjno da isprogramirate nešto konkretno. Programiranje malih igrica i programa pojačavaju programeru volju i radoznalost kako su neki na izgled kompleksni zadaci rešeni na jednostavan način. Možete se pitati dobro, ali zašto u raznim programskim jezicima? Zato što poznavanje samo jednog programskog jezika kao na primer C# programskog jezika u poslovnom svetu; više nije dovoljno. To je kao da znate Engleski jezik ali hoćete da znate i Nemački jezik ili neke druge jer su vam na momente postali potrebniji. Tako je i sa programskim jezicima. Cilj je da se ne ograničavate i da budete fleksibilni. Pa da krenemo.


( Space Invaders igrica koju pravimo u Python programskom jeziku )

Space Invaders, arkadna; shooter igrica je nastala još 1978 godine. Mnogi od nas su odrasli uz tu igricu ili njene slične verzije. Naravno, danas su igrice otišle mnogo daleko i neophodna je kompanija i tim profesionalnih programera da isprogramiraju neku modernu i kvalitetnu igricu. Međutim, mi možemo malo da se vratimo u prošlost i sa veoma malo programiranja možemo napraviti neku malu kao arkadnu igricu. Zato ćemo mi sad isprogramirati nešto najjednostavnije, čisto da bi smo imali neki uvid kako se programira shooter igrica. Da bi smo napravili Space Invaders igricu, treba nam pucač ili neki svemirski brod, neprijatelj, metak i univerzum. Mi to možemo nacrtati programerski ili jednostavno koristiti sličice. Sličice možete nacrtati i kreirati sami ili jednostavno skinuti sa Interneta. Naravno hoćemo i da naša igrica ima ton i za to nam trebaju dva zvuka. Jedan zvuk lasera ili pucanja i jedan zvuk eksplozije. S obzirom da igricu pravimo u Python programskom jeziku; to znači da ćemo mi pre programiranja prvo da kreiramo jedan prazan direktorijum space_invarders. Zatim ćemo otići na Google i pretražiti slike za Space Invaders. Vidićete da imate već mnogo gotovih sličica, vaše je samo da izaberete koje vam se sviđaju. Potrebne su vam tri sličice: svemirski brod, neprijatelj i univerzum. Obratite pažnju da su za igricu potrebne sličice u *.gif formatu. Vi možete sličice koje skinete sa Interneta prepraviti ili nacrtati svoje. U Photoshop-u je neophodno da podesite veličinu sličica. I to: svemirski brod 32x34 piksela, neprijatelj 32x32 i univerzum ili pozadinska slika treba da bude 600x600 piksela. Isto tako kao što na Google pretražujete slike, tako možete pretraživati i datoteke za zvuk u *.wav formatu. Pronađite zvuk za laser ili pucanje i odaberite koji vam se dopada; zatim pretražite i zvuk za eksploziju. Ubacite fajlove u direktorijum space_invarders i spremni ste za programiranje.

Kako se programira Space Invaders?  

петак, 15. мај 2020.

Brojevi u Engleskom jeziku

Ukoliko ste savladali imenice, zamenice i prideve u Engleskom jeziku, vreme je da pređemo na jednu lakšu ali itekako bitnu lekciju; koju ćete definitivno najviše koristiti. Da to su brojevi u Engleskom jeziku. Međutim, ako niste pogledajte sadržaj. Za čas pročitajte i ponovite navedene gramatičke lekcije i zatim se vratite ovde. Brojevi u svakom jeziku se koriste svakodnevno. Ja nikad nisam za svojih 44 godine imao priliku da posetim bilo koju zemlju Engleskog govornog područja, ali svakodnevno koristim Engleski jezik; jer se koristi svugde. Jednostavno je prisutan u komunikaciji, filmovima, muzici, programiranju i neophodan na Internetu. Možda ću jednog dana doživeti da putujem u zemlju Engleskog govornog područja i prva stvar koju ću tamo raditi i pre nego što dođem do takve zemlje jeste kupovina vode, hrane i svega nečeg na nekom stajalištu. Na kasi ću pričati sa kasirkom, ili ću pitati neku zaposlenu osobu u trgovini koliko nešto košta i tada ću definitivno koristiti brojeve u Engleskom jeziku. Tako ćete isto i vi dok neki od vas su to već radili. Znači trgovina je prva stvar gde ćete koristiti brojeve na Engleskom jeziku. Srećna okolnost po pitanju brojeva je što vi već znate kako se pišu i izgledaju brojevi. Numeričke cifre su skoro u svim stranim jezicima iste. Ali obratite pažnju; ako se nađete u nekoj trgovini u USA; vaš račun može biti uvećan bez obzira što ste vi profesionalni matematičar u sabiranju cena; zato što oni imaju sasvim drugačiji princip obračuna artikala sa porezom i taksama i prikaz istih. Takvi računi nisu jasni kao kod nas ili recimo u Nemačkoj i zbog toga mogu biti iritirajući. Znači sve što kupujete u USA; dodajte slobodno još dolara na ono što ste izračunali da će te platiti; o cenama nebi ni da diskutujem. Ili je kod njih sve mnogo skuplje ili mi živimo u mnogo jeftinoj zemlji.

( Brojevi u Engleskom jeziku su veoma bitni )

Druga itekako važna stvar za one kojima to ne pada ni na pamet; jeste korišćenje . i zareza , u brojevima. Npr. kod nas se piše ovako 1.234,056 dok se u USA piše obratno 1,234.056 (one thousand and two hundred and thirty-four point nought five six ). Isto tako mi koristimo kilometre dok oni milje; zatim tu su totalno drugačije mere za hranu, benzin, brzinu, težinu, obuću, odeću i ako na primer radite na gradilištu; možete imati noćne more da se prilagodite. Ukoliko putujete u UK situacija će biti slična ali Engleska milja i Američka milja su totalno različite vrednosti. Mi se u ovom postu nećemo baviti svim tim različitim mernim jedinicama. Nadam se da svako od vas ima mobilni telefon, pristup Internetu i korisnim veb stranicama koje će umesto vas da vam konvertuju merne vrednosti od temperature do broja cipela koje nosite. Većina vas će morati se prilagoditi različitim mernim jedinicama; samo shvatite da je za to potrebno vreme. Ovakve komplikacije nećete imati ako recimo putujete u Nemačku jer oni koriste skoro sve iste mere kao i mi na Balkanu. Ukoliko želite da učite gramatiku Nemačkog jezika; to takođe možete na ovom blogu. Pogledajte sadržaj. Sve u svemu; mi se nećemo baviti mernim jedinicama na ovom postu; ali smatram da te stvari trebate da imate u vidu i da ih malo na svoju ruku izguglate. Prihvatite to kao turistički izazov. Toliko o uvodu, a sad se koncentrišimo na brojeve. U Engleskom jeziku brojeve delimo na: 

·         Cardinal numerals (numbers)osnovni brojevi

·         Ordinals numerals (numbers)redni brojevi

·         Fractional numerals (numbers)frakcijski brojevi

·         Repeating numerals (numbers) brojevi za ponavljanje

·         Multiplicatives numerals (numbers)brojevi za umnožavanje

·         Zerobroj nula

 Pa krenimo redom.

 Osnovni brojevi

 

среда, 06. мај 2020.

Operatori u Java programskom jeziku

Ukoliko ste dobro prostudirali tipove podataka, promenjive i konstante u Java programskom jeziku; pogledajte prethodni post ovde; onda ste spremni da se upoznate i sa operatorima u Java programskom jeziku. Ukoliko poznajete C# programski jezik i pored toga što je Java programski jezik nasledio operatore iz C++ programskog jezika; imaćete utisak da C# programski jezik ima iste operatore kao Java programski jezik. Razlika je jedino u tome što Java programski jezik nema overloading operator niti podržava pokazivače. C# programski jezik ne koristi pokazivače ali ih podržava u unsafe modu što Java programski jezik ne radi. Razlika je i u tome da Java programski jezik deli operatore na više načina. Najčešći način je da Java programski jezik deli operatore u četiri osnovne grupe i sve ostalo u dodatne operatore.
  • Aritmetički operatori
  • Operatori nad bitovima
  • Operatori poređenja
  • Logički operatori
  • Dodatni operatori


( Operatori u Java programskom jeziku se mogu deliti na više podela )

Mi ćemo se u ovom postu detaljno baviti osnovnim operatorima dok ćemo se dodatnim operatorima baviti u nekim drugim postovima kada budete imali veće znanje o Java programskom jeziku i kada budemo programirali komplikovanije Java aplikacije. Za sada se potrudite da dobro razumete kako se koriste operatori u Java programskom jeziku. Ukoliko ne znate kako da napravite najjednostavniju digitron aplikaciju u nekom programskom jeziku, onda definitivno ne znate kako da koristite aritmetičke operatore u programiranju. Zato je najbolje da krenemo od aritmetički operatora.

Aritmetički operatori

субота, 25. април 2020.

Numerički tipovi podataka u Python programskom jeziku

Skoro je prošlo čak godinu dana i 8 meseci kada sam zadnji put pisao post o Python programskom jeziku. Mislim da je krajnje vreme da malo poguramo ovaj tutorijal Python programski jezik je odavno postao prvi na listi programskih jezika dok je C# programski jezik pao. Razlog je verovatno što Python programski jezik ne zahteva skupe licence; već je besplatan; zatim i svi ostali troškovi i lakoća korišćenja Python programskog jezika je superiorna. Opet ne bi potcenio moć C# programskog jezika, s obzirom da on nije skriptni jezik već se kompajlira. To znači da je brži ali i bolji za komercijalnu upotrebu ako koristite Windows okruženje. U Python programskom jeziku svako može da zaviri u kod vašeg programa i da nešto promeni ali tako ponašanje se i očekuje kod Linux korisnika. U svakom slučaju je interesantan; još ako koristite Linux operativni sistem, terminal, pravite skripte, pravite forme samo pisajući kod i dodate mu PostgretSQL bazu podataka; prestaćete od uzbuđenja da spavate; ko zna možda će te postati i haker ali će te definitivno mnogo da tipkate. To ne znači da trebate u potpunosti da napustite C# programski jezik i promenite totalno tehnologiju, već da čuvate znanje koje imate ali i da zaronite u novo i drugačije.
Podsetite se; pročitajte prvo Uvod u Python programski jezik a zatim prostudirajte Boolean tip podataka u Python programskom jeziku. Možete se začuditi zašto sam dao celi post Boolean tipu podataka ali recimo da je u Python programskom jeziku ovaj tip podataka itekako bitan i da se češće koristi. Ako ste me poslušali i prostudirali prethodna dva navedena posta; možemo krenuti sa numeričkim tipovima.


( Numerički tipovi podataka u Python programskom jeziku )

Podsetimo se prvo koje sve to tipove podataka Python programski jezik ima:

  •  bool - boolean tip se koristi za podatke čija vrednost može biti samo True ili False
  •  int – integer – koristi se za celobrojni numerički tip podataka
  •  long – produženi integer numerički tip podataka za veće celobrojne brojeve koji takođe mogu prikazivati vrednost u oktan ili heksadecimalnom obliku
  •  float – numerički tip podataka je namenjen brojevima sa pokretnim zarez
  •  complex – kompleksan tip podataka koji se koristi sa različitim matematičkim funkcijam
  •  str – string tip se koristi za podatke koji su ispisani slovima i drugim karakterima
  •  list – tip podataka list koji može sadržavati različite tipove podataka u istoj listi
  •  tuple – tip podataka sličan list tipu podataka, ali se podaci mogu samo čitati
  •  dictionary – tip podataka rečnik je neka vrsta hash table korisna za key-value pairs podatke

Obratite pažnju da tip longPython programskom jeziku verziji 3.x ne postoji. Već se umesto njega koristi tip integer i da je ovaj tip za celobrojne vrednosti jednostavno nema ograničenja i može biti proizvoljne dužine. To prvo znači da numerički brojevi imaju samo tri tipa podataka: integer, float i complex. Neki se mogu pitati pa gde decimal tip podataka. Taj tip se najčešće koristi za novac i ima veću preciznost od float tipa podataka. Njega ako hoćete da koristite, moraće te importovati klasu Decimal u vaš program. Ukoliko ste početnik u programiranju; jednostavno shvatite da u Python programskom jeziku za cele brojeve koristite integer, za brojeve sa zarezom koristite float; ako hoćete veću preciznost možete da uvezete u vaš program klasu Decimal i da onda koristite tip decimal i na kraju ako se baš razumete u matematiku ili radite matematičke zadatke, onda će te verovatno koristiti i complex tip podataka za kompleksne brojeve. Ovo sve teoretski može da zvuči za iskusnije programere jednostavnije dok za početnike zbunjujuće. Zato je najbolje da napravimo tri jednostavna programa i da vidite kako se koriste brojevi; tačnije numerički tipovi podataka u Python programskom jeziku.

Integer – int – tip podataka

среда, 08. април 2020.

Peta godišnjica Manuel Radovanović bloga

Juče je tačno 5 godina kako je prvi tekst “Programer se ne postaje, programer se rađa“ ugledao svetlost i svojom objavom pokrenuo jedan od najboljih Balkanski programerski blogova. Bez obzira na sve prepreke i komplikacije, bez obzira na finansijske gubitke i bez obzira na abnormalne situacije poput pandemije korona virusa i situacije vanrednog stanja; ovaj blog i dalje napreduje. Ponosan sam na ovaj blog, svoje samopouzdanje, profesionalnost, upornost i kreativnost ali najviše sam ponosan na sve vas koji direktno i indirektno putem društvenih mreža podržavate rad ovog bloga. Zato, sretna petogodišnjica svima nama! Ovo mora da se proslavi! Takođe, od danas do 1 Septembra 2020; mog 45 rođendana; nadam se da će ova teška situacija do tada proći; nudim svima 70% popusta na plaćene tekstove. Jedan plaćeni tekst na ovom blogu košta 100 evra; ali sa popustom od 70% je sada 30 evra. Za sve one koji hoće da se reklamiraju ili čak one koji bi da pomognu da doniraju neki novac; mogu da mi se jave na kontakt. Kako je nastao ovaj blog; šta se dešavalo i očekivalo svake njegove godine; pogledajte u sadržaju u kategoriji BLOG prethodne sve četiri godišnjice. Prve godine blog je brojao 27 455 poseta ili u proseku 75 pregleda svaki dan. Zatim druge godine je napravio veći pomak i dogurao do 99 404 pregleda ili 136 pregleda dnevno. Vreme i ozbiljan trud radili su svoje i treće godine blog je brojao 202 360 pregleda ili 183 pregleda dnevno. Međutim, četvrte godine i pored toga što sam bukvalno prestao da pišem postove ili da to činim izuzetno retko; blog je i dalje nastavio da povećava svoju posećenost i brojao je 305 030 poseta što je oko 207 poseta dnevno. Danas blog broji 414 076 pregleda što je za 109 046 pregleda više od prošle godine; što je u proseku oko 226 poseta dnevno. Ako bi ste gledali prosek za samo zadnju godinu onda bi to bilo 298 pregleda dnevno; inače još od nove godine ovaj blog broji oko 500 poseta dnevno i svakim danom posećenost sve više raste.


( Petogodišnjica Manuel Radovanović bloga )

Možda vama koji ste navikli na statistiku najpopularnijih Jutjubera poput Baka Praseta čiji video pregledi broje i do pola miliona pregleda na samo jednom video-u; ove cifre na blogu mogu izgledati male; verujte da nisu. To su dve različite stvari. Ciljne grupe ljudi su takođe totalno različite. Svaki vaš tekst koji bi stojao na blogu, trajao bi godinama i opet bi vam donosio preglede i kupce. Do sada ovaj blog broji 197 tekstova što je u proseku oko 3 teksta mesečno, i to će se ove godine definitivno promeniti.

Trenutno, najpopularniji tekstovi su:

·         Uvod u C# programski jezik14.8K
·         Abeceda i pravopis Engleskog jezika 8.8K
·         Abeceda i pravopis Nemačkog jezika 5.6K


( Velika zainteresovanost za gramatiku Engleskog i Nemačkog jezika )

Još početkom 2017 godine; doneo sam jednu dobru odluku da u svoj blog uvedem Gramatiku Engleskog jezika i Gramatiku Namačkog jezika kako bi blog proširio ciljnu grupu. Sad posle dve godine ta odluka se pokazala odlično. Iako Gramatika Engleskog jezika je ovde na drugom mestu, činjenica je da više posetioca posećuje Gramatiku Namačkog jezika, s time da treba uzeti i u obzir da do sada je više ispisano tekstova Gramatike Namačkog jezika. Takođe, koristim ovu priliku da pozovem sve škole stranih jezika da se reklamiraju na ovom blogu. Mislim da bi im se to vremenom itekako isplatilo. Ja učim i govorim Engleski jezik više godina ali u zadnje vreme učim i Namački jezik. Voleo bih da i Namački jezik znam i koristim kao Engleski jezik i verujem da će trudom i vremenom doći i taj dan. Zadnje tri godine sam triput putovao u Švajcarsku i nadam se da će se sve polako normalizovati i da ću do kraja ove godine putovati i u Nemačku.

Iz kojih zemalja pratioci najviše posećuju blog?