Professional Documents
Culture Documents
PROGRAMIRANJE
1
Literatura:
2
Polaganje ispita:
3
Uvod u programski jezik C++
► Štaje objektno orjentisano programiranje
(OOP)?
► Object Oriented Programming(OOP)
► OOP je pristup realizaciji softvera kao modela
realnog sveta
4
Objekti:
► Student
Atributi: ime, brInd, DatUpisa, Semestar, Pred1, Oce1,
Pred2, Oce2....
Metode: položio, stekaoUslov, prosek, praksa
► Autobus
Atributi: marka, regBr, cm3, brSed, linija,
Metode: aktivan, trenutaPozicija, prodaoKarata,
► račun
Atributi: BrojRac, stanje, valuta, datum,
Metode: uplata, istpata, izveštaj, konverzija, pozajmica
5
► Objekat ima svoje unutrašnje stanje
čija je realizacija nedostupna drugim objektima i
operacije (akcije) koje se nad njim mogu izvršiti spolja.
► Instanca objekta:
Objekat Student --> instanca: student Marija Ćirić
6
Ključni koncepti OOP-a
► Klase
► Objekti
► Nasleđivanje i
► Polimorfizam
► CILJ je
da prograsmski modul bude što bliži realnom
svetu.
7
Klase
Korisnički struktura podataka tipa klase objedinjava:
► podatke (atribute) i
► operacije nad njima (metode)
►u jednu celinu (paket) pomoću koje deklarišemo
objekte.
Korišćenje takvih objekata u programima se naziva
OBJEKTNO ORJENTISANO PROGRAMIRANJE.
8
Primer klase:
Klasa: AritmOperacije
Atributi: brojevi a, b , c
Metode:
Sab // c = a+b
Oduz // c = a – b
Mno // c = a * b
Delj // c = a / b i a # 0
9
PRIMER:
► Fabrika - odeljenje za pakovanje eksera
mašina za proizvodnju eksera od metalne žice,
sanduk sa napravljenim ekserima,
kutijice sa ekserima(500kom).
11
Softverska kriza --> problemi:
► Zahtevi korisnika su se drastično povećali
► Povećanje broja programera u timu
► Brige oko organizacije projekta
► Sklapanje delova programa u celinu
12
Ključ uspeha
► velikih softverskih sistema projekata je:
podela posla na delove
koji imaju jasno specifikovane interakcije i
koji ne zalaze jedan drugome u ' u
unutrašnjost',
kao i mogućnost višestruke upotrebe istih
modula – softverskih delova.
13
Šta je je jezik C++ i kako je nastao?
15
Koncept apstraktnih tipova podataka
16
► Enkapsulacija je
zaštita unutrašnje realizacije tipa od pristupa
spolja.
► Nasleđivanje je
relacija između tipova:
jedan tip predstavlja jednu vrstu drugog tipa
Npr. TransportnoVozilo (marka, RegBroj, cm3,
KmSt)
Kamion (nosivost), Autobus (brojPutnika),
KombiP(brojPutnika), KombiT(nosivost)
17
► Polimorfizam predstavlja
ponašanje nasleđenog tipa na njemu svojstven
način,
iako se koristi kao osnovni tip.
► Na primer:
► Račun (brojRačuna, stanje, valuta, vlasnik):
tekućiRačun,
žiroRačun,
devizniRačun
► UplataNaRačun(arg1, arg2, arg3,..)
18
► C++ podržava i koncept preklapanja
operatora:
19
Termini na engleskom jeziku
20
Šta se menja prelaskom na OOP?
► OOP uvodi drugačiji način razmišljanja u
programiranje.
►U OOP-u je najznačajnije projektovanje, a sama
realizacija (kodovanje) je jednostavniji posao koji
se odlaže za kasnije.
►U OOP-u se razmišlja o problemu koji se rešava, a
ne direktno o programskon rešenju.
►U OOP-u se razmišlja
o delovima sistema (objektima) koji nešto rade
a ne o algoritmima, tj o tome kako se nešto radi.
21
►U OOP-u se razmišlja tj. pažnja se prebacuje
sa realizacije delova programa
na međusobne veze između tih delova.
Težnja je da se
broj i intezitet tih veza što više smanji i
da se one strogo kontrolišu.
22
Razvojni ciklus C++ programa
► Pisanje programa
► Prevođenje programa
► Povezivanje programa
► Izvršavanje programa
► Otklanjanje grešaka
23
► 1)Izvorni kod programa – čine datoteke
kreirane u editoru
(ekstenzija .cpp, .cp, .c zavisno od
prevodioca)
24
► Prevođenje programa –
potrebno je pokrenuti prevodilac ili kompajler
koji će prevesti
izvorni kod u objektnu datoteku (ekstenzija
.obj).
► Biblioteka je
skup datoteka koje se mogu povezivati.
► Biblioteka sadrži
funkcije i klase koje se uključuju u programe.
26
Napomena:
Funkcija je
► blok koda za rešavanje nekog problema.
Klasa je
► kolekcija podataka i
► funkcija koje se odnose na podatke iz klase.
Biblioteke se
► dobijaju sa prevodiocem ili
► se mogu kupiti posebno ili
► se mogu napraviti i prevesti.
27
Koraci:
► Kreiranje
datoteke sa izvornim kodom
.CPP ekstenzija;
► Prevođenjeizvršnog koda u datoteku sa
.OBJ ekstenzijom;
► PovezivanjeOBJ datoteke sa potrebnim
bibliotekama da bi se dobio izvršni program.
► Izvršavanje programa
► Otklanjanje grešaka
28
Primer: Zdravo.cpp --> Vaš prvi C++ program
# include <iostream.h>
int main ( )
{
cout <<''Zdravo svete! \ n'';
return 0;
}
29
Redosled radnji:
1) uneti program u editor
2) snimiti program --> Zdravo.cpp
3) prevesti program --> Zdravo.obj
4) povezati program--> Zdravo.exe
5) pokrenuti program -->
30
2. Delovi C++ programa
# include <iostream.h>
int main ( ) Zdravo svete!
{
cout <<''Zdravo svete! \ n'';
return 0;
}
32
Linija 1: # include <iostream.h>
35
Linija 5: cout <<''Zdravo svete! \ n'';
Napomena :
Prema litetaturi (C++ za 21 dan) funkcija main()
uvek vraća 0.
37
Zadtak: Napisati program u C++ koji sabira dva cela broja.
// Sabiranje dva broja
# include <iostream.h>
class kOperacije
{
public:
int pZbir; // atribut klase
int fSuma (int pBroj1, int pBroj2); // metoda (funkcija) klase
};
39