Objektno orijentisano programiranje
1. Modularno programiranje Modularni način programiranja podrazumijeva rastavljanje programa na dijelove (module) koji čine zasebne cjeline.
Moduli se mogu uključivati i isključivati od strane jednog ili više korisnika, a obzirom na mjesto gdje se nalaze dijelimo ih na: - interne (nalaze se u programu) - eksterne (nalaze se izvan programa i izvršavaju se pozivom)
Modularni koncept programiranja je trenutno jedan od najzastupljenijih koncepata u modernom programiranju sa Javascript-om. Zasniva se na razbijanju jedne velike aplikacije na manje, enkapsulirane, nezavisne delove koda – module. Cilj modularnosti jeste da se smanji kompleksnost prema principu “podeli pa vladaj”. Najznačajnije prednosti modularnog programiranja su:
preglednija i razumljivija aplikacija lakše kontrolisanje domena promenjivih sprečeno “zagadjenje globalnog domena” ponovna upotrebljivost koda mogućnost rada na istom projektu više različitih timova ili programera koji rade odvojene manje zadatke. lakše debagovanje
2. Osnovni pojam u objektno orijentisanom programiranju je klasa. Klasa predstavlja uopštenje objekata koji imaju zajedničke osobine i funkcionalnosti. Osobine opisujemo atributima a funkcionalnosti metodima.
Osnovni pojmovi klasa - predložak u kojem se čuvaju podaci o nekom elementu: automobil i vozač, te ima implementirane neke radnje nad podacima elementi klase: svojstva (atributi) – čuvaju vrijednosti važne za neki element koji opisujemo (marka automobila, maksimalna brzina, ime vozača,....) metode – radnje koje izvodimo nad elementima (uključivanje motora, dodavanje gasa, kočenje,...) objekt – konkretizacija klase – nakon što klasi dodamo vrijednosti svojstava, konkretni element koji možemo pokazati Atributima opisujemo odreñenu osobinu objekta (ime, prezime, datumRodjenja, razred, odeljenje). Najčešće, različiti objekti iste klase imaju različite vrednosti atributa. Često kažemo da vrednosti atributa definišu stanje objekta. Pri opisu atributa moramo navesti tip kome taj atribut pripada
(celobrojni, realni, znakovni, ) i ime atributa. Pristup atributima objekta neke klase realizujemo na sledeći način: imeObjekta.imeAtributa Klasu definišemo navoñenjem rezervisane reči class iza koje sledi identifikator klase (ime klase). Posle imena, ako formiramo klasu koja nasleñuje neku, prethodno definisanu, navodimo ’:’ a zatim sledi ime klase iz koje je izvedena. Zatim u vitičastim zagradama {} definišemo članove klase (atribute i metodi).
7.
Iako se switch izraz koristi znatno rijeđe nego if izraz, vrlo je koristan za grananja u više grana. Switch izraz omogućuje procjenu uvjeta i na osnovu te vrijednosti skok na neko mjesto unutar switch izraza. Vrijednost izraza koji se procjenjuje mora biti cjelobrojna (byte, short, int ili char), nikako ne može biti string ili realni broj. Za razliku od kombinacije if - else, ovdje se ne može nalaziti logički izraz. Razlog je tome u činjenici da naredba switch utvrđuje vrijednost izraza u određenom trenutku i zatim skače na blok koji je označen vrijednošću dobivene cjelobrojne konstante oblika "case konstanta:". Moguća je također upotreba oznake "default:" na koju se izvodi skok u slučaju da vrijednost izraza ne odgovara ni jednoj od oznaka slučaja. 6. Vrst relacija Jedan-prema-jedan (one-to-one) veza povezuje zapis u tablici s nula ili jednim zapisom u drugoj tablici. Obično služi za razbijanje relacije s mnogo atributa na više manjih tablica. Veza se stvara na jednak način kao jedan-prema-više veza, samo što ovdje zabranimo duplikate. Više-prema-više veza povezuje jedan ili više zapisa iz jedne relacije s jednim ili više zapisa druge relacije. Primjer takve veze su studenti i predmeti. Svaki student upisuje jedan ili više predmeta i na svakom predmetu može biti upisano više studenata.
10. //proizvod prvih n prirodnih brojeva #include
using namespace std; int main() { int p=1,n; cout<<"Do broja "; cin>>n; for(int i=1;i<=n;++i) p*=i; cout<<"Proizvod: "<
Ili
#include "stdafx.h"; #include #include #include using namespace std; long long int Fakt(int n) { long long int faktorijel = 1; if (n <= 0) { return faktorijel; } else { faktorijel = n*Fakt(n - 1); } } int main() { int nmax; cout << "Do kojeg broja zelite ispisati faktorijele?"; cin >> nmax; for (int i = nmax; i > 0; i--) { cout << i << " " << Fakt(i) << endl; } system("pause"); return 0; }