Inzenjersko Programiranje Skripta

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 31

MAŠINSKI FAKULTET U ZENICI

PROGRAMIRANJE
Pitanja :D
Programiranje .......................................................................................................................................... 3
Tehničko znanje ....................................................................................................................................... 3
Program ................................................................................................................................................... 3
Programiranje .......................................................................................................................................... 3
Programski jezik....................................................................................................................................... 3
Instrukcije se generalno dijele na:........................................................................................................... 3
Programski jezici ...................................................................................................................................... 3
Generacije programskih jezika: ............................................................................................................... 3
Prevodioci programskih jezika :............................................................................................................... 4
Postupak prevođenja i testiranja programa : .......................................................................................... 4
Proceduralno i objektno-orijentirano programiranje: ............................................................................ 4
Koraci do izvršnog programa: .................................................................................................................. 5
Algoritam ................................................................................................................................................. 5
Strukture algoritma mogu biti: ................................................................................................................ 5
Grafički simboli za izradu dijagrama toka: .............................................................................................. 6
Definisanje promjenljivih: ....................................................................................................................... 6
Numeričke funkcije:................................................................................................................................. 6
String funkcije: ......................................................................................................................................... 7
Pojednostavljena predstava procesa kodiranja: ..................................................................................... 7
Programske strukture struktuiranog programiranja: .............................................................................. 7
Linijska struktura: .................................................................................................................................... 7
Razgranata struktura ............................................................................................................................... 8
Naredba bezuslovnog prelaska ............................................................................................................... 8
Naredbe uslovnog prelaska: .................................................................................................................... 8
Relacijski operatori if izraza: .................................................................................................................... 8
Blokovski uslovni prelazak: ...................................................................................................................... 8
Ugniježdene if naredbe: .......................................................................................................................... 9
Select case instruckija: ............................................................................................................................ 9
Grafički uslovni prelazak:....................................................................................................................... 10
Petlje ili standardne naredbe programskog ciklusa: ............................................................................. 10
For ... Next petlja: .................................................................................................................................. 10
While ... Wend petlja ............................................................................................................................. 11
DO...LOOP petlja:................................................................................................................................... 12
Složene algoritamske strukture: ............................................................................................................ 12
Kompozicije ciklusa: .............................................................................................................................. 12
Strukture podataka................................................................................................................................ 13
Ime niza i elementi niza: ........................................................................................................................ 13
Nizovi u ulazno/izlaznim (U/I) listama: .................................................................................................. 14
Jednodimenzionalni nizovi: ................................................................................................................... 14
Dvodimenzionalni nizovi: ...................................................................................................................... 14
Organizacija podataka u računaru: ....................................................................................................... 15
Datoteka: ............................................................................................................................................... 15
Osnovni elementi strukture datoteke: .................................................................................................. 15
Vrste datoteka s obzirom na njihovu organizaciju: ............................................................................... 16
Slijedne (sekvencijalne) datoteke .......................................................................................................... 16
Direktne (relativne) datoteke: ............................................................................................................... 16
Indeksne datoteke: ................................................................................................................................ 16
Indeksne slijedne datoteke: .................................................................................................................. 17
Usporedba datoteka .............................................................................................................................. 17
Odnos datoteka i relacionih tabela: ...................................................................................................... 17
Rad s datotekama podataka:................................................................................................................. 18
Organizacija datoteka u Liberty BASICu: ............................................................................................... 18
Programske datoteke podataka: ........................................................................................................... 18
Datoteke podataka na perifernim memorijama: .................................................................................. 19
Otvaranje datoteke: .............................................................................................................................. 19
Zatvaranje datoteke: ............................................................................................................................. 19
Upis u datoteku : ................................................................................................................................... 19
Čitanje iz datoteke:................................................................................................................................ 20
Datoteke sa sekvencijalnim pristupom: ................................................................................................ 20
Datoteke s direktnim pristupom: .......................................................................................................... 20
LEN instrukcija ....................................................................................................................................... 20
FIELD instrukcija .................................................................................................................................... 20
PUT instrukcija: ...................................................................................................................................... 21
GET instrukcija: ...................................................................................................................................... 21
GETTRIM instrukcija: ............................................................................................................................. 21
Potprogrami: ......................................................................................................................................... 21
Funkcije: ................................................................................................................................................ 21
Funkcijska naredba: ............................................................................................................................... 22
Funkcijski potprogrami: ......................................................................................................................... 22
Procedure: ............................................................................................................................................. 22
Programiranje grafičkog interfejsa: ....................................................................................................... 22
Prozori u LB-u: ....................................................................................................................................... 23
Ostale elementarne komponente grafičkog interfejsa: ........................................................................ 24
Meniji:.................................................................................................................................................... 24
Dugmad: ................................................................................................................................................ 24
Tekstualna polja: ................................................................................................................................... 25
Pokretanje Liberty BASICa: .................................................................................................................... 25
Koraci do izvršnog programa (kreiranje novog programa): .................................................................. 25
Razumijevanje problema i definisanje zahtjeva za program:................................................................ 25
Koraci dizajna programa:....................................................................................................................... 26
Definiranje izlaza i toka podataka: ........................................................................................................ 26
Brzi razvoj aplikacija: ............................................................................................................................. 26
Pisanje koda:.......................................................................................................................................... 26
Održavanje programa: ........................................................................................................................... 27
Microsoft .NET ....................................................................................................................................... 27
RAZVOJNO OKRUŽENJE Microsoft Visual Studio: .................................................................................. 27
Pisanje VB.NET koda: ............................................................................................................................. 28
Editor koda: ........................................................................................................................................... 28
Struktura VB.NET programa .................................................................................................................. 28
Dijelovi programa napisanog u VB.NET ................................................................................................. 28
Izrada procedura za obradu događaja: ................................................................................................. 28
Deklarisanje promjenljivih: .................................................................................................................... 29
Objektno orijentirano programiranje:................................................................................................... 29
Programiranje prema mnogim autorima predstavlja spoj tehničkog znanja i
umjetnosti.

Tehničko znanje – principi programiranja i način logičkog razmišljanja.


Program je niz instrukcija napisanih određenim redoslijedom, tako da kao
cjelina izvršavaju neki zadatak transformacije ulaznih u izlazne podatke.

Programiranje u užem smislu riječi predstavlja pisanje programa nekim


programskim jezikom.

Programski jezik je set gramatičkih pravila i instrukcija koje računar


razumije i koje može da izvrši. Korištenjem različitih instrukcija u jednom
programu računaru se nalaže da izvrši specifične korake tog programa.

Instrukcije se generalno dijele na:


• aritmetičke (s fiksnim i pokretnim zarezom),

• logičke (poredbene),

• organizacijske (ulazno/izlazne i transportne) i

• kontrolne (potprogrami, IF-THEN).

Programski jezici se dijele na niže i na više programske jezike. Niži


programski jezik je mašinski jezik, dok u više programske jezike spadaju: BASIC,
FORTRAN, PASCAL, COBOL, C, C++, itd.

Generacije programskih jezika:


• mašinski jezik se naziva i programski jezik prve generacije

• asembler i makro-asembler su jezici druge generacije i nalaze se između nižih


i viših jezika,

• jezici treće generacije su pomenuti viši programski jezici, koji su proceduralni,

• objektno-orijentirani programski jezici, kao što su na primjer:

C, C++, C#, Visual BASIC, Java.

3
• u jezike četvrte generacije spadaju: SQL, HTML, PHP, ASP, tj. neproceduralni
jezici koji se dijele na opisne, grafičke i upitne.

Prevodioci programskih jezika : Računar može da izvršava samo


programe zapisane mašinskim jezikom, tako da je sve programe napisane
nekim od viših programskih jezika potrebno prevesti u mašinski jezik. Izvorni
program ili izvorni kod predstavlja niz instrukcija napisanih višim programskim
jezikom, dok izvršni kod predstavlja datoteku koja sadrži instrukcije mašinskog
jezika. Prema momentu u kojem se instrukcije prevode u mašinski jezik,
prevodioci se dijele na: interpretere i kompajlere. Kompajler prevodi
kompletan izvorni kod prije izvršavanja programa i snima ga u datoteku. Kod
rada s interpreterom svo vrijeme se nalazimo u okruženju aplikacije-
programskog jezika. Izvorni kod programa se za programera nalazi u editoru
programskog jezika (a smješten je u RAM memoriji računara), i isti se mora
prevoditi svaki put kad se program pokrene.

Postupak prevođenja i testiranja programa : Prevođenje programa iz


izvornog u izvršni kod se sastoji iz dvije faze:

- kompajliranje - dobija se objektni kod, koji je potrebno povezati s gotovim


bibliotekama funkcija. Tokom kompajliranja provjerava se i sintaksa instrukcija,
tj. da li su sva imena instrukcija pravilno napisana i da li su svi argumenti
uneseni na dozvoljeni način. Proces kompajliranja se i sam sastoji od nekoliko
faza koje čine korake u kompajliranju, a na izlazu daju objektni kod. Ovi koraci
su: podjela instrukcija programa na elementarne dijelove, sintaksna provjera
programskog koda i semantička provjera koda, te samo prevođenje djelića koda
u instrukcije objektnog koda.

- povezivanje objektnog koda s bibliotekama gotovih funkcija je potrebno da bi


računar mogao izvršiti instrukcije i funkcije .

Proceduralno i objektno-orijentirano programiranje: Razlika između


proceduralnih i objektno-orijentiranih programskih jezika je u načinu na koji se
oni koriste resursima računara. Proceduralni program zauzme sve resurse
računara samo za sebe, tj. u trenutku kad je taj program pokrenut računar gubi
komunikaciju s korisnikom. Objektno-orijentirani program se zasniva na
kombinacijama objekata i događaja. Zasnivaju se na pretpostavci da jedan

4
jedini entitet-objekat treba da obuhvata i podatke i procedure.
PROCEDURALNI: pascal, fortran, algol, kobol, basic i drugi. OBJEKTNO-
ORIJENTIRANI: smalltalk, C++, java i vizuelni jezici.

Koraci do izvršnog programa:


-pokretanje alata EDITOR u okviru Liberty Basic aplikacije

-unošenje programa putem tastature i ekrana računara

-prevođenje (kompajliranje) izvornog koda u mašinski jezik

-povezivanje (linkovanje) programa sa odgovarajućim bibliotekama

-pokretanje programa.

Algoritam-skup pravila koja vode rješenju nekog matematičkog problema.


Algoritam je procedura (postupak) koji do posljednjeg detalja opisuje sve
aktivnosti i njihov redoslijed, potreban da se obradom ulaznih podataka dođe
do izlaznih podataka, odnosno rješenja.

Strukture algoritma mogu biti:


-linijske: svaki korak algoritma se izvršava samo jedanput, tačno određenim
redoslijedom, bez ponavljanja koraka, bez skokova ili grananja

-razgranate: podrazumijeva postojanje provjere da li je uslov zadovoljen

-ciklične: struktura s petljom podrazumijeva višestruka ponavljanja.

5
Grafički simboli za izradu dijagrama toka:

Definisanje promjenljivih: Pojam varijable/promjenjive u programskom


jeziku predstavlja apstrakciju memorijske ćelije kompjutera ili skupa
memorijskih ćelija. Umjesto pamćenja specifične memorijske ćelije, pamti se
ime varijable. Pravila imenovanja varijabli u LibertyBASICu: imena promjenjivih
moraju početi slovom; poslije prvog slova, varijable mogu da sadrže brojeve i
tačke; dužina imena nije ograničena; promjenjive s malim i velikim slovima se
razlikuju; ne smiju imati imena LB instrukcija (rezervirane riječi); ime
promjenjive ne mogu biti odvojene riječi. U LB-u razlikujemo dva osnovna tipa
varijabli:

• - Numeričke (brojčane): Masa, Temp, A, Brzina, Suma

• - String (tekstualne): Ime$, Tel$, Poruka1$

Numeričke funkcije:
- ABS(x) - vraća apsolutnu vrijednost argumenta

- INT(x) - vraća integer (cjelobrojnu vrijednost argumenta)

-EXP(x) - daje bazu prirodnog logaritma e, stepenovanu argumentom x

-LOG(x) - daje vrijednost prirodnog logaritma (baza e) argumenta x

-SQR(x) - vraća kvadratni korijen argumenta x

6
-MAX(expr1,expr2) - vraća veći od dva numerika

-MIN(expr1,expr2) - vraća manji od dva numerika

-num1 Mod num2 - vraća ostatak dijeljenja prvog numerika s drugim

-RND(1) - vraća nasumičan broj iz intervala 0-1

-SIN(x) - daje sinus argumenta( unos u radijanima)

-COS(x) - daje cosinus argumenta

-TAN(x) - daje tangens argumenta

-ASN(x) - daje arkus sinus ugla argumenta

-ACS(x) - daje arkus kosinus ugla argumenta

-ATN(x) - daje arkus tangens ugla argumenta

String funkcije: rade na sličan način kao i numeričke funkcije. Kada im se


proslijedi argument, one vraćaju vrijednost koja se može snimiti ili štampati.
String funkcije omogućavaju i traženje pojedinačnih karaktera unutar stringa.
One donose dodatni niz funkcionalnosti koje se mogu koristiti u radu sa
stringovima.

Pojednostavljena predstava procesa kodiranja:

Programske strukture struktuiranog programiranja: U


programiranju često postoji potreba da se redoslijed izvršavanja naredbi uslovi
prethodno dobivenim međurezultatima u toku izvršavanja programa. Na ovaj
način se mogu obrazovati različiti redoslijedi naredbi pri izvršavanju programa.
Ovaj redoslijed naredbi, u kojem se program može izvršavati, čini programsku
strukturu. Po ovoj osobini naredbe mogu obrazovati linijsku, razgranatu i
cikličnu strukturu.

Linijska struktura: Naredbe koje se pri izvršavanju programa uvijek


izvršavaju u navedenom redoslijedu obrazuju linijsku strukturu. Poslije izvršenja
jedne, prelazi se na izvršenje slijedeće naredbe.

7
Razgranata struktura: Često je potrebno u programu predvidjeti različite
tokove izvršavanja naredbi. Naredbe koje omogućavaju promjenu redoslijeda
izvršavanja naredbi programa zovu se naredbe prelaska, koje se dijele na: 1.
naredbe bezuslovnog prelaska i

2. naredbe uslovnog prelaska, koje omogućuju grananja u programu


(razgranata struktura). Broj grana zavisi od naredbe prelaska kojom se
ostvaruje grananje.

Naredba bezuslovnog prelaska: Naredba bezuslovnog prelaska


omogućava prelazak na bilo koju izvršnu naredbu u istoj programskoj jedinici.
Sintaksa naredbe je: GOTO n.

Naredbe uslovnog prelaska: Ove naredbe mogu biti: blokovski uslovni


prelazak i logički uslovni prelazak. Blokovski i logički uslovni prelazak kao uslov
za prelazak imaju vrijednost logičkog izraza, kod koga argument izraza može biti
relacijski izraz.

Relacijski operatori if izraza: < manje od; > veće od; = jednako; >= veće
ili jednako; <= manje ili jednako; <> nije jednako.

Blokovski uslovni prelazak: Kod blokovskog uslovnog prelaska uslov po


kojem se vrši prelazak predstavlja logički izraz (I) čija vrijednost može biti TRUE
ili FALSE. Sintaksa je:

8
A grafički prikaz je:

Ugniježdene if naredbe:

Select case instruckija:


SELECT CASE VAR

Case I1

B1

Case I2

B2

Case I3

9
B3

Case I4

B4

END SELECT

Grafički uslovni prelazak:

Petlje ili standardne naredbe programskog ciklusa: For ... Next,


While ... Wend i Do Loop petlja.

For ... Next petlja:


Sintaksa:

gdje je:
For, To, Step – službene riječi,
i – cjelobrojna promjenljiva – ciklusna promjenljiva (brojač
ciklusa, a često i pokazivač),
m1, m2, m3 – cjelobrojne veličine,.
– tijelo ciklusa.

Ako se Step m3 ne navede, podrazumijeva se da je m3 = 1.

Ciklus se ponavlja k puta, gdje je:

10
Grafički prikaz: a) slučaj kada se može desiti da ne prolazi kroz tijelo ciklusa

b) slučaj kada se ciklus uvijek izvršava najmanje jedan put

While ... Wend petlja: Ova petlja omogućava kontrolu petlje preko
realacionog testa. Ukoliko je logički uslov ispunjen izvršavanje programa se
nastavlja prolaskom kroz tijelo petlje, a ako isti nije ispunjen izvršenje programa
se nastavlja izvršenjem prve instrukcije iza riječi WEND.

Grafički prikaz:

11
Uslov (U) za izlazak iz ciklusa može biti:

1. unaprijed zadani broj ponavljanja ciklusa,

2. zadana tačnost računanja određene veličine,

3. maksimalno dozvoljeni broj iteracija, kombinovan sa traženom

tačnošću.

DO...LOOP petlja: koristi se u slučajevima kada se tijelo petlje mora izvršiti


barem jednom, odnosno i više od jednom ako je ispunjen logički uslov. Ovisno o
relacionom izrazu na kraju instrukcije, ista se može izvršavati na 2 načina: Loop
while i Loop until.

Složene algoritamske strukture: one su kombinacija linijskih, cikličnih i


razgranatih struktura i često sadrže veći broj povezanih razgranatih i cikličkih
struktura, kao i algoritamskih (programskih) cjelina, realizovanih
potprogramima.

Kompozicije ciklusa:
a) linijska kompozicija ciklusa (ciklusni idu jedan za drugim)

b) koncentrična kompozicija ciklusa (ciklusi se nalaze jedan unutar drugog).

12
Strukture podataka: U mnogim primjenama javlja se veći broj elementarnih
podataka koji čine izvjesnu logičku cjelinu. Za ovakve kolekcije podataka
kažemo da obrazuju strukturu podataka. Postoje dvije strukture podataka u LB-
u, a to su: slog i niz. Postoji ulazni i izlazni slog, oni služe za komunikaciju
računara s ulaznim i izlaznim uređajima. Niz je kolekcija podataka istog tipa. To
je struktura podataka koja odgovara strukturama podataka u matematici, kao
što su vektori i matrice.

Ime niza i elementi niza: Svi podaci koji obrazuju niz moraju biti istog tipa i
dužine. Saglasno tipu podataka u nizu mora se deklarisati i ime niza. Slijedeće
važno pitanje za rad s nizovima jeste način referisanja na elementarne podatke
koji čine niz. Ovo se ostvaruje navođenjem indeksa niza pomoću kojih se
jednoznačno može ukazati na svaki element niza. Indeksi niza se navode
između zagrada, iza imena niza i međusobno se razdvajaju zarezima. Broj
indeksa koji je potreban za ukazivanje na određeni element niza određuje
dimenzionalnost niza. Primjer: ALFA(4) − definiše četvrti element
jednodimenzionalnog niza ALFA. Ime niza, sa indeksima koji ukazuju na
određeni element niza, zovemo indeksna promjenljiva.

Dimenzije niza: Za registrovanje niza u memoriji računara neophodno je


rezervisati potreban memorijski prostor. U tu svrhu mora se navesti broj
elemenata svakog niza koji se koristi u programu u posebnoj naredbi koja se
piše u obliku:

13
Dim ime(dimenzija), ime(dimenzija), …

gdje su: ime – ime niza, dimenzija – cijeli brojevi koji određuju maksimalne
vrijednosti indeksa, međusobno razdvojeni zarezima.

Svaki niz, deklarisan u programu, zauzima kompaktan memorijski prostor, a to


znači da se za registrovanje elemenata niza koriste susjedne memorijske
lokacije. Indeksi niza mogu biti aritmetički izrazi čije vrijednosti ne smiju biti
manje od donje, niti veće od gornje granice odgovarajuće dimenzije deklarisane
u naredbi DIM.

Nizovi u ulazno/izlaznim (U/I) listama: U programima je često


potrebno da se elementima niza dodijele vrijednosti sa ulaza, ili da se izdaju
vrijednosti elemenata niza. Elementi niza se mogu pojaviti u U/I listama na dva
načina:

1. Elementi niza ne slijede jedan za drugim u redoslijedu u kojem se čuvaju u


memoriji: Input A(4), A(2), A(8), A(15)

2. Elementi niza slijede jedan za drugim ili slijede po određenomzakonu.

Jednodimenzionalni nizovi: Za navođenje elemenata


jednodimenzionalnog niza u U/I listi, može se koristiti zapis:

For I = 1 To M

Input ime(I)

Next I

gdje su: ime − ime niza, I − cjelobrojna promjenljiva, M − maksimalne


vrijednosti indeksa niza.

Dvodimenzionalni nizovi: Elementi ovih nizova mogu se takođe pojaviti u


listama ulaznih i izlaznih naredbi, tada se mogu jednostavno navesti ponaosob
Print A(35,10), B(18,4), C(3,3).

Kada elementi dvodimenzionalnog niza u U/I listi slijede jedan za drugim, tada:

14
For I = 1 To M

For J = 1 To N

Input/Print ime(I,J)

Next J

Next I

Organizacija podataka u računaru: Da bi se podaci mogli efikasno


pronalaziti i obrađivati, moraju se u računaru na prikladan način organizirano
pohraniti na perifernoj, odnosno sekundarnoj memoriji računara. Organizacija
podataka hijerarhijska. Najviši nivo predstavlja baza podataka, a niži elementi
su: datoteteka, slog, polje, znak i bit, kao dio zapisa znaka u reprezentaciji koju
razumije računar. Skup trajno pohranjenih podataka informacionog sistema
naziva se bazom podataka.

Datoteka: je najstariji i najjednostavniji oblik organiziranja i pohranjivanja


podataka u računaru. Datoteka se sastoji od skupa istovrsnih podataka –
slogova ili zapisa,koji se karakterišu nekim zajedničkim kriterijem i koji su
smješteni u memoriji računara. Jedan slog sadrži podatke jednog objekta.

Osnovni elementi strukture datoteke:


-Polje podatka: Individualni elementi opisa nekog događaja se nazivaju stavke
podataka, a kada je u pitanju digitalna struktura kod registrovanja podataka u
memoriji računara, poznati su kao polja podataka. Svako polje podatka se
identifikuje imenom (nazivom), vrstom i veličinom.

-Segment sloga: Više polja podataka, koje karakteriše neki zajednički imenitelj,
čini segment sloga. Segment je dakle dio sloga. Segment nije fizička jedinica
podataka u organizaciji memorije, ne izdvaja se u posebnu fizičku cjelinu i ne
može mu se direktno pristupiti kao cjelini. Segment je dio cjeline koja se naziva
slog datoteke.

-Slog podataka: Kompletan set podataka, koji su vezani za neki objekat,


odnosno entitet. kojeg u cjelosti definišu, a koji se pohranjuju i kasnije

15
obrađuju, naziva se slog (record). Slog se sastoji od određenog broja polja i
segmenata, kao skupova određenih polja.

Vrste datoteka s obzirom na njihovu organizaciju: Datoteke se dijele


prema metodi adresiranja slogova. Adresiranjem se određuje mjesto, tj. adresa
sloga u datoteci. Osnovne vrste datoteka su:

• slijedne, odnosno sekvencijalne datoteke,

• direktne, odnosno relativne datoteke i

• indeksne datoteke.

Slijedne (sekvencijalne) datoteke: Kod njih se slogovi upisuju i memorišu


jedan do drugoga, redoslijedom dolaska. Slijedeći slog se upisuje na adresu
neposredno iza prethodnog sloga. Kod obrade se slogovi obrađuju istim
redoslijedom.

Direktne (relativne) datoteke: Kod ovih datoteka slogovi se pohranjuju na


relativnim adresama, počevši od relativne adrese 1 do adrese n. Pri tome se
slog s ključem 1 memoriše na relativnoj adresi 1, itd. Metodom transformacije
ključa u adresu omogućen je direktan pristup svakom slogu, pa se datoteka
naziva i direktnom.

Indeksne datoteke: Indeksna datoteka se sastoji od indeksnog područja


područja slogova. U indeksnom području smješten je indeks. Uz svaki ključ u
indeksu nalazi se adresa njegovog sloga u području podataka. Indeksne
datoteke imaju još jednu prednost, koja se ogleda u mogućnosti formiranja više
indeksa za više različitih ključeva.

16
Indeksne slijedne datoteke: Njene prednosti su što omogućava:
• direktan pristup i pojedinačnu obradu slogova jer ima karakteristike indeksne
datoteke i

• skupnu obradu svih ili veće skupine slogova, jer ima karakteristike slijedne
datoteke. Kao i indeksna datoteka, i ova datoteka ima dva područja:
indeksnopodručje i područje podataka. Područje podataka je organizirano kao
uređena slijedna datoteka, koja se sastoji od blokova u koje je moguće
smjestiti više slogova. Za svaki se blok bilježi jedna indeksna vrijednost u
indeksu. Kod ove datoteke indeks je manji, jer je broj indeksnih vrijednosti
manji od broja slogova u datoteci, odnosno jednak je broju blokova.

Usporedba datoteka: Uporedba svih navedenih tipova pokazuje da ne


postoji superiorna i univerzalna vrsta datoteka. Svaki problem koji rješavamo uz
podršku računara, a koji zahtjeva pristup nekoj datoteci, sa sobom nosi svoje
specifikume koji određuju način pristupa podacima u datoteci, a time i tip
datoteke koji će se u programu koristiti. Sekvencijalni pristup je puno brži od
direkntog i indeksnog, pa se ova osobina često koristi kod obrade velikih
količina podataka u datotekama.

Odnos datoteka i relacionih tabela: održavanje podataka u


upotrebljivom stanju je bilo kompleksno i zahtjevno. Stoga su se pojavile baze
podataka zasnovane na tabelama koje ujedno predstavljaju i relaciju. Ovakve
baze nazivamo relacionim bazama podataka. Odnos između podataka u jednoj
tabeli definišu samom tabelom i drugim tabelama koje su u vezi s njom, te
omogućava pojavu istih slogova podataka u jednoj relacionoj tabeli. Velika
prednost relacionih baza podataka u odnosu na bazu podataka zasnovanu na
datoteci je količina podataka s kojim ne može operisati, brzina relacione baze
podataka, korištenje relacija između podataka.

17
Rad s datotekama podataka: U programiranju se često radi sa skupovima
podataka koji se čuvaju na jedinicama perfernih memorija, a koji se organizuju
u posebne cjeline koje nazivamo datotekama. Svaka datoteka predstavlja
fizičku cjelinu kojoj se može fizički prići radi čitanja ili upisa podataka. Datoteke,
omogućavaju struktuirano pohranjivanje velikih količina podataka na periferne
memorije s ciljem kasnijeg dohvatanja i obrade tih podataka.

Organizacija datoteka u Liberty BASICu: Podaci unutar datoteke se


organizuju u obliku slogova. Svaki slog sadrži određen broj podataka,
smještenih u polja sloga. Kada program komunicira s datotekom, zahtijeva da
pročita jedan slog iz datoteke, ili da upiše jedan slog u datoteku. Osnovne vrste
datoteka u Liberty BASIC okruženju su:

1. Sekvencijalne datoteke: Pristup sekvencijalnim datotekama se ostvaruje


od početka prema kraju datoteke, sekvencijalno. Čitanje, ili pisanje
podataka u slogove koji se nalaze u sredini datoteke nije moguće, osim u
slučajevima kada se do tih slogova dođe sekvencijalnim čitanjem, ili
zapisivanjem svih prethodnih slogova. Sekvencijalne datoteke otvorene
za INPUT se mogu samo čitati, a u datoteke otvorene zaOUTPUT ili
APPEND se može samo zapisivati.

2. Binarne datoteke: Datoteke otvorene za binarni pristup se mogu čitati, ali se


u njih može i zapisivati, počevši od bilo koje lokacije unutar datoteke.

3. Datoteke s direktnim pristupom: Datoteke s direktnim pristupom su


otvorene za čitanje i pisanje pojedinačnog sloga na bilo kojoj lokaciji unutar
datoteke. Dužina slogova u datoteci je definisana u OPEN instrukciji.

Programske datoteke podataka: Skup podataka koji je sastavni dio


programa čini programsku datoteku podataka. Podaci programske datoteke
definišu se pomoću naredbe: DATA lista podataka (brojčanih i/ili znakovnih),
odvojenih zarezima. U jednom programu može biti proizvoljan broj naredbi
podataka. Sve ovakve naredbe zajedno definišu jednu organizovanu datoteku,
čiji podaci se redom učitavaju. Podaci iz programske datoteke mogu se
dodjeljivati promjenljivim u programu pomoću posebne naredbe za čitanje iz
ovakve datoteke: READ lista promjenljivih, (brojčanih i/ili znakovnih i/ili
indeksnih odvojenih zarezom.

18
Datoteke podataka na perifernim memorijama: Mnogo češće se u
programiranju koriste datoteke smještene na perifernim memorijama, kao dio
baze podataka ili kao samostalne datoteke. Sadržaj ovih datoteka je u ASCII
kodu. LB ima dobru podršku za rad s datotekama, pruženu kroz nekoliko
instrukcija za otvaranje i zatvaranje datoteka, te za čitanje iz datoteka i
zapisivanje u iste.

Otvaranje datoteke: Postupak koji se mora provesti da bi se datoteka učinila


dostupnom za upis ili čitanje podataka u programu, zove se otvaranje datoteke.
Ovo je prvi korak u radu s bilo kojom datotekom u LBu. Otvaranje datoteke vrši
se posebnom instrukcijom:

OPEN "adresa datoteke" FOR svrha pristupa AS #naziv {LEN = n}

gdje su:

• adresa datoteke – predstavlja putanju kroz direktorij na disku do mjesta na


kojem se datoteka nalazi

• svrha pristupa – svrha pristupa definiše način na koji će se pritupati otvorenoj

datoteci i može imati slijedeće vrijednosti: INPUT, OUTPUT,

APPEND, RANDOM ili BINARY.

• #naziv –jedinstveno ime dato datoteci

Zatvaranje datoteke: Nakon završetka rada s datotekom, mora se sprovesti


postupak njenog zatvaranja kojim će se ranije otvorena datoteka učiniti
nedostupnom za upis ili čitanje podataka. Zatvaranje datoteke vrši se
instrukcijom: close #naziv

Upis u datoteku : Upis u datoteku se može izvršiti samo kod datoteka koje
su otvorene za upis ili dodavanje (APPEND). Podaci se iz centralne memorije
računara upisuju u datoteku instrukcijom:

print #2, lista entiteta za štampanje odvojenih znakom tačka-zarez

Lista entiteta može biti sastavljena od izraza čije se izračunate vrijednosti


upisuju u datoteku i/ili od varijabli. Entiteti iz liste se odvajaju znakovima tačka-

19
zarez, kojima se određuje da vrijednosti koje se upisuju u datoteku slijede jedna
za drugom, bez razmaka.

Čitanje iz datoteke: Podaci koji se čitaju iz datoteke (koja se nalazi na nekoj


od jedinica periferne memorije) prenose se u centralnu memoriju računara,
koja je prethodno otvorena za čitanje ostvaruje se instrukcijom:

input #naziv, lista promjenljivih (odvojenih zarezima, čije vrijednosti se


učitavaju)

Lista promjenljivih sadrži spisak promjenljivih, među sobom odvojenih


zarezima, kojima se dodjeljuju učitane vrijednosti. Čitanje sekvencijalne
datoteke podrazumijeva čitanje slogova datoteke po redu kako su slogovi
upisani u istu, bez mogućnosti vraćanja na prethodni slog.

Datoteke sa sekvencijalnim pristupom: sekvencijalne datoteke sadrže


slogove zapisane u određenom redoslijedu. Zapisivanje novog sloga se kod ovih
datoteka ostvaruje na kraju, a čitanje se vrši od početka slog po slog.Brzina
pristupa kod Sekvencijalnih datoteka predstavlja prednost.

Datoteke s direktnim pristupom: Prvi korak u pristupu datoteci s


direktnim pristupom je otvaranje datoteke. S druge strane, po završetku rada s
datotekom, potrebno je u kodu programa datoteku zatvoriti. Otvaranje
datoteke s direktnim pristupom ostvaruje se korištenjem slijedeće instrukcije:

OPEN imedatoteke FOR RANDOM AS #naziv LEN=n

LEN instrukcija-instrukcija za otvaranje datoteke s direkntim pristupom


sadrži i dodatni parametar LEN=n. Isti je potreban za određivanje dužine sloga
unutar datoteke.

FIELD instrukcija: se mora koristiti nakon OPEN instrukcije, kako bi


definisani parametri za svako polje u slogu i to: dužina polja i naziv polja
(odnosno varijable), koji istovremeno definiše i tip podatka u tom polju. Ukoliko
naziv polja sadrži i karakter “$”, onda polje sadrži podatak znakovnog tipa. U
suprotnom, polje sadrži podatak numeričkog tipa. Kada se saberu dužine svih
polja, definisanih FIELD instrukcijom, rezultat mora biti jednak LEN parametru iz
OPEN instrukcije, koja je prethodila.

20
PUT instrukcija: Osnovni oblik PUT instrukcije je: PUT #naziv, broj sloga.
Ova instrukcija se koristi za zapisivanje podataka, kao vrijednosti varijabli
definisanih FIELD instrukcijom, i to za slog datoteke čiji je broj naveden na kraju
instrukcije. Svi slogovi u datoteci s direktnim pristupom su označeni brojevima,
počevši od 1 pa nadalje. Nula ne može biti uzeta za broj sloga. Ovi brojevi
određuju mjesta slogova u datoteci.

GET instrukcija: Sintaksa ove instrukcije je data sa: GET #naziv, broj
sloga.Ova instrukcija čita cijeli slog datoteke #naziv , definisan brojem sloga, te
puni varijable definisane FIELD instrukcijom.

GETTRIM instrukcija: Sintaksa instrukcije: GETTRIM #naziv, broj sloga.Ova


instrukcija će pročitati slog na sličan način kao GET instrukcija, ali će iz
vrijednosti varijabli izbaciti sve nepotrebne praznine, odnosno blankove.

Potprogrami: realni problemi koji se rješavaju uz podršku računara


zahtijevaju kompleksnu obradu podataka. Ovo s druge strane implicira
kreiranje kompleksnih programa, koji obično implementiriraju višestruke
funkcionalnosti u jednom prolazu više različitih obrada nad ulaznim podacima.
Održavanje i predgled ovakvih programa je zahtjevan zadatak. U LB-u
potprogrami su podržani kroz: funkcije i procedure.

Funkcije: jedan od tipova potprograma podržanih u LB-u. U općem slučaju se


potprogrami mogu pisati i kao skupovi instrukcija korištenih pri upotrebi
programskog koda, većina programa se ipak kreira tako da na ulazu prihvataju
parametre, vrše neku funkcionalnost na osnovu njih i na izlazu daju rezultate.
Funkcije na izlazu daju samo jedan parametar. Parametar na izlazu je sam naziv
funkcije. Funkcije se kao potprogram obično koriste kako bi predstavile neku
operaciju koja se inače može predstaviti s nekoliko linija programskog koda.
Sintaksa:

FUNCTION Imefunkcije(naziv parametara odvojenih zarazeom)

Instrukcije u tijelu funkcije

END FUNCTION

U kodu programa f-je se pozivaju tako da se varijabli dodijeli vrijednost naziv


funkcije s parametrima. Sintaksa: ImeVarijable=ImeFunkcije (vrijednost

21
parametra). Sa stanovišta funkcija može se govoriti o funkcijskim naredbama i
funkcijiskim potprogramima.

Funkcijska naredba: najjednostavniji oblik potprograma. Ona omogućava


odvajanje jednog izraza (aritmetičkog, logičkog ili znakovnog) kao potprograma.
Sintaksno se definiše i poziva i kao i svi funkcijski potprogrami.

Funkcijski potprogrami: pruža veće mogućnosti od funkcijskih naredbi. On


može sazdržavati čitav niz instrukcija koje ulazne parametre transformišu u
izlazni parametar. U praksi se mnogo češće koriste od funkcijskih naredbi, jer
pružaju više mogućnosti za manipulaciju glavnim podacima.

Procedure: za razliku od funkcija koje imaju tačno jednu izlaznu veličinu, koja
se dodjeljuje imeni funkcije, procedura može imati jednu ili više izlaznih
veličina. Predstavljaju prave male programe koji na svom ulazu imaju niz
podataka, i na izlazu daju drugi niz podataka. U LB-u se procedure nazivaju
subroutines i predstavljaju često korišten oblik potprograma u slučajevima
korištenja istog programa na više različitih mjesta u glavnom programu.

SUB NazivProcedure Parametri (odvojeni zarezima)

Tijelo procedure

END SUB

Poziv ovako definirane procedure se ostvaruje primjenom instrukcije CALL


prema sintaksi: CALL VrijednostiParametara mogu biti specifirane upisom
imena varijabli ili upisana konkretnih vrijednosti varijabli.

Programiranje grafičkog interfejsa: Grafički korisnički interfejs se kao


pojam počeo masovnije koristiti s pojavom prvih verzija MS Windows
operativnih sistema, koji su praktično uveli revoluciju na polju korisničkog
interfejsa na PC računarima. Sve do pojave Windowsa, interfejs korisnika
prema PC računaru je bio baziran na tekstualnim porukama operativnih
sistema, kakvi su bili DOS ili UNIX. Uvođenjem Windowsa kao operativnog
sistema javlja se grafički korisnički interfejs. Danas se pojam grafičkog interfjesa
u razvoju aplikacija poptuno izdvojio kao zasebna cjelina u razvoju, te postoje
programeri, pa čak i timovi programera, zaduženi samo za razvoj GUIa neke
aplikacije. GUI je kao interfejs vremenom napredovao i danas predstavlja de

22
facto standard za razvoj aplikacija. Stariji proceduralni jezici uglavnom nisu
imali podršku za razvoj GUIa, jer su nastajali u periodu prije pojave masovne
upotrebe GUIa u aplikacijama.

Prozori u LB-u: Prozori su osnovni elementi grafičkog interfejsa. To su


objekti koji sadržavaju sve komponente grafičkog interfejsa i praktično
predstavljaju osnovu za GUI. LB posmatra prozore kao datoteke, odnosno
manipuliše prozorima kao i s datotekama. Pri pokretanju aplikacije, otvara se
glavni prozor i to naredbom OPEN, koja ima sintaksu kao i naredba za otvaranje
datoteka:

open "Naslov prozora" for tip_prozora as #naziv

pri čemu parametar tip_prozora određuje jedan od četiri tipa prozora koji
postoje u LBu, a parametar #naziv ime prozora po kojem će se isti identifikovati
u ostatku programa. Veličina i pozicija prozora koji se otvara, može se
kontrolisati definisanjem vrijednosti četiri posebne varijable, definisane unutar
LBa samo za ovu namjenu:

• WindowWidth – širina prozora,

• WindowHeight – visina prozora,

• UpperLeftX – X koordinata gornjeg lijevog ugla i

• UpperLeftY – Y koordinata gornjeg lijevog ugla prozora.

Četiri su osnovna tipa prozora u LB-u:

• Window – osnovni tip prozora koji se najčešće koristi i u najvećem broju


slučajeva je to glavni prozor programa.

• Graphics – tip prozora koji omogućava prikaz grafičkih podataka, kao što
su slike.

23
• Dialog – ovi prozori su slični tipu Window po tome što mogu sadržavati
druge komponente, ali su prvenstveno namijenjeni za to da se od korisnika
prihvate neki ulazni podaci.

• Text – ovi prozori su ograničeni u svojim mogućnostima. Ne mogu


sadržavati druge kontrole i služe isključivo za prikaz tekstualne poruke
korisniku, ili za unos i editovanje teksta od strane korisnika.

Ostale elementarne komponente grafičkog interfejsa: Prozori su


osnovne komponente grafičkog interfejsa i oni, između ostalog, služe kao
kontejneri za ostale komponente poput menija, dugmadi, teksutalnih polja i
slično.

Meniji: u grafičkom interfejsu omogućavaju osnovnu kontrolu nad aplikacijom


i korištenje osnovnih funkcionalnosti koje aplikacija pruža. LB omogućava
kreiranje tzv. pull-down menija u vrhu prozora. Sintaksa:

MENU #NazivProzora, "NaslovMeniGrupe", "StavkaMenija1", [Labela1],_


"StavkaMenija2", [Labela2], ... "StavkaMenijan", [Labelan], ...

Pri tome je NazivProzora ime prozora koje će se iskoristiti u OPEN naredbi, a


Labela1, Labela2,... su labele na kojima se nalaze dijelovi programskog koda,
odgovorni za klik na specifičnu stavku menija.

Dugmad: Pored menija i tekst polja, dugmad su najčešće korišteni elementi


grafičkog interfejsa. Obično služe za iniciranje akcija u aplikaciji. LB se za prikaz
standardnog dugmeta koristi naredbom slijedeće sintakse:

BUTTON #NazivProzora.ekstenzija, "tekst na dugmetu",_ labelaZaAkciju,


ugaoProzora, x, y {, širina, visina}

gdje su:

•NazivProzora – ime prozora na kojem će se dugme prikazati;

•ekstenzija – naziv za dugme unutar prozora;

•labelaZaAkciju – labela ili naziv potprograma koji će izvršiti akciju nakon klika
na ovo dugme;

24
•ugaoProzora –predstavlja ugao prozora u odnosu na koji će se postaviti
dugme

•širina, visina – opcioni parametri kojim se može odrediti veličina dugmeta. Ako
se ne navedu, veličina je standardna.

Tekstualna polja: se koriste za dobivanje ulaza od strane korisnika, odnosno


kombinacijom više tekstualnih polja kreiraju se forme za unos. Tekstualna polja
su komponente grafičkog interfejsa koje omogućavaju unos ili ispis jedne linije
teksta. Za inicijalizaciju tekstualnog polja u LBu se koristi naredba sa sintaksom:

TEXTBOX #NazivProzora.ekstenzija, x, y, širina, visina.

Pokretanje Liberty BASICa: Prvi preduslov za programiranje u nekom


programskom jeziku jeste da se isti instalira u računaru. Nakon instaliranja,
prevodilac je smješten na tvrdom disku, a sastoji se od prevodioca, kao i nekih
biblioteka koje pojedini programski jezici zahtijevaju kako bi se programi
izvršavali. Koraci za pokretanje aplikacije Liberty BASICa:

dugme <Start> / Programs ili All Programs / Liberty BASIC v.X.XX

Koraci do izvršnog programa (kreiranje novog programa): Da bi se


došlo do izvršnog programa, koji će biti razumljiv računaru i koji će izvršavati
naredbe definisane programom, potrebno je realizovati nekoliko koraka koji su
tipični za računarsko programiranje. To su slijedeći koraci:

1. pokretanje alata Editor u okviru Liberty BASIC aplikacije

2. unošenje, odnosno kucanje programa

3. prevođenje, uz primjenu interpretera, izvornog koda u mašinski jezik

4. povezivanje, odnosno linkovanje programa s odgovarajućim bibliotekama

5. snimanje programa na disk

6. pokretanje programa: izabrati dugme Run ili otkucati <Shift>+<F5

Razumijevanje problema i definisanje zahtjeva za program:


Ispravno dizajniranje programa je presudan element za uspješnost programa.
Osnova za to je praksa analiziranja problema. Na osnovu te analize slijedi dizajn

25
programa. Važno je pokazati kroz šta mora da prođe programer prije pisanja
programa. Program treba dizajnirati prije nego što se isti počne pisati. Detaljan
dogovor između programera i korisnika neophodan je i posebno je važan za sve
oblasti programiranja. Potrebno je napraviti detaljnu specifikaciju zahtjeva za
program, odnosno svih elemenata koje program treba da ima.

Koraci dizajna programa: 1. definiranje izlaza i toka podataka,


2. razvijanje logike da bi se došlo do izlaza i

3. pisanje programa.

Definiranje izlaza i toka podataka: Potrebno je imati jasnu ideju o tome


šta program treba da uradi i koji podaci su potrebni da bi se to realizovalo.
Programer treba da zna kakav će biti izlaz prije pisanja programa, kako treba da
izgleda svaki ekran i svaka stranica svih štampanih izvještaja. Potrebno je
definisati sve korisničke ekrane za unos podataka, sa detaljnom listom svih
polja (tip, dužina) koje program za unos treba da prikaže na ekranu. Tu su i
komandna dugmad prozora i linije za skrolovanje koji su takođe izlaz, jer ih
program prikazuje. Svi izlazni ekrani, štampani izvještaji i ekrani za unos
podataka moraju biti unaprijed definisani. Takođe se mora odrediti koji podaci
će se čuvati u datotekama i u kom formatu.

Brzi razvoj aplikacija: RAD alati omogućavaju proces brzog postavljanja


kontrola na formu, kao i proces spajanja tih kontrola s podacima, te pristupanje
prethodno napisanom kodu, da bi se to na kraju sklopilo u cjelinu bez pisanja
ijedne linije koda. Ovakvi alati omogućavaju da se kroz grafički interfejs pristupi
kreiranju ekrana klikanjem i povlačenjem komponenti uz pomoć miša. Broj
linija koda koje programer treba otkucati se smanjio na najmanju mjeru čime se
ubrzao proces razvoja aplikacije, te se smanjila mogućnost grešaka u kodu.

Pisanje koda: Učenje pisanja programa zahtijeva najviše vremena.


Podrazumijeva definirane ulaze, izlaze, programsku logku, definisan izgled
ekrana, precizne definicije tipova i veličine podataka koji će se koristiti u
aplikaciji ili programu.

26
Održavanje programa: Nakon što je program napisan, testiran, i
distribuiran korisnicima, održavanje programa postaje stalnom i posebno
važnom obavezom koja iziskuje dosta vremena. Programi se stalno
nadograđuju, kako bi ispunilinove potrebe korisnika.

Microsoft .NET : je skup tehnologija razvijenih od strane kompanije


Microsoft za brzi razvoj različitih tipova aplikacija. Ovi tipovi uključuju: web
bazirane aplikacije, windows aplikacije zasnovane na formama i grafičkom
korisničkom interfejsu, konzolne aplikacije, web servise, itd. Razvojni okvir u
.NET svijetu je .NET SDK. Sam po sebi omogućava programiranje, ali ne
predstavlja alat za razvoj. Stoga .NET donosi i alat za razvoj koji se naziva Visual
Studio.NET i koji predstavlja grafički IDE za razvoj aplikacija.

RAZVOJNO OKRUŽENJE Microsoft Visual Studio: prilikom izbora


kreiranja novog projekta pojavljuje se dijaloški prozor New Project, u kojem je
potrebno pod Project types iz liste vrsta projekata izabrati tip projekta Visual
Basic/Windows, te iz liste predložaka u prozoru Visual Studio Installed
Templates izabrati Windows Forms Application.

Kreiranje korisničkog interfejsa aplikacije: Kreiranje forme za komunikaciju


korisnika i programa izvodi se u prozoru Form1. Objekte ili kontrole smještamo
na formu s dva klika lijevog tastera miša na ime odabranog objekta/kontrole na
traci s alatima Toolbox. Objekat/kontrolu smještenu na formu moguće je
pomicati po formi do željene pozicije klikom lijevim tasterom na kontrolu i
pomicanjem miša. Kod zadavanja naziva objekta (Name) treba poštovati
slijedeća pravila:

• naziv ne smije imati prazna mjesta,

• moraju se koristiti slova engleskog alfabeta,

• ne smiju se koristiti službene riječi programskog jezika,

• preporučuje se korištenje prefiksa od tri slova za oznaku vrste

objekta (npr: cmdUnesi, komanda).

27
Pisanje VB.NET koda: Programeri pojedinačne instrukcije nazivaju
naredbom, komandomili instrukcijom.Grupu instrukcija programeri nazivaju
kod. Skup blokova koda koji čini da računar nešto radi naziva se program.

Editor koda: isporučuje zajedno s programskim jezikom.


Struktura VB.NET programa: VB.NET program se obično sastoji od tri
različita dijela:

• korisnički interfejs-čuva se u fajlu s ekstenzijom .VB

• procedure za obradu događaja -sadrže VB.NET kod koji služi za prikazivanje


informacija i prihvatanje podataka koje korisnik unosi putem korisničkog
interfejsa;

• fajlovi modula i klasa-sadrže VB.NET kod koji služi za obavljanje računskih


operacija s podacima, ili za upravljanje podacima koji se unose putem
korisničkog interfejsa.

Dijelovi programa napisanog u VB.NET h

Izrada procedura za obradu događaja: Da bi se napisala procedura za


obradu događaja, treba: izabrati dio korisničkog interfejsa koji će obrađivati
događaj; otvoriti prozor editora koda i napisati VB .NET kod koji treba da
obradi događaj. Događaji se mogu povezati sa slijedeća tri dijela korisničkog
interfejsa: obrascima odnosno formama, objektima.) i padajućim menijima.

28
Deklarisanje promjenljivih: Da bi se deklarisala promjenljiva, moraju se
zadati dva elementa: ime promjenljive i tip podatka koji će promjenljiva
sadržavati. U VB.NET deklarisanje promjenljive se realizuje na slijedeći način:

Dim ImePromjenljive As TipPodatka

Kod izbora imena promjenljive, moraju se poštivati određena pravila:

• mora počinjati slovom engleskog alfabeta,

• može sadržavati samo slova, brojeve i znak "_",

• ne može sadržavati tačku,

• ne smije biti duži od 255 znakova i

• mora biti jedinstven u dijelu programa u kojem se nalazi promjenljiva.

Tipovi podataka: Prilikom deklarisanja, ili kreiranja neke varijable, važno je znati
koji tip podatka će u njoj biti smješten. Na osnovu toga će se i kreirati varijabla
s definisanjem odgovarajućeg tipa podatka za istu. Treba se koristiti tipovima
podataka koji troše najmanje memorije. Program će tada zahtijevati manje
memorije i radiće brže i efikasnije.

Struktuirano programiranje: Jedno od prvih rješenja koje su stručnjaci iz


područja računarstva definisali u vezi s programiranjem jeste osmišljavanje
pravila koja su trebala da obimne programe učine lakšim za razumijevanje.
Tako je nastalo struktuirano programiranje, koje se baziralo na slijedeće tri
ideje: dijeljenje velikih programa na više manjih, definisanje promjenljivih i
tipova podataka koje promjenljive mogu da sadrže i dijeljenje manjih programa
na sekvence, grane ili petlje.

Objektno orijentirano programiranje: Tehnike objektno orijentiranog


programiranja sačuvale su sve dobre strane struktuiranog programiranja, ali su
dodale i neke nove, kako bi programiranje bilo brže, a programi pouzdaniji i
lakši za ažuriranje. Dva glavna principa objektno orijentiranog programiranja
poznata su kao kapsuliranje (engl. capsulation) i nasljeđivanje (engl.
inheritance).

29

You might also like