Tehnološki forum
Pozdrav,primjećujemo da posjećujete naše stranice kao gost pa vam savjetujemo da se prijavite ili registrirate kako biste postigli mnoge mogućnosti koje ,kao gost nemate. Kada se prijavite moći ćete pisati i čitati razne teme,sudjelovati u raspravama i razmjenjivati poruke sa drugim članovima. Želimo Vam ugodnu zabavu Smile
Tehnološki forum

Forum za sve tehnologije!
 
Početna stranicaPočetna stranica  FAQFAQ  ČlanstvoČlanstvo  Korisničke grupeKorisničke grupe  PodrškaPodrška  Tim Tim  PravilaPravila  RegistracijaRegistracija  Login  
Login
Korisničko ime:
Zaporka:
Loginiraj me automatski: 
:: Zaboravih zaporku
Latest topics
» Permaban =obrisan
20/4/2017, 21:37 by Zeus

» Stup Srama
19/4/2017, 14:38 by Zeus

» marke za mikser?
16/4/2017, 14:10 by Fejsbuk

» acer tablet
16/4/2017, 14:09 by Fejsbuk

» iphone 5s
16/4/2017, 14:09 by Fejsbuk

» Programiranje
16/4/2017, 14:05 by adpatrikmin

» avatari
16/4/2017, 02:25 by Zeus

» Pravila korištenja foruma "opće rasprave"
16/4/2017, 02:22 by Zeus

» pojačala
16/4/2017, 02:16 by Zeus

Online
Ukupno je: 1 korisnik/ca online; 0 registriranih, 0 skrivenih i 1 gost.

/

Najviše korisnika/ca istovremeno online bilo je: 5, dana 18/2/2017, 12:21.

Share | 
 

 Što je to programiranje?

Prethodna tema Sljedeća tema Go down 
Autor/icaPoruka
MrSniperZ
Administrator
Administrator
avatar

Posts : 8
Datum pridruživanja : 21.03.2017
Starost : 27

PostajNaslov: Što je to programiranje?   23/3/2017, 22:51

1)Što je to programiranje?
Opće je poznato kako je programerski posao zapravo posao snova kojeg karakterizira velika plaća, rad
od kuće, fantastični radni uvjeti i da su takvi ljudi izuzetno inteligentni. Za takav posao ljudi se školuju
desetljećima a oni istinski programeri nemaju socijalni život kao niti razvijene socijalne vještine, ali
zato imaju pogrbljena leđa, lice puno akni, masnu kosu i nemaju djevojku, ženu ili zaručnicu. Od svih
navedenih pretpostavki niti jedna nije točna osim (na apstraktnoj razini) možda one o školovanju.
Sagledamo li pojam školovanja kao edukaciju na nekoj visokoobrazovnoj ustanovi onda je teško naći
nekoga tko je proveo desetljeće studirajući isti studij, a da istovremeno spada u vrsne programere.
Sagledamo li ipak pojam učenja malo šire, onda se zasigurno može reći kako se programeri educiraju
desetljećima, no to znači suočavanje s novim problemima, tehnologijama i načinima poslovanja.
Slična je situacija i u svakom drugom zanimanju. Promjeni li se računovodstvena aplikacija u nekom
poduzeću koje se bavi vođenjem knjiga za druga poduzeća, zaposlenici će se morati naučiti koristit
novim softverom (engl. software) što je također učenje odnosno edukacija. Ipak, za programere
možemo reći kako je količina i učestalost usvajanja novih znanja češća jer se radi o poslu koji
nerijetko zahtijeva jedinstvena rješenja (iako možda slična, ali rijetko kada potpuno identična) a time
je i svaki takav zadatak novo učenje.
Važno je napomenuti kako programiranje može biti izuzetno zabavan posao no način usvajanja
gradiva je „bottom-up„ proces i čini se kao da ništa nema smisla i da nikada nećete stići do cilja da
postanete programer. Za buduće programere to znači da će se trebati prvo naučiti određena količina
znanja i tek na kraju će se sva ta znanja spojiti u veliku cjelinu i sve će imati smisla. Programiranje
ipak, suprotno vjerovanju mnogih, NIJE bazirano na jednostavnom grafičkom sučelju. Povlačenje
gotovih trodimenzionalnih modela koji nalikuju na ljude, civilne aute, cestu, zgrade i policijske aute
nije način kako nastaju igre. Jako puno „dosadnih“ linija teksta i još teksta i još teksta leži iza svega
onoga što krajnjim korisnicima omogućuje da pritiskom na tipku „A“ ili „lijevu strelicu“ auto zaista
skrene u lijevo i spektakularnim manevrom izbjegnete policijski auto koji Vas je pratio posljednjih
dvadeset minuta.
Summa summarum, programiranje je jako puno pisanja kôda (engl. code) i smišljanja algoritama,
ispijanja kave u velikim količina (stereotip koji čak i je često istinit), traženja i velikih, ali i jako malih
grešaka te frustriranja svaki put kada klijent zatraži promjenu u programu jer nije znao opisati što
točno želi i sada misli kako je dodavanje njegove „male želje“ još samo par minuta posla.
Programiranje nije „drag-n-drop“ sistem povlačenja grafičkih modela i pritisak tipke „Start“ nakon
čega sve nekako magično proradi samo od sebe.
Programiranje se ne uči štrebanjem. Sintaksu jezika je potrebno naučiti napamet i prihvatiti je
„zdravo za gotovo“, ali dobar programer se postaje iskustvom. Što više kôda napišete postajete sve
bolji programer.
Zapamtite, računalo radi ono što mu kažemo, ne ono što mi želimo. Jako često u programerskom
svijetu, te su dvije stvari potpuno različite.
7 | Uvod u programiranje kroz jezik C++ – Saša Fajković
2)Razvojna sučelja i programski jezici
Razvijanje aplikacija (drugi često korišteni nazivi su programiranje, pisanje kôda, kôdiranje i sl.)
moguće je čak i u najjednostavnijoj aplikaciji za uređivanje teksta. Primjer je popularni Notepad 1
koji
dolazi pred instaliran u sklopu Windows operativnog sustava. Naravno, takva aplikacija nije
namijenjena razvijanju aplikacija već pisanju jednostavnog teksta i takav pristup kodiranju nema
smisla. Uz danas već zaista veliku paletu aplikacija namijenjenih kodiranju često možete čuti kako se
koristi Notepad++, Code::Blocks, Eclipse, Microsoft Visual Studio, NetBeans i slične aplikacije. Njih
zovemo razvojna sučelja odnosno integrirana razvojna sučlelja (engl. integrated development
environment). U sklopu ovakvih specijaliziranih aplikacija nalazimo veliki broj gotovih rješenja koje
nam omogućuju više fokusiranja na programiranje i smišljanje algoritama a smanjuju količinu
vremena potrebnu za pisanje ponavljajućeg kôda. Naravno, nisu sve aplikacije specijalizirane za sve
programske jezike kojih također postoji veliki broj a svaki od njih donosi neke prednosti ali i mane
naspram drugih. Uz programski jezik C++, iznimnu popularnost dijele i Java (izgovara se ili java ili
đava), C (izgovara se „ce“ ili često zvan „čisti C“), C# (izgovara se „ce šarp“ ili „si šarp“), Python
(izgovara se „pajton“) te mnogi drugi. Važno je napomenuti kako HTML, CSS, JavaScript i sl. ne
spadaju u programske jezike već u opisne odnosno skriptne jezike.
a. Microsoft Visual Studio
Kôdiranje u bilo kojem razvojnom sučelju je jako slično. Sve važne stvari koje se tiču samog jezika su
uvijek iste, neovisno o razvojnom okruženju. Razlika se očituje u dizajnu sučelja, dodatnim opcijama,
pozicioniranjem dijelova aplikacije na ekranu no isti kôd će svuda izvršavati identičan proces. Kroz
ove primjere koristiti će se Microsoft Visual C++ 2010 Express. Ovo razvojno sučelje je besplatno i
moguće ga je preuzeti s ove stranice : [You must be registered and logged in to see this link.]
2010-express. Ukoliko u trenutku čitanja ovog teksta postoji novije razvojno sučelje, slobodno
preuzmite najnoviju verziju.

1 Notepad je program za osnovno uređivanje i stvaranje teksta a dolazi u sklopu Microsoft Windows
operativnog sustava
8 | Uvod u programiranje kroz jezik C++ – Saša Fajković
3)Instalacija i konfiguracija Microsoft Visual C++ 2010
Express
Potrebno je preuzeti instalacijsku datoteku s prije spomenute web stranice te pokrenuti instalaciju.
Prilikom instalacije potrebno je odabrati željeno mjesto instalacije i pratiti čarobnjak za instalaciju.
Sama instalacija nije ništa drugačija od bilo koje druge instalacije za Windows operativni sustav.
Slika 1 - Instalacija Microsoft Visual C++ 2010 Express razvojnog sučelja
Po završetku instalacije otvorite Microsoft Visual C++ 2010 Express (u daljnjem tekstu „MS VC++“)
nakon čega će aplikacija izvršiti početno podešavanje i napokon ste spremni za stvaranje aplikacija. 
9 | Uvod u programiranje kroz jezik C++ – Saša Fajković
Slika 2 - Početni izbornik nakon otvaranja Microsoft Visual C++ 2010 Express razvojnog sučelja
Odaberite u File – New – Project (kratica je Ctrl+Shtift+N) i na sljedećem izborniku odaberite „Win32
Console Application“. U donjem dijelu zadajte ime projekta (primjerice „prvi projekt“), lokaciju na
tvrdom disku (engl. hard drive) za spremanje projekta te „Solution name“ koje je po početnim
postavkama jednako imenu projekta. Za potrebe objašnjavanja u polje „Solution name“ upišite „prvi
solution“.
10 | Uvod u programiranje kroz jezik C++ – Saša Fajković
Slika 3 - Stvaranje novog praznog projekta
Pritisnite „OK“ nakon čega se pojavljuje čarobnjak za postavljanje projekta. Odaberite „Next“. Sada
Vam se nude opcije poput odabira tipa aplikacije, dodatnih opcija i dodavanja zaglavlja. Ovdje je
potrebno odabrati „Console application“ i obilježiti u izborniku dodatnih opcija „Empty project“ te
pritisnuti „Finish“.
Slika 4 - Izgled nakon stvaranja novog praznog projekta
11 | Uvod u programiranje kroz jezik C++ – Saša Fajković
Otvorilo nam se razvojno sučelje. S lijeve strane trebate vidjeti „Solution Explorer“. Ukoliko ga ne
vidite potrebno ga je upaliti odabirom na “View – Other Windows – Solution Explorer“ ili kraticom za
brzi pristup „Ctrl+Alt+L“. Sada vidimo kako se unutar našeg „solutiona“ nalazi naš prvi projekt koji u
sebi sadrži četiri mape (engl. "folder“). Sada je potrebno dodati našu prvu C++ datoteku. Najbrži način
je da desnim klikom miša na folder „Source Files“ odaberemo opciju „Add“ pa „New Item“ (kratica je
Ctrl+Shift+A). Iz ponuđenog izbornika potrebno je odabrati „C++ File (.scpp)“. Ova opcija se nalazi u
pod-izborniku „Code“ ali je vidljiva i ukoliko nam je odabran glavni izbornik „Visual C++“. Nakon
odabira C++ datoteke potrebno je zadati ime i lokaciju na tvrdom disku za spremanje te datoteke. U
polje „Name:“ upisujemo željeno ime (nazovimo je „uup1“). Iza riječi „uup1“ moguće je upisati i
ekstenziju (engl. extension) „.cpp“ no ukoliko to ne učinimo, razvojno sučelje će to automatski učiniti
za nas. Lokaciju ostavite kako je zadana (po početnim postavkama, ova C++ datoteka će biti
spremljena u mapu našeg „solutiona“). Za kraj odaberite gumb „Add“.
Slika 5 - Dodavanje prazne C++ datoteke (ekstenzija je .cpp)
12 | Uvod u programiranje kroz jezik C++ – Saša Fajković
Uočite kako se unutar „Source Files“ mape sada nalazi naša C++ datoteka te se automatski naša C++
datoteka otvorila za uređivanje. Napokon smo spremni za kôdiranje.
Slika 6 - Razvojno sučelje nakon što je dodana prazna C++ datoteka
13 | Uvod u programiranje kroz jezik C++ – Saša Fajković
4)Prva aplikacija
Tradicionalno kako to biva u svijetu programera, sada ćemo napraviti našu prvu „Hello World“
aplikaciju. Unutar našeg editora (dio u razvojnom sučelju za pisanje koda) upisat ćemo ove naredbe :
#include
using namespace std;
int main()
{
cout<<"Hello World";
return 0;
}
Ukoliko se ispod niti jednog dijela teksta nije ništa zacrvenilo znači da ste točno upisali potrebne
naredbe. Ako se ipak nešto crveni odnosno da je podvučeno crvenom bojom, provjerite točnost
upisa. Velik i mala slova također čine razliku.
Slika 7 - Prva aplikacija u C++ programskom jeziku
Sada pritisnite tipku „F5“ ili zeleni gumb koji nalikuje na trokut i potom odaberite opciju „Yes“ kako
biste pokrenuli postupak debagiranja (engl. debugging). Što je debagiranje objasnit ćemo kasnije.
14 | Uvod u programiranje kroz jezik C++ – Saša Fajković
Slika 8 - prikaz gumba za pokretanje procesa debagiranja
Pokretanjem postupka debagiranja Vaša će se aplikacija izvršiti no odmah će se i zatvoriti. Ovakav
rezultat je normalan no nema previše smisla pokretati aplikaciju koja odmah nestaje. Rješavanju
ovakvog problema doskočit ćemo pomoću dva trika. Prvi način je dodavanje još jedne linije koda koja
glasi : system("pause"); Ovu liniju je potrebno dodati iza linije cout<<"Hello World"; a
ispred linije return 0;. Drugi način je bez dodavanja ikakvih dodatnih linija. Umjesto pritiska na
tipku „F5“ potrebno je pritisnuti kombinaciju „Ctrl+F5“. Na ovaj način smo dobili našu aplikaciju na
ekranu no nismo pokrenuli proces debagiranja. Oba načina su za naše potrebe dobra iako bih
preporučio korištenje opcije bez debagiranja (Ctrl+F5) radi bržeg pokretanja aplikacije. Napokon,
naša aplikacija je uspješno prikazana na monitoru i nije nestala odmah po izvršenju. Aplikaciju gasimo
pritiskom na gumb „X“ za izlaz iz aplikacije (kao i u svim ostalim aplikacijama u Windows okruženju).
Slika 9 - Konzolna aplikacija - Hello World
Sada se možete pohvaliti kako ste izradili Vašu prvu aplikaciju u C++ programskom jeziku. U ovom
poglavlju ste se upoznali s osnovnim značajkama i radom razvojnog sučelja „MS VC++“. U daljnjem
tekstu neće se upućivati na cijeli postupak pokretanja Vaše aplikacije već će se podrazumijevati da
ste s tim dijelom upoznati. Isto pravilo vrijedi i za stvaranje novog projekta i C++ datoteka.
Sada će te započeti s učenjem programiranja a ukoliko vas brine što su značile prijašnje naredbe;
slobodno se prestanite brinuti. Sve potrebno će biti spomenuto, objašnjeno i sami će te isprobati.
Naravno, samoinicijativno istraživanje je uvijek preporučljivo i uvijek se pokaže izuzetno korisnim.
15 | Uvod u programiranje kroz jezik C++ – Saša Fajković
5)Osnovni pojmovi i savjeti
U nadolazećim odlomcima ukratko ćete saznati često korištene riječi vezane uz samo razvojno sučelje
i njihovo značenje.
a. Prevoditelj
Prevoditelj (engl. compiler) nam omogućuje prevađanje našeg napisanog kôda u izvedbeni kôd.
Računala razumiju binarni jezik koji se sastoji od samo dva simbola – znamenske jedan (1) i znamenke
nula (0). Ljudima je ovakav zapis nepraktičan pa za komunikaciju između čovjeka i računala koristimo
prevoditelja. Ovaj program dolazi integriran u MS VC++ tako da se o njemu ne morate brinuti.
b. Program za uređivanje teksta
Kao što mu i samo ime kaže, ovaj dio razvojnog sučelja služi za pisanje teksta odnosno kôda. Mnogi
današnji programi za uređivanje teksta (engl. editor) dolaze s podrškom za isticanje ključnih riječi
(engl. syntax highlighting). Ovo ste već vidjeli upisom naredbe #include u našem editoru. Tekst je
postao plave boje što sugerira da smo upisali jednu od ključnih riječi.
c. Program za otkrivanje pogrešaka
Ovaj program, koji također dolazi integriran unutar VS C++ okruženja će Vam pomoći pri otkrivanju
grešaka (engl. debugger). Kroz pisanje kôda susret će te se s dvije vrste pogrešaka; sintaksne (engl.
syntax error) i logičke (engl. logic error). Debugger može pomoći pri otkrivanju sintaksnih pogrešaka
ali ne i logičkih.
d. Sintaksa
Sintaksa je skup pravila kojih se moramo pridržavati pri korištenju nekog jezika. Doslovno, to su
striktno predodređena pravila pisanja kôda koja je potrebno naučiti i zapamtiti. Zamislite ih kao
definicije no znatno manje duljine.
e. Sintaksna pogreška
Na ovakvu vrstu pogreške će Vas sam debugger često upozoriti i neće dopustiti pokretanje aplikacije.
Izostavljanje simbola „;“ (točka-zarez) na kraju linije, pogrešna uporaba velikog ili malog slova i slične
pogreške se smatraju sintaksnim pogreškama.
16 | Uvod u programiranje kroz jezik C++ – Saša Fajković
f. Logička pogreška
Ovo su pogreške koje je znatno teže otkriti. U ovom slučaju Vam debugger ne može pomoći. Ukoliko
napišete : „X = 3“ i „Y = 4“ i kažete da je „Z = X+Y“ (zbroj dvije vrijednosti) a pri ispisu napišete da
slovo Z predstavlja razliku umjesto zbroja tih brojeva, debugger neće prijaviti pogrešku i uredno će
izvršiti aplikaciju. Naravno, rezultat u ovom slučaju neće biti u skladu s našim očekivanjem. Ispitivanje
na način da ručno provjeravamo dobivene vrijednosti je jedini način kontrole.
g. Redoslijed izvršavanja programa
Program prevoditelj (compiler) uvijek izvršava naredbe od prve linije prema zadnjoj gledano u
vertikalnom smjeru, odnosno kôd se uvijek izvršava od vrha prema dnu. Ukoliko imamo kôd poput
cout<<111<cout<<222<prvo će se izvršiti ispis broja 111 u konzolu te će program prijeći u novi red nakon čega će se izvršiti
ispis broja 222 i program će ponovno prijeći u novi red te ako nema više kôda, aplikacija će završiti s
radom.
h. Numeracija kôdnih linija
Kako bi se lakše snalazili u text editoru preporuča se upaliti numerički prikaz linija. Ova opcija će samo
dodati numeraciju svake linije u editoru. Opciju uključujemo tako da odaberemo Tools-Options-Text
Editor-All Languages i upalimo opciju „Line numbers“.
i. Intelli-Sense
U razvojnom okruženju MS VC++ uočit ćete kako će razvojno okruženje ponuditi neke opcije kako
pišete kôd. Na ovaj način razvojno sučelje pokušava olakšati posao programeru tako da automatski
nadopuni riječ koju programer želi napisati. Ovim načinom se mogu smanjiti i sintaksne pogreške.
Željenu nadopunu odabirete dvostrukim lijevim klikom miša na željenu riječ ili odabirom željene riječi
pomoću strelica te pritiskom na tipku „Tabulator“ (iznad „Caps lock“ tipke).
j. .cpp ekstentija
„.cpp“ je naziv ekstenzije (engl. extension) svake C++ datoteke. Ekstenzije s kojima ste se već susreli
su zasigurno „.txt“, „.pdf“, „.doc“, „docX“ i slično. Primjerice „Programiranje.cpp“ će označavati da se
radi o C++ datoteci čije je ime „Programiranje“.
Mape datoteka (engl. folder) nam omogućuju jednostavnije i smislenije grupiranje određenih
datoteka (engl. file). Unutar našeg solutiona nalaze se četiri unaprijed određene mape. 
17 | Uvod u programiranje kroz jezik C++ – Saša Fajković
„External Dependencies“ – u njoj su pohranjene datoteke koje su potrebne za korištenje funkcija
unutar C++ jezika. Ovisno o potrebama programera mogu se dodavati i uklanjati datoteke. Kako i
samo ime mape kaže, datoteke smještene u ovoj mapi su one o kojima naša aplikacija ovisi.
„Header Files“ – u ovu mapu postavljamo vrste datoteka koje imaju ekstenziju „.h“ a koriste se pri
imalo zahtjevnijem pisanju kôda kako bi se kompleksne aplikacije s stotinama ili tisućama linija kôda
rastavile u manje, logične cjeline ili primjerice ukoliko više ljudi istovremeno radi na istoj aplikaciji i
svaka osoba radi na određenom dijelu aplikacije. U tom slučaju ne bi imalo smisla koristiti samo
jednu „.cpp“ datoteku već je logičnije rastaviti problem u više cjelina kako bi svaka osoba mogla raditi
svoj dio posla i na kraju se sve uklopi u veliku cjelinu.
„Resource Files“ – mapa koja sadrži resurse bitne za našu aplikaciju. Često u ovu mapu stavljamo
datoteke bitne za našu aplikaciju ali koje nisu dio našeg trenutnog projekta. Primjerice, datoteke koje
nisu napisane u C++ jeziku i zahtijevaju prevođenje u C++ jezik se često mogu naći u ovoj mapi.
„Source Files“ – jedina mapa koja će nama trebati. U njoj će se nalaziti naše „.cpp“ datoteke. Kako i
samo ime kaže, to je mapa namijenjena za izvorne datoteke. Naravno, u naš projekt je moguće
dodavanje i vlastitih datotečnih mapa no potreba za takvim postupkom izlazi iz okvira ove skripte.
k. „#include “, „using namespace std“, „int main()“, „return 0“
Naredbe „#include“ i „using namespace std;“ su jedne od mnogih predefinirah
naredbi unutar C++ jezika koje smanjuju vrijeme potrebno da programer obavi neke osnovne
funkcije. Sama (predprocesorska) naredba „#include“ govori programu prevoditelju da ćemo
uključiti neku datoteku a „“ specificira što točno uključujemo. U ovom slučaju
konkretno radi se o datoteci (točni naziv za ovakvu vrstu datoteke je biblioteka (engl. library) koja u
sebi sadrži kratice poput „cin“ (čita se : „ce in“) i „cout“ (čita se: „ce aut“). Značenje ove dvije
kratice predstavlja ulazni i izlazni tok konzole (učitavanje iz konzole (cin) i pisanje u konzolu (cout)).
Naredba „using namespace std;“ nam omogućuje korištenje unaprijed definiranih riječi,
funkcija, klasa, objekata a time ujedno skraćuje duljinu kôda. Oznaka „std“ je kratica za englesku
riječ „standard library“ i govori programu prevoditelju da ćemo koristiti standardne (predefinirane)
izraze za neke operacije. Ukoliko ne bismo napisali „std“ naš program prevoditelj ne bi znao što
znače neke od ključnih riječi koje ćete upoznati uskoro i morali bismo mu eksplicitno navesti na što
točno mislimo. Primjerice, tada bi naša aplikacija umjesto ovakvog kôda :
18 | Uvod u programiranje kroz jezik C++ – Saša Fajković
#include
using namespace std;
int main()
{
cout<<"Hello World";
return 0;
}
morala biti zapisana na ovakav način :
#include
int main()
{
std::cout<<"Hello World";
return 0;
}
Uklonimo li „std::“ dio iz drugog primjera pojavit će se sintaksna pogreška jer prevoditelj ne zna na
što točno se odnosi naredba „cout“ (iako smo mu mi rekli da koristi biblioteku „iostream“ u kojoj je
naredba „cout“ sadržana).
Naredba „return 0;“ govori da će naša glavna (main) funkcija po završetku izvođenja vratiti
znamenku „0“ (nula). Više o ovome ćete naučiti u dijelu u kojem se obrađuju funkcije. Važno je
napomenuti kako nije striktno definirano pravilo da se vrati vrijednost nula (0), ali je običaj kojeg se
valja pridržavati. Ova vrijednost ukazuje da nije došlo do pogreške u izvođenju programa odnosno
vrati li naša main funkcija neku drugu vrijednost znat ćemo da je došlo do pogreške.
„int main()“ je glavna funkcija i izvođenje programa počinje s njom. Sav kôd ćemo pisati unutar ove
funkcije. Program može imati samo jednu main funkciju. Što su funkcije i što predstavlja oznaka int
ćemo obrazložiti u nastavku ove skripte.
l. Naredbe „cin“ i „cout“ (učitavanje iz konzole i ispis u konzolu)
Ove dvije naredbe ćemo često koristiti. Naredba „cin“ predstavlja učitavanje iz konzole (Console IN) a
naredba „cout“ predstavlja pisanje u konzolu (Console OUT). Sintaksa korištenja između ove dvije
naredbe se razlikuje u simbolu „<<“ odnosno „>>“. Želimo li učitati neku vrijednost iz konzole (ono
što je korisnik unio) i spremiti to u varijablu imena „upis“ koristit ćemo ovu naredbu cin>>upis;.
Želimo li nešto ispisati u konzolu (primjerice vrijednost varijable „upis“) potrebno je upisati naredbu
cout<19 | Uvod u programiranje kroz jezik C++ – Saša Fajković
m. Ispis teksta i uloga dvostrukih navodnika
Želimo li ispisati neki tekst na ekran (primjerice „Dobar dan“) tada koristimo dvostruke navodnike.
cout<<“Pozdrav, nadam se da shvacate C++“<ovaj način cout<<“2+3“; rezultat u konzoli će biti „2+3“ odnosno neće se zbrojiti te dvije
vrijednosti već će bit prikazane kao tekst. Razlog tome je što smo prevoditelju rekli da želimo ispisati
tekst koji se sastoji od znamenke, simbola i još jedne znamenke. Zapamtite – sve što se nalazi ispod
dvostrukih navodnika se tretira kao tekst, neovisno jesmo li upisali slova, znamenke ili simbole.
Ukratko rečeno, ono što se nalazi između dvostrukih navodnika će se upravo tako i ispisati.
Želimo li saznati neku vrijednost (primjerice prezime neke osobe) i kasnije ispisati tu vrijednost,
potrebno je prvo pomoći „cin>>“ naredbe upisati vrijednost prezimena u neku varijablu tipa string
(recimo da se varijabla zove „prez“). Nakon što je vrijednost spremljena možemo tu vrijednost i
ispisati u kombinaciji s nekim tekstom poput cout<< „Dobar dan „<n. Simbol točka-zarez -> „ ; „
U programskom jeziku C++ prilikom završavanja naredbe koristi se simbol „;“ (točka-zarez). Ovim
načinom govorimo programu prevoditelju (compiler) gdje je kraj naredbe. U jednoj komandnoj liniji
moguće je imati i više naredbi poput cout<<111<cout<<333<moguće ih je upisati u istoj komandnoj liniji što se često koristi kako bi sam kôd programa bio čitljiviji.
o. Naredba „endl“  End Line (prelazak u novi red)
Pokušamo li ispisati nešto u konzolu poput recimo cout<<“Test“; vjerojatno će Vam smetati
rečenica „Press any key to continue . . . “. Ovdje nam pomaže naredba „End Line“ odnosno njena
skraćenica koja se koristi u programiranju „endl“. Implementacija ove naredbe u naš kôd je
jednostavna. Na mjestu gdje želimo prijeći u novi red (prekinuti trenutnu liniju u kojoj se nalazimo)
potrebno je dodati „<cout << 111 << endl;
cout << 222 << endl;
p. Važna napomena
U svim programima ćemo uvijek koristiti naredbe #include , „using namespace
std;“ i „return 0;“. Korištenje dodatnih biblioteka će biti posebno napomenuto a spomenute tri
naredbe uzmite zdravo za gotovo jer detaljno i kvalitetno objašnjavanje prelazi okvire ove skripte.
20 | Uvod u programiranje kroz jezik C++ – Saša Fajković
6)Identifikatori
a. Što su identifikatori i koja su dopuštana imena
Identifikatori su zapravo imena naših dijelova programa poput varijabli ili funkcija. Svaka varijabla ili
funkcija moraju imati jedinstveno ime kako bi se mogli referencirati na njih. Imenovanja su
proizvoljna no ipak postoje neka ograničenja.
1) Svaki identifikator može sadržavati velika i mala slova engleske abecede, znamenke i
simbol podcrte (_) no uz uvjet da :
2) prvi znak imena odnosno identifikatora mora biti ili slovo ili podcrta.
3) Identifikator ne smije biti jednak nekoj od ključnih riječi jezika ali je može sadržavati. To
znači da naš identifikator ne može biti riječ „int“ jer je ta riječ predodređena u C++ jeziku
za cjelobrojni tip podataka (uskoro ćemo ih obraditi) ali smije se zvati primjerice „pinta“.
Dobra je praksa (nije striktno zabranjeno ali se ne preporuča) izbjegavati stavljanje dvije
ili više podcrta jednu do druge )primjerice : „moje__program“) jer lako može doći do
krivog imenovanja pri pozivanju takvih imena u programu. Također se ne preporuča
započinjati ime s dvije podcrte i velikim slovom jer su neke riječi koje su striktno
rezervirane za C++ pisane po takvom predlošku (primjerice : „__FILE__“).
Napomena !!!
Sugestija je da ne štedite na broju znakova u identifikatorima jer je generalno pravilo da
treba koristiti deskriptivna imena varijabli i funkcija. Primjerice ako nazovemo varijablu
„brojPi“ i dodijelim joj vrijednost „3.14“ i nakon par mjeseci ću znati na što se odnosi ta
varijabla no nazovem li je samo „x“ postoji izuzetno velika šansa kako se svrhe te varijable
neću odmah moći prisjetiti.
21 | Uvod u programiranje kroz jezik C++ – Saša Fajković
b. Popis zabranjenih riječi
Slika 10 - Popis ključnih riječi u jeziku C++ 2

2
izvor : [You must be registered and logged in to see this link.]
rGivgUD2QZc/TrMeK7sMjNI/AAAAAAAAAGc/FgjP2KB7xvw/s640/kew.PNG
22 | Uvod u programiranje kroz jezik C++ – Saša Fajković
7)Varijable
a. Što su varijable
Varijable ste zasigurno već susreli. Osnovni zadatci poput :
X=5, Y=5, Z=X+Y, Pronađi „Z“.
u sebi sadrže tri različite varijable. U ovom primjeru to su varijable X, Y i Z. Varijable neće uvijek
poprimiti unaprijed definiranu vrijednost i tu će se vidjeti moć varijabli. Svaku varijablu je potrebno
definirati a logično je da ćemo je htjeti i inicijalizirati
b. Deklaracija varijabli
Deklaracija varijabli je zapravo govorenje našem programu da ćemo koristiti varijablu nekog imena.
Primjerice naredba int x; će našem programu reći da stvaramo varijablu koja je tipa integer
(skraćenica je int a predstavlja cijele brojeve) i koja će se zvati „x“. U ovom se trenutku ne brinite oko
značenja riječi integer i ostalih tipova podataka. Njih ćemo ubrzo obraditi.
c. Inicijalizacija varijable
Svaku varijablu, nakon što je stvorimo (u gornjem primjeru je to bilo int x;) poželjno je i postaviti
na neku vrijednost odnosno pridružiti joj neku vrijednost. Postupak dodjeljivanja neke vrijednosti
nekoj varijabli zovemo inicijalizacija. Primjer inicijalizacije bi bio da smo varijabli „x“ dodijelili neku
cjelobrojnu vrijednost, poput recimo 5 (pet). Naš kod bi tada izgleda ovako : int x = 5; ili smo
mogli kroz dva zasebna koraka obaviti postupak, prvo stvoriti varijablu a zatim joj dodijeliti
vrijednost. Tada bi kôd ovako izgledao :
int x;
x=5;
Varijabla je dakle simbolično ime za neku vrijednost kako bismo se lakše snašli u našem
programu. Iskoristivost varijabli će te uskoro upoznati.
d. Konstantne varijable
Poseban tip varijabli su konstante. Ovu vrstu varijabli možemo samo jednom postaviti na neku
vrijednost (inicijalizirati). Koriste se kada želimo zaštiti vrijednost neke varijable u našem programu da
ju drugi programeri ne mogu naknadno mijenjati u svom kôdu. Sintaksa je jednostavna, samo se doda
ključna riječ „const“ ispred postavljanja tipa podatka te varijable, odnosno ovako :
const int x = 5;
23 | Uvod u programiranje kroz jezik C++ – Saša Fajković
8)Tipovi podataka
Slično poput ljudi, i računala razlikuju tipove podatka. Ljudi razlikuju znamenke od slova ili simbola,
brojeve od riječi i unutar tih osnovnih podjela možemo napraviti još manje podjele. Slova možemo
podijeliti na velika i mala a brojeve primjerice na cjelobrojne (1, 2, 3, ...) i na realne odnosno s
pomičnim zarezom (3.141592653589793238, 6.543, 1.61803, ...). U programerskom svijetu, osnovne
(primitivne) tipove podataka dijelimo na : integer, float,double boolean, character. Uz njih postoje i
tipovi podataka poput long i string, ali i programer može sam definirati svoje tipove podataka. Točnu
veličinu i raspone možete pogledati tablici na kraju ovog poglavlja a deklaraciju varijable svakog tipa
možete vidjeti ispod svakog podnaslova u ovom poglavlju.
a. integer
integer (skraćenica je int) označava cijele brojeve. Tipu integer možemo pridodati i „podtipove“
poput „short“, „long“ i „unsigned“. Tip podatka short int će nam omogućiti manji raspon brojeva, a
long int veći raspon brojeva ali sukladno tome i manje odnosno veće zauzeće memorije. Ukoliko se
ukaže potreba za korištenjem striktno pozitivnih brojeva tada možemo koristiti unsigned int. Za naše
potrebe, koristit ćemo samo int tipove.
int x = 5;
b. float
Ovaj tip podatka (nema skraćenice) nam omogućuje veći raspon brojeva odnosno radi se o cijelim
brojevima s pomičnim zarezom (tzv. decimalni brojevi). Ovakav tipo podataka nam naravno daje
puno veću preciznost. Decimalni zarez se ne zapisuje simbolom zareza ( , ) već simbolom točka ( . ).
float x = 3.1415926;
c. double
Double tip podatka (nema skraćenice) daje okvirno duplo veću preciznost od float tipa ali zauzima i
duplo više memorije. Iako se u našim aplikacijama ne morate brinuti da ćete zauzeti previše
memorije dobro je od početka koristiti tipove sukladno potrebama.
double x = 3.141592653589793;
d. character
Za razliku od prethodna tri tipa, ovaj tip podataka (skraćenica je char) ne predstavlja brojeve niti
znamenke već simbole (karaktere). Može sadržavati isključivo jedan znak (znamenku, slovo ili
simbol). Prilikom inicijalizacije ovog tipa podataka koriste se jednostruki navodnici.
char x = 'a'; ili char x = '1'; ili char x = '#';
24 | Uvod u programiranje kroz jezik C++ – Saša Fajković
e. boolean
Ovaj tip podataka (skraćenica je bool) ima predodređene samo dvije vrijednosti. To su vrijednosti true
(istina) i false (laž). Sinonim za te vrijednosti su ujedno i znamenke 1 i 0 gdje znamenka 0 (nula)
predstavlja laž (false) a istina se predstavlja znamenkom 1 (jedan). Važno je napomenuti da varijabli
koja je tipa bool možemo pridijeliti i vrijednost 2, 3, 5, itd. ali će ta vrijednost biti zapisana kao 1
(jedan) odnosno kao istina. Ovakav pristup nemojte koristiti već koristiti true i false vrijednosti.
bool x = true; ili bool x=1; ili bool x = false; ili bool x = 0;
f. string
Od svih predstavljenih tipova podataka, ovaj tip (nema skraćenice) jedini ne spada u primitivne
tipove i njih ćemo posebno obraditi naknadno. Važno je znati da je string tip podatka zapravo skup
znakova (simboli, slova i brojke). Nečije ime bi bilo tipa string ali isto tako možemo i brojeve zapisati
kao stringove no tada se nad njima neće moći vršiti matematičke operacije. Ovaj tip podatka ćemo
koristiti ali se neće detaljno obrazložiti jer je potrebno ulaziti u područje objektno orijentiranog
programiranja što nije tematike ove skripte. Važno je zapamtiti da se stringovi inicijaliziraju tako da se
varijabli pridružuje neka vrijednost koja se nalazi pod dvostrukim navodnicima i da sve što je string
tretiramo kao tekst neovisno što se nalazi između dvostrukih navodnika.
string ime = „program“; ili string broj = „3“; ili string broj = „3.14“;
String tip podatka je potrebno posebno uključiti u našu aplikaciju dodavanjem naredbe
„#include “.
g. Popis tipova podataka i njihova svojstva
Name Description Size Range
char Character or small integer. 1byte signed: -128 to 127
unsigned: 0 to 255
short
int(short)
Short integer. 2bytes signed: -32768 to 32767
unsigned: 0 to 65535
int integer. 4bytes
signed: -2147483648 to
2147483647
unsigned: 0 to 4294967295
long
int (long)
Long integer. 4bytes
signed: -2147483648 to
2147483647
unsigned: 0 to 4294967295
bool Boolean value. It can take one of two values:
true or false. 1byte true or false
float Floating point number. 4bytes +/- 3.4e +/- 38 (~7 digits)
double Double precision floating point number. 8bytes +/- 1.7e +/- 308 (~15 digits)
long double Long double precision floating point number. 8bytes +/- 1.7e +/- 308 (~15 digits)
wchar_t Wide character. 2 or 4
bytes 1 wide character
Slika 11 - Tipovi podataka u C++ programskom jeziku i njihova svojstva 3

3
Izvor : [You must be registered and logged in to see this link.]
25 | Uvod u programiranje kroz jezik C++ – Saša Fajković
h. Cast - Prebacivanje između tipova podataka
Nerijetko će biti potrebno prebaciti neku vrijednost iz jednog tipa podatka u drugi. Taj postupak
zovemo Cast. Primjer toga je prebacivanje nekog broja koji je pohranjen kao String tip podatka koji
želimo prebaciti u Integer ili primjerice Float.
Neke od funkcija za prebacivanje između tipova podatka ćemo upoznati u kasnijem dijelu koji
obrađuje funkcije.
26 | Uvod u programiranje kroz jezik C++ – Saša Fajković
9)Operatori
Najpoznatije i najvažnije vrste operatora, zvanim „aritmetički operatori“ dijelimo u dvije skupine;
unarne i binarne. Unarni operatori se koriste ukoliko vršimo neku operaciju nad samo jednom
varijablom dok se binarni koriste kada vršimo operacije nad dvije varijable.
a. Unarni operatori
Postoji šest aritmetičkih unarnih operatora.
+X Unarni plus
-X Unarni minus
X++ Uvećaj nakon
++X Uvećaj prije
X-- Umanji nakon
--X Umanji prije
Tablica 1 - Prikaz Unarnih operatora i njihovih naziva
b. Inkrementacija
Od navedenih unarnih operatora, prva dva nećemo koristiti. Drugi i treći unarni operatori se koriste u
procesu inkrementacije. Naredba „X++;“ označava povećanje vrijednosti varijable „X“ za jedan. Ako
je varijabla „X“ imala vrijednost 2 i nad njom izvršimo inkrementaciju, varijabla „X“ će tada poprimiti
vrijednost 3 (tri).
int x = 2;
x++;
Sada varijabla „X“ ima vrijednost 3.
27 | Uvod u programiranje kroz jezik C++ – Saša Fajković
c. Dekrementacija
Suprotno inkrementaciji, postoji i dekrementacija, a u gornjoj tablici to su peti i šesti unarni
operatori. Očekivano, postupkom dekrementacije će se vrijednost varijable umanjiti za jedan.
int x = 2;
x--;
Sada varijabla „X“ ima vrijednost 1.
Važno je uočiti razliku između „X++“ i „++X“ odnosno „X--„ i „--X“. Najlakše će se razlika uočiti
prilikom ispisa vrijednosti varijable. Postavimo li vrijednost varijable „x“ na 2 i izvršimo naredbu ispisa
cout<izvršiti uvećanje njene vrijednosti. Suprotno tome, izvršimo li naredbu cout<<++x; tada će rezulat
biti broj 3 (tri), odnosno prvo će se izvršiti uvećanje vrijednosti varijable za jedan a zatim će se ispisati
njena vrijednost. Inkrementacija i dekrementacija su u većini slučajeva koriste kod petlji koje ćemo
obraditi u kasnijem dijelu skripte.
d. Binarni operatori
Poznatija vrsta operatora su vjerojatno binarni. Korištenje neke od nižih matematičkih funkcija u
kombinaciji s dvije varijable je svima poznato.
X + Y Zbrajanje
X – Y Oduzimanje
X * Y Množenje
X / Y Dijeljenje
X % Y Modulo
Tablica 2 - Popis binarnih operatora i njihovi nazivi
Vjerujem kako ste sa prve četiri matematičke operacije i njihovim svojstvima jako dobro upoznati, no
nepoznanica može biti operacija modulo. Ova operacija nam vraća kao rezultat ostatak pri
cjelobrojnom dijeljenju dva broja.
int x = 10;
int y = 3;
int z = x % y;
U ovom slučaju će vrijednost varijable „z“ iznositi 1 (jedan). Kako smo došli do toga? Podijelimo li broj
10 s brojem 3 na kalkulatoru, dobit ćemo beskonačnu vrijednost od 3.3333...). Pogledajmo znamenku
ispred decimalnog zareza; znamenku 3. Pomnožimo li taj broj (samo gledamo znamenke ispred
decimalnog zareza) s brojem kolika je vrijednost varijable „y“ (djelitelj) odnosno isto brojem 3 u ovom
slučaju dobit ćemo da je rezultat broj 9. Sada nam preostaje samo napraviti razliku između varijable
„x“ (djeljenik) i broja 9, pa oduzmemo li od broja 10 broj 9 dobit ćemo broj 1 kao rezultat. 
28 | Uvod u programiranje kroz jezik C++ – Saša Fajković
DEKLARACIJA I INICIJALIZACIJA REZULTAT NAKON OPERACIJE MODULO
INT X = 10%7; x = 3
INT X = 5%2; x = 1
INT X = 8 % 2; x = 0;
INT X = 654321 % 17; x = 8;
Tablica 3 - Korištenje binarnih operatora i prikaz rezultata
e. Operatori pridruživanja
Operator pridruživanja je svima dobro poznat. Često se pozivamo ne njega pod nazivom „jednako“ a
njegov simbol je „=“. Uz ovaj operator postoje i izvedenice koje omogućuju manje pisanja kôda a
najčešće korištene operatore, njihove oznake i objašnjenja se nalaze u tablici, a primjeri ispod tablice.
OPERATOR OBJAŠNJENJE
= pridruži vrijednost
+= uvećaj za
-= umanji za
*= pomnoži sa
/= podijeli sa
%= dodaj vrijednost nakon izvršenja modulo operacije
Tablica 4 – Popis najčešće korištenih operatora pridruživanja i njihovi nazivi
NAREDBA REZULTAT
int x = 3; x = 3
int x = 6;
x+=2;
x = 8
int x = 6;
x-=2;
x = 4
int x = 6;
x*= 2;
x = 12
int x = 6;
x/=2;
x = 3;
int x = 6;
x%=2;
x=0;
Tablica 5 - Korištenje operatora pridruživanja i prikaz rezultata
29 | Uvod u programiranje kroz jezik C++ – Saša Fajković
f. Operatori usporedbe
Posljednja vrsta operatora koje ćemo obraditi su operatori usporedbe. Slično kako ste već i navikli u
matematici postoje mogućnosti da su prilikom usporedbe dvije vrijednosti, prva bude veća od druge,
manja od druge, da budu iste ili da budu različite. Naravno, tu su još i operatori „veće ili jednako“ i
„manje ili jednako“.
OPERATOR OBJAŠNJENJE
> striktno veće
< striktno manje
>= veće ili jednako
<= manje ili jednako
== potpuno identično
!= potpuno različito
Tablica 6 - Popis operatora uspoređivanja i njihovi nazivi
Važno je primijetiti posljednja dva operatora, „==“ i „!=“. Operator koji provjeravamo jesu li dvije
vrijednosti identične se sastoji od dva znaka jednakosti. Velika je razlika stavimo li dva ili jedan znak
jednakosti jer stavljanjem jednog znaka jednakosti koristimo operator pridruživanja odnosno nekoj
varijabli pridjeljujemo neku vrijednost. Suprotno očekivanom, operator usporedbe jesu li dvije
vrijednosti potpuno različite nije „<>“ već je to „!=“.
Operatore usporedbi ćemo koristiti prilikom kontroliranja toka našeg programa odnosno kod petlji i
grananja.
g. Logički operatori
U programiranju se najčešće koriste dva operatora a zovu se „logički i“ i „logički ili“.
Simbol operatora Naziv operatora
&& logički i
|| logički ili
Tablica 7 - Simboli logičkih operatora i njihova značenja
Operator „logički i“ se koristi ukoliko želimo da se nešto dogodi odnosno da se neki uvjet izvrši
ukoliko su barem dva uvjeta točna. Primjerice, želimo izračunati opseg i površinu pravokutnika samo
ako su vrijednosti stranice „a“ i stranice „b“ obavezno veće od nule. Dovoljno je da jedan uvjet nije
zadovoljen i proces se neće izvršiti. Simbol je „&&“ (& se dobije pritiskom na Shift+6)
Operator „logički ili“ koristimo kada nam je dovoljno da je barem jedan od uvjeta zadovoljen.
Primjerice, pitamo korisnika na koji mu je pogonski ovjes na osobnom automobilu. Mogući odgovori
su : „pogon na prednje kotače, pogon na stražnje kotače ili pogon na sva četiri kotača“. Na osnovu tih
vrijednosti upisat će mu se infomacija o pogonskom ovjesu u prometnu knjižicu vozila. Kako bi
računalo poslalo naredbu pisaču za ispis korisnik mora unijeti ili opciju 1 ili opciju 2 ili opciju 3. Sve
izvan predviđenih vrijednosti će se smatrati greškom i možemo u tom slučaju zahtijevati od korisnika
ponovni upis. Simbol za „logički ili“ je „||“ (simbol | se dobije pritiskom na Alt Gr+W).
30 | Uvod u programiranje kroz jezik C++ – Saša Fajković
10) Komentari
Jedna od najvažnijih stvari prilikom pisanja kôda je komentiranje. Iako je mnogima u početku teško se
priviknuti na ovu praksu, s vremenom programeri se nauče obavezno komentirati svoj kod kako bi se
i oni sami ali i drugi programeri koji će proučavat njihov kod mogli snaći i lakše shvatiti „što je pjesnik
htio reći“.
Druga svrha komentara je kada programeru određeni dio kôda ne treba a ne želi ga izbrisati i kao
brzo rješenje se nudi opcija da se kôd zakomentira. Postoje dva načina komentiranja.
Ukoliko želimo zakomentirati samo jednu liniju koristit ćemo „//“. Dva operatora dijeljenja odnosno
dva slash znaka. Sve što se nalazi u toj jednoj liniji koda iza dva slash znaka će se smatrati
komentarom (MS VC++ će komentare obilježiti zelenom bojom).
Ukoliko imamo veći dio kôda za zakomentirati (zamislite 50 linija kôda) tada nebi imalo smisla ići
liniju po liniju i svuda stavljati po dva slash simbola i kanije svaki od njih ručno i uklanjati. Naravno da
postoji lakši način a to je korištenjem „/*“ i „*/“ simbola. Početak (od kuda želimo početi
komentiranje) se obilježava sa slash simbolom i zvjezdicom a kraj (do kuda da se kôd zakomentira)
obilježavamo prvo simbolom zvjezdice a zatim slash simbolom.
U oba slučaja će zakomentirani kod postati zelen i sve što je zakomentirano se neće izvoditi prilikom
prevođenja programa. Ukoliko imamo zakomentirano više linija, moguće je taj dio koda minimizirati
pritiskom na simbol „-„ (minus odnosno povlaka) koji se nalazi uz početnu liniju komentara. Na isti
način, samo pritiskom na simbol „+“ (plus) će se sav zakomentirani tekst prikazati.
Slika 12 - Prikaz komentara u editoru
31 | Uvod u programiranje kroz jezik C++ – Saša Fajković
11) Uvodni zadatci (tipovi podataka, upis i čitanje iz
konzole, sintaksa, operatori)
1) Deklarirati i inicijalizirati dvije varijable imena „prviBroj“ i „drugiBroj“, te varijablu imena
„zbroj“ čija će vrijednost biti jednaka zbroju vrijednosti varijabli „prviBroj“ i „drugiBroj“.
Vrijednost varijable je potrebno i ispisati u konzolu pomoću cout naredbe. Potrebno je
napraviti varijacije tipova podataka kako je prikazano u tablici i pogledati rezultat :
prviBroj drugiBroj zbroj
int int int
int float int
float int int
float float int
int int float
int float float
float float float
Primjer
#include
using namespace std;
int main()
{
int prviBroj = 3;
float drugiBroj=3.456;
int zbroj = prviBroj + drugiBroj;
cout <return 0;
}
Uočite što se događa ako je varijabla „zbroj“ tipa „integer“ a varijabla“prviBroj“ i/ili
„drugiBroj“ su tipa „float“ i sadrže znamenke različite od 0 (nula) iza decimalnog zareza.
2) Deklarirajte, inicijalizirajte i ispišite vrijednost varijable mijenjajući tip podatka varijable (int,
float, string, char, double, bool). Isprobajte sve kombinacije.
32 | Uvod u programiranje kroz jezik C++ – Saša Fajković
3) Uključite biblioteku „string“, deklarirajte varijablu „mojeIme“ te inicijalizirajte vriednost te
varijable na vaše ime (podsjetnik – biblioteka string se uključuje pomoću
#include naredbe i string tip podataka nije osnovni tip). Za kraj, ispišite
vrijednost varijable „mojeIme“ u konzolu.
Slika 13 - Rješenje zadatka 03 u dijelu Uvodni zadatci
4) Deklarirajte varijablu „ime“ tipa string. U konzolu ispišite tekst „Unesi svoje ime : “. Nakon
toga korisnik treba unijeti svoje ime i ta se vrijednost sprema u varijablu „ime“. Za kraj
ispišite poruku u konzoli „Pozdrav, “ gdje je potrebno zamijeniti stvarnim
imenom korisnika. (Podsjetnik – tekst za ispis u konzolu se piše pod dvostrukim navodnicima
dakle cout<<“Unesi svoje ime : „).
Slika 14 - Rješenje zadatka 04 u dijelu Uvodni zadatci
33 | Uvod u programiranje kroz jezik C++ – Saša Fajković
5) Deklarirajte varijablu „broj“ tipa integer i postavite joj vrijednost na broj 10. U konzolu
ispišite njenu vrijednost nakon inkrementacije i tu novu vrijednost zatim dekrementirajte i
ispište tuvrijednost u konzolu. Dopušteno je korištenje samo unarnih operatora koje smo
obradili.
Slika 15 - Rješenje zadatka 05 u dijelu Uvodni zadatci
6) Deklarirajte varijable „prviBroj“ i „drugiBroj“, sve tipa integer. Od korisnika zatražite da unese
vrijednosti varijabli i te vrijednosti spremite u pripadajuće varijable. Za kraj, u konzolu ispišite
rezultate matematičkih operacija korištenjem te dvije varijable i svih spomenutih binarnih
operatora. Napomena – prikazana su dva načina rješavanja.
Slika 16 - Rješenje zadatka 06 (prvi način) u dijelu Uvodni zadatci
34 | Uvod u programiranje kroz jezik C++ – Saša Fajković
Slika 17 - Rješenje zadatka 06 (drugi način) u dijelu Uvodni zadatci
Objašnjenje (usporedba) prvog i drugog načina :
Rezultat i način kako smo došli do njega je u oba primjera isti ali je razlika u ispisu. U prvom
načinu smo koristili puno naziv varijabli pa smo prilikom ispisa stavljali ime naše varijable pod
dvostruke navodnike (isto vrijedi i za prikaz simbola operatora pridruživanja i binarnih
operatora). Tek na kraju (rezultat) smo koristili vrijednosti koje se nalaze pohranjene u
varijablama. U drugom načinu smo odmah koristili vrijednosti upisane u varijable a prikaz
simbola koju operaciju obavljamo smo naravno riješili korištenjem dvostrukih navodnika.
35 | Uvod u programiranje kroz jezik C++ – Saša Fajković
12) Dijagram toka i pseudo kôd
Iako se na prvu čini kako se programiranje svodi samo na neprestano pisanje kôda, istina je ipak
nešto drugačija. Prilikom izrade aplikacija, programeri najčešće znaju krajnju točku odnosno čemu
aplikacija koju izrađuju treba služiti (i početak naravno a to je prazan editor). Kako bi si mogli olakšati
ali i predočiti probleme s kojima će se susresti, programeri problem razbijaju u manje probleme a te
probleme u još manje i sve do određenih dijelova koji su im znatno jednostavniji za riješiti. Po
završetku jednog dijela pomiču se na drugi. Ovakav pristup se također zove DEKOMPOZICIJA. Papir i
olovka su dobri prijatelji svakom programeru s kojima se često i druže. Dva su osnovna načina
prikazivanja problema. Za prvi primjer uzet ćemo da je problem izgradnja drvene kuće a u drugom
primjeru ćemo izračunavati površinu naše kuće.
a. Pseudo kôd
Iako stručan i zanimljiv izraz, pseudo kôd se zaista odnosi na tekstualno opisivanje problema.
Napravimo li malu dekompoziciju problema gradnje kuće možemo doći do više manjih i jasnijih
dijelova:
1) izgraditi temelje
2) izgraditi drvenu konstrukciju tijela kuće
3) izgraditi drvenu konstrukciju krova
4) Dodati daske za tijelo kuće
5) Dodati krov kuće
Svaki od tih problema možemo rastaviti na još manje cjeline pa tako izgradnju temelja možemo
podijeliti prvo na obradu zemlje a zatim na betoniranje. Svaki od tih problema možemo rastaviti na
još manje problemske jedinice i tako više-manje u nedogled. Napomena – treba znati granicu kada
prestati razdvajati probleme u manje cjeline kako se ne bi previše vremena utrošilo na pisanje
pseudo kôda za koji postoji dobra šansa da na kraju neće biti ni uporabljiv.
Naš pseudo kod bi za prvih pet koraka izgledao :
izgradi temelje
napravi konstrukciju
napravi krov
dodaj daske
dodaj krov
Kao što vidite, opis problema kuće je sada razumljiviji i smisleniji a nismo napisali niti jednu sintaksno
ispravnu rečenicu odnosno liniju kôda.
36 | Uvod u programiranje kroz jezik C++ – Saša Fajković
b. Dijagram toka
Pristupiti dijagramu toka možemo kao i pseudo kôdu. Osnovni način razmišljanje je isti a razlika je
samo u prikazu. Za razliku od pseudo kôda, dijagram toka karakterizira grafičko skiciranje problema.
Za potrebe dijagrama toka postoji šest najčešće korištenih simbola čijih se značenja kao niti simbola
nije potrebno pridržavati ali radi konvencije je poželjno.
Slika 18 - Simboli koji se koriste u dijagramu toka 4
 Radi lakšeg pojašnjavanja, zamislite da je naša kuća pravokutnog oblika (ravan krov, jednaka
lijeva i desna strana kuće te prednja i stražnja strana)
Slika 19 - Dijagram toka pri izračunu površine kuće

4
izvor : Ivo Beroš, VERN' pdf – POINT – Uvod u programiranje – 2010. – stranica 2
37 | Uvod u programiranje kroz jezik C++ – Saša Fajković
c. Primjer pseudko kôda i dijagrama toka
U ovom primjeru, zadatak je izračunati površinu i opseg pravokutnog trokuta na osnovu veličina
stranica koje upisuje korisnik te u konzolu ispisati vrijednosti površine i opsega.
Slika 20 - Primjer pseudo kôda i dijagrama toka 5

5
izvor : Ivo Beroš pdf materijali – POINT – Uvod u programiranje – 2010. – stranica 2
38 | Uvod u programiranje kroz jezik C++ – Saša Fajković
13) Petlje i kontrole toka
U programiranju često koristimo kontrole toka i petlje koje nam omogućuju kontroliranje izvedbe
našeg programa ili ponavljanje neke operacije određeni broj puta. Petlje i kontrole toka su izuzetno
važan dio programiranja, no kao i kod svega u programiranju, neke petlje su češće u uporabi a neke
rjeđe. Loša vijest je što ćete morati znati sintaksu svih navedenih petlji i kontroli toka. Dobra vijest je
što ih je zaista malo. 
Kontrole toka se koriste želimo li neku operaciju izvršiti isključivo ako je neki uvjet zadovoljen.
Primjerice, površinu pravokutnog trokuta ćemo računati samo ako je korisnik ispravno unio sve
tražene parametre. Ako nije zahtijevat ćemo od njega ponovni upis.
Petlje nam omogućuju ponavljanje neke linije ili skupa linija određeni broj puta. Najčešće se točan
broj koliko se puta nešto treba izvršiti u petlji ne zna unaprijed. Možda zvuči malo čudno, ali je istiniti.
Primjerice, izradite li aplikaciju koja će na ekran ispisati slovo „A“ onoliko puta koliko puta korisnik
kaže nećete moći unaprijed znati točno koliko će se slova ispisati.
Unese li korisnik da želi slovo „A“ ispisati 3 puta vi u svom programu možete sljedeće opcije :
 opcija 1 (korisnik je unio da se slovo A ispiše nula puta odnosno niti jednom
o vaš pseudo kôd bi glasio : nemoj ništa ispisati
 opcija 2 (korisnik je unio da se slovo A ispiše jednom)
o vaš pseudo kôd bi glasio : ispiši slovo „A“
 opcija 3 (korisnik je unio da se slovo A ispiše dva puta)
o vaš pseudo kôd bi glasio : ispiši slovo „A“ i opet ispiši slovo „A“
 opcija 4 (korisnik je unio da se slovo A ispiše tri puta)
o vaš pseudo kôd bi glasio : ispiši slovo „A“ i opet ispiši slovo „A“ i opet ispiši slovo „A“
Ovakav pristup naravno nema smisla posebice razmotrimo li mogućnost da korisnik može poželjeti
slovo „A“ ispisati 10.000 puta. To znači da bi morali imati 10.001 opciju i da bi u posljednjoj opciji
morali deset tisuća puta ponoviti naredbu „ispiši slovo A“.
Ispravan pristup je da napravimo petlju koja će ispisivati slovo „A“ određeni broj puta. To znači da
pitamo korisnika koliko puta želi ispisati slovo „A“ i petlji damo uvjet „ispisuj na ekran slovo „A“ dok
god ne ispišeš onoliko puta koliko je korisnik zatražio“.
39 | Uvod u programiranje kroz jezik C++ – Saša Fajković
14) Osnovne kontrole toka –> if, if-else, ugniježđeni if
a. Kontrola toka pomoću „if“-a
Jedan od najčešćih načina kontroliranja toka programa je korištenje „If izjava“ (engl. If statement).
Prevedeno na hrvatski jezik, radi se o „ako izjavi“ no u programiranju se koristi naravno engleski jezik
pa je jedini ispravan naziv – „if“. Sve kontrole toka (kao i petlje i većina toga u programiranju) se pišu
malim slovima. „if“ nam omogućuje izvršavanje nekog dijela našeg kôda samo ako je neki uvjet
zadovoljen.
Sintaksa :
if (uvjet koji treba biti zadovoljen)
{ kôd će se izvršiti ako je uvjet zadovoljen }
Za primjer ćemo uzeti da želimo izračunati opseg kružnice. Formula -> O = 2 * r * π. Mi trebamo pitati
korisnika za iznos polumjera kružnice i tu vrijednost spremiti u varijablu „r“. Ako je korisnik unio
vrijednost veću od nule onda ćemo izvršiti dio kôda u kojem se izvršava izračun i ispisati na ekran
vrijednost opsega. Ako korisnik nije unio broj veći od nule, korisniku ćemo ispisati poruku o
pogrešnom unosu i završiti izvođenje aplikacije.
#include
using namespace std;
int main()
{
float r=0;
cout << "Unesi polumjer kruznice : "; cin>>r;
if ( r>0 )
{
cout << "Opseg kruznice iznosi " << 2*r*3.14 << " cm"<}
if ( r<=0 )
{
cout << "Kriva vrijednost. Gasim aplikaciju! "<}
return 0;
}
40 | Uvod u programiranje kroz jezik C++ – Saša Fajković
Zamislimo sada da smo željeli ispisati posebnu obavijest ako korisnik unese nulu kao vrijednost
polumjera a posebnu vrijednost ako unese vrijednost manje od nula. Naš kôd bi bio još veći.
#include
using namespace std;
int main()
{
float r=0;
cout << "Unesi polumjer kruznice : "; cin>>r;
if ( r>0 )
{
cout << "Opseg kruznice iznosi " << 2*r*3.14 << " cm"<}
if ( r==0 )
{
cout << "Ne moze biti 0 jer to znaci da niti nema kruznice.
Gasim aplikaciju! "<}
if ( r<0 )
{
cout << "Ne moze biti manje od 0 nikako. Pozdrav od C++"<}
return 0;
}
Sada zamislite da smo još morali paziti i na najveću dozvoljenu vrijednost. Recimo da je maksimalna
vrijednost 10. To znači da sve što je između 0 i 10 (ne uključujući broj nula ali uključujući broj deset)
dozvoljeno i tada ćemo izračunati površinu a ostalo nije dozvoljeno. Morali bismo imati još jedan „if“
čiji bi uvjet bio „ako je polumjer veći od 10 izbaci pogrešku“. Sagledamo li malo bolje vidimo kako
imamo samo jedan uvjet koji nam odgovara i ukoliko je samo taj jedan uvjet zadovoljen izvršit će se
izračun površine. Za sve ostale mogućnosti trebamo baciti grešku. U ovakvim slučajevima koristimo
dodatak „if“-u a zove se (čak i logično), „else“.
Važno je napomenuti kako se unutar jednog „if“-a može nalaziti još jedan „if“ i unutar njega još jedan
i tako možemo ići u dubinu koliko god poželimo. Naravno, pisanje desetak „if“-ova jednog unutar
drugog je krajnje nečitko pa time niti nema smisla. Postavljanje jednog „if“-a unutar drugog se zove
ugniježđeni if.
41 | Uvod u programiranje kroz jezik C++ – Saša Fajković
b. if-else
Else nam omogućuje izvršavanje koda ukoliko jedan ili više uvjeta unutar „if“-a nisu zadovoljeni kao
što je to slučaj u gornjem primjeru.
Sintaksa :
else
{
kôd koji će se izvršiti ukoliko uvjet u if-u nije zadovoljen
}
Korištenjem „else“-a naš kôd će sada ovako izgledati :
#include
using namespace std;
int main()
{
float r=0;
cout << "Unesi polumjer kruznice : "; cin>>r;
if ( r>0 )
{
cout << "Opseg kruznice iznosi " << 2*r*3.14 << " cm"<}
else
{
cout << "Kriva vrijednost. Gasim aplikaciju!"<}
return 0;
}
Sada je lako uočiti kako nam „else“ omogućava puno jednostavnije i sažetije pisanje kôda. Važno je
napomenuti kako se unutar svakog „else“-a može nalaziti novi „if“ i novi „else“ i unutar u dubinu
možemo ići koliko god poželimo.
Pokušamo li upisati „else“ bez „if“-a dobit ćemo sintaksnu pogrešku jer se moramo reći compileru koji
je primarni uvjet i ukoliko on nije izvršen što da se izvrši. Suprotno „else“-u, „if“ može biti zapisan bez
„else“-a.
42 | Uvod u programiranje kroz jezik C++ – Saša Fajković
c. Ugniježđeni if
Ugnježđivanje jednog „if“-a unutar drugog može biti izuzetno korisno. Pogledajmo naš zadatak kako
bi izgledao bez korištenja „else“-a a da smo željeli ispisati dvije različite poruke o pogrešci ovisno da li
je korisnik unio vrijednost nula za polumjer ili vrijednost manju od nule.
#include
using namespace std;
int main()
{
float r=0;
cout << "Unesi polumjer kruznice : "; cin>>r;
if ( r<=0 )
{
if( r == 0 )
{
cout<<"Ne moze biti nula"<}
if ( r<0 )
{
cout<<"Ne moze niti manje od nule"<}
}
return 0;
}
Sada vidimo primjer ugniježđenog „if“-a čija prava primjena se zaista počinje uočavati pri malo
zahtjevnijim zadatcima. Korištenje tri „if“-a ili jednog „if“-a unutar kojeg se nalaze još dva nam u
ovom primjeru daje iste rezultate pa je sasvim svejedno koji ćemo pristup za rješavanje ovog
problema odabrati. S vremenom i kroz rješavanje kompleksnijih problema ćete sami početi uočavati
kada je koji pristup kvalitetniji.
43 | Uvod u programiranje kroz jezik C++ – Saša Fajković
[Vrh] Go down
Korisnički profil
Fejsbuk
Član
Član


Posts : 20
Datum pridruživanja : 18.02.2017

PostajNaslov: Re: Što je to programiranje?   7/4/2017, 20:54

bome si se potrudio,ali ti kao administrator nebi trebao krast copyright
[Vrh] Go down
Korisnički profil
MrSniperZ
Administrator
Administrator
avatar

Posts : 8
Datum pridruživanja : 21.03.2017
Starost : 27

PostajNaslov: Re: Što je to programiranje?   7/4/2017, 22:35

[You must be registered and logged in to see this link.] ako bolje pogledaš vidjeti ćeš da ispod piše ime i prezime čovjeka koji je sve ovo napisao  [You must be registered and logged in to see this image.]
[Vrh] Go down
Korisnički profil
Sponsored content




PostajNaslov: Re: Što je to programiranje?   

[Vrh] Go down
 
Što je to programiranje?
Prethodna tema Sljedeća tema [Vrh] 
Stranica 1 / 1.

Permissions in this forum:Ne moľeą odgovarati na postove.
Tehnološki forum :: Računala :: Programiranje-
Forum(o)Bir: