Professional Documents
Culture Documents
Struktura Programa
Struktura Programa
Uvod
Program u bilo kojem programskom jeziku moemo predstaviti kao skup tri modela:
model podataka,
model procesa i
model resursa.
U programu se moraju definirati podaci s kojima taj program radi (varijable i konstante). Ti
podaci se za vrijeme izvoenja programa nalaze u radnoj memoriji raunala. Osim podataka
potrebno je programirati proces njihove obrade. U okviru procesa obrade podataka
razlikujemo instrukcije obrade podataka (izvode se slijedno) i kontrolne instrukcije
(upravljaju tokom izvoenja instrukcija obrade i pomou njih se formiraju kontrolne
strukture). Resursi su sve one softverske i strojne komponente koje program koristi, a
definirane su izvan programa (npr. funkcije operativnog sustava, datoteke i vanjski ureaji
kao to je pisa).
Model
procesa
Model
podataka
Model
resursa
{
cout << "Ovo je prva instrukcija u sekvenci!" << endl;
cout << "Druga instrukcija u sekvenci" << endl;
a = b + c + d;
cout << "Zadnja instrukcija u sekvenci" << endl;
}
Vane napomene u vezi sekvence:
- Svaka lijeva vitiasta zagrada ima odgovarajuu desnu (=svaka sekvenca mora biti
zatvorena)
- Program kao cjelina predstavlja sekvencu:
#include <iostrem.h> // pretprocesorska instrukcija
void main ()
{
cout << "Primjer najjednostavnijeg programa u C++" << endl;
}
- Svaki potprogram takoer predstavlja sekvencu:
float kvadrat (float broj)
{
float kvad = broj * broj;
return broj;
}
- Svaka iteracija(petlja) sadri sekvencu:
...
for (i=1; i<=10; i++)
{
cout << i << endl;
}
...
Napomena: specijalni sluaj sekvence je onaj kada se ona sastoji od samo jedne instrukcije
obrade, tada se ne moraju koristiti vitiaste zagrade za oznaavanje poetka i kraja sekvence.
- Svaka selekcija(grananje) sadri jednu ili vie sekvenci:
if (a ==b)
{
cout << "a i b imaju istu vrijednost" << endl;
}
else
{
cout << "a i b su razliiti" << endl;
}
Primjer:
int a;
Definirana je varijabla a koja je tipa int. To znai da e u radnoj memoriji zauzimati prostor
od 32 bita gdje e u binarnom obliku biti zapisana njena vrijednost, koja mora biti cjelobrojna
i u zadanom rasponu vrijednosti, a nad njom e se moi provesti aritmetike i logike
operacije (za to postoje odgovarajui operatori).
Inicijalizacija varijable = pridruivanje poetne vrijednosti varijabli.
Varijable prije upotrebe treba inicijalizirati!
Primjer:
int a=5;
Osnovni jednostavni tipovi podataka su cjelobrojni (npr. int), realni (npr. float i double),
znakovni (char), pokazivai i logiki (bool), dok su osnovni sloeni tipovi polja i strukture.
3. Potprogrami
Potprogrami su izdvojene logike cjeline unutar programa. Za razliku od Pascala, koji razlikuje
procedure i funkcije, C++ poznaje samo funkcije. Funkcija je zamiljena tako da vrati vrijednost koja
odgovara njenom tipu (pomou naredbe return). Ako funkcija umjesto tipa ima oznaku void, tada ne
vraa vrijednost, odnosno, predstavlja pandan proceduri.
3.1. Opi oblik funkcije :
<povratni tip ili void> ime_funkcije (<tip> par1, <tip> par2, ... ,<tip> par N)
{
.
<blok instrukcija>
.
return <povratna vrijednost>; // izostavlja se ako je funkcija tipa void
}
Razlikujemo formalne parametre (navode se u zaglavlju funkcije) i stvarne parametre (navode se kod
poziva funkcije). Prilikom poziva funkcije formalni parametri poprime vrijednosti odgovarajuih
stvarnih parametara.
Primjeri:
1. Testirajte slijedee primjere :
a.) Primjer funkcije koja izraunava kvadrat broja
#include <iostream.h>
float kvadrat (float x){
return x * x;
}
void main () {
float broj;
cout << "Unesi neki broj : ";
cin >> broj;
float kvad = kvadrat (broj);
cout << broj << na kvadrat iznosi << kvad << endl;
}
3.2. Koncept globalnih i lokalnih podataka
Globalni podaci dostupni su u svim dijelovima programa (osim u funkcijama gdje su definirani
istoimeni lokalni podaci), dok su lokalni dostupni iskljuivo u okviru funkcije gdje su definirani.
Primjer:
#include <iostream.h>
int a=5,b;
float c,d; // a,b,c,d su globalne varijable
void main () {
int e,f;
//varijable e,f lokalne su za funkciju main
char a,c
// varijable a,c lokalne su za funkciju main i prekrivaju
// istoimene globalne varijable
a = A;
c = B;
b = 5;
// globalne varijable b,d dostupne su unutar funkcije main
d = 3.14;
cout << "a=" << a << endl;
cout << "b=" << b << endl;
cout << "c=" << c << endl;
cout << "d=" << d << endl;
}