Zbirka zadataka C++
UNIVERZITET SINGIDUNUM
Fakultet za informatiku i menadžment
mr Goran Kunjadić
ZBIRKA ZADATAKA
IZ PROGRAMSKOG JEZIKA C++
Beograd, 2009

Predgovor
Ova zbirka zadataka je namenjena studentima druge godine Fakulteta za
Informatiku i Menadžment, Univerziteta Singidunum u Beogradu. U zbirci se
obrađuje gradivo koje se izučava u okviru predmeta Uvod u programiranje II.
Takođe, ovu zbirku mogu koristiti i drugi koji žele kroz primere da steknu ili
prošire svoje znanje iz poznavanja C++ programskog jezika.
Imajući u vidu kontinuitet izučavanja C++ programskog jezika na Univerzitetu
Singidunum, javila se potreba za kompaktnom zbirkom zadataka, koja bi
pratila gradivo predmeta Uvod u programiranje II. Zbirka je nastala kao
rezultat rada sa studentima u prethodnih nekoliko generacija. U zbirci su dati
zadaci koji imaju za cilj da studentima olakšaju savladavanje osnova C++
programskog jezika. Potrebno je napomenuti da su u zbirci obrađeni osnovni
koncepti objektnog programiranja i da predstavljaju dobru osnovu za dalje
usavršavanje u praksi.
Radi lakšeg vežbanja zadataka, prateći deo ove zbirke je kompakt disk koji
sadrži source kodove date u ovoj zbirci.
Zadaci su podeljeni u dve osnovne celine i to Osnove C++ programskog jezika i
Objektno orijentisano programiranje u C++ programskom jeziku.
U prvom delu su obrađeni neobjektno orijentisani koncepti programiranja u
C++ programskom jeziku, što omogućava savladavanje gradiva bez
prethodnog znanja nekog od programskih jezika. Ipak, poznavanje C
programskog jezika, koji se izučava u okviru predmeta Uvod u programiranje I,
je više nego korisno.
Posle uvoda, sledi poglavlje posvećeno operacijama sa realnim brojevima, a
zatim se obrađuju iteracije. Nakon toga se razmatra odlučivanje u toku
izvršavanja programa, čemu sledi izučavaje funkcija i nizova. U završnom delu
poglavlja su objašnjeni pokazivači, c-stringovi, nizovi i funkcije. Na samom
kraju ovog poglavlja su opisani korisnički definisani tipovi podataka i tabele.
U drugom delu se obrađuju osnovni principi objektno orijentisanog
programiranja, što zapravo čini suštinu C++ programskog jezika. Programski
jezik C++ je prvenstveno razvijen radi primene objektnih metoda, iako se u
njemu može programirati i na neobjektni način. Ukoliko programer
programira u C++ programskom jeziku na neobjektni način, postavlja se
pitanje pravilnog izbora jezika za programiranje. U tom slučaju vredi razmisliti
o izboru nekog drugog programskog jezika, u kome se vrši neobjektno
programiranje.
Drugi deo započinje obradom klase string i time ulazimo u problematiku klasa
i objekata, zatim sami generišemo svoje klase, njihove objekte i učimo da ih
koristimo. Na samom kraju izučavamo izvedene klase i nasleđvanje, kao i rad
sa fajlovima.
Ovom prilikom se zahvaljujem studentima koji su me naučili kako da ih učim.
Veliku zahvalnost izražavam recenzentu, Prof. dr Ranku Popoviću koji mi je
pružio niz korisnih sugestija prilikom oblikovanju ove zbirke. Takođe se
zahvaljujem profesorima sa Fakulteta za poslovnu informatiku, Univerziteta
Singidunum, posebno Prof. dr Milanu M. Milosavljeviću i Prof. dr Mladenu
Veinoviću na nesebično pruženoj podršci i strpljenju. Naročito se zahvaljujem
svojim prijateljima Rektoru Univerziteta Singidunum, Prof. dr Milovanu
Stanišiću koji me je uvek i bezuslovno podržavao i hrabrio i mr Dobrivoju
Cvijiću koji mi je pomogao kada mi je bilo najteže.
Posebnu zahvalnost izražavam svojoj supruzi Suzani, sinu Filipu i ćerki Kristini
na razumevanju i podršci koju su mi pružali dok sam pripremao materijale za
ovu zbirku.
Goran Kunjadić
Januar, 2009.

1
Prvi deo - Osnove C++ jezika
I Uvod u C++
Primer 1.
Napisati program koji ispisuje poruku na ekranu u dve linije.
U programu se demonstrira ispisivanje poruke na ekranu. Ispisivanjem poruke na
ekranu se korisniku saopštavaju informacije u toku izvršavanja programa.
// Primer 1
// Ispisivanje poruke na ekranu
#include <iostream>
using namespace std;
int main()
{
// Ispisivanje poruke
cout << "Ovo je moj prvi C++ program !" << endl;
cout << "A jos i radi !!!" << endl;
cout << endl;
return 0;
}
Rezultat izvršavanja programa:
Ovo je moj prvi C++ program !
A jos i radi !!!
Znakom
//
se označava komentar. Kompajler ne uzima u obzir ispis nakon ovog
znaka i služi isključivo programeru kao podsetnik. Naredba
#include
je
petprocesorska direktiva koja govori kompajleru da uključi sadržaj navedenog fajla u
kod. U ovom slučaju se koristi biblioteka
<iostream>
- input ouput stream. Opseg -
scope važenja promenljivih i funkcija je definisan nakon izraza
namespace
. Glavni
program je definisan ključnom reči
main()
. Reč
int
koja prethodi reči
main()
saopštava C++ kompajleru da
main()
predstavlja celobrojnu vrednost. Naredba
return 0;
ima dvostruku ulogu. Prvo, završava izvršavanje funkcije
main()
.
Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.
Slični dokumenti