programiranje

7

Click here to load reader

Upload: nermin-nerko-sistek

Post on 04-Mar-2016

6 views

Category:

Documents


0 download

DESCRIPTION

clanak o programiranju skinut sa wikipedie (needitovan radi downloada dokumenta)

TRANSCRIPT

Page 1: programiranje

7/21/2019 programiranje

http://slidepdf.com/reader/full/programiranje-56d97f3500019 1/7

Programiranje ili računarsko programiranje (engl.  programming) jeste

vještina pomoću koje korisnik stvara i izvršava algoritme koristeći određene

programske jezike da bi napravio računarski program. Programiranje sadrži

elemente umjetnosti, nauke, matematike i konstruisanja.

Sadržaj/Садржај

• 1 Programski jezii

• ! "orai u programiranju 

o !.1 #naliza problema

o !.! "reiranje algoritma

o !.$ Pisanje programskog koda

o !.% &nos koda u računar i testiranje programa

• $ 'lementarne algoritamske strukture

• % azvoj sotvera

• * Povezano

• + anjske veze

Programski jezici

Glavni članak: Programski jezik 

-vaki programer piše programski kod u nekom programskom jeziku. azličiti

programski jezii podržavaju različite stilove programiranja (programska

paradigma). azličiti programski jezii zatjevaju različite nivoe znanja, umijeća i

detalja koje programer treba posjedovati.

 /edini programski jezik koji računar može direktno izvršavati je mašinski jezik

(mašinski kod ili binarni kod). & počeima računarstva programeri su pisali u

mašinskom kodu, što je bilo vrlo komplikovano i zamorno. -ljedeći korak u razvoju

računarskog programiranja ogleda se u upotrebi simbolički jezika, poznati pod

zajedničkim nazivom asembler. #semblerski jezii sastoje se od jednostavni

instrukija koje se direktno i jednoznačno mogu prevesti u mašinski kod koji se

direktno izvršava. 0ako mnogo pogodnije i od mašinskog programiranja,

asemblersko programiranje karakteriše velika količina posla koju programer mora

obaviti, zbog činjenie da su operaije i dalje elementarne. bog toga su

stručnjai stvorili programske jezike višeg nivoa pomoću koji se piše izvorni kod

koji se u mašinski kod prevodi posredstvom speijalni programa 2 prevodilaa čiji

 je zadatak da prevede kod višeg programskog jezika u mašinski kod tzv.

interpreter i kompajler.

Koraci u programiranju

Page 2: programiranje

7/21/2019 programiranje

http://slidepdf.com/reader/full/programiranje-56d97f3500019 2/7

Pri izradi svakog programa potrebno je proći kroz % osnovne aze ili koraka3

1. #naliza problema

!. "reiranje algoritma (rtanje dijagrama toka)

$. Pisanje programskog koda

%. &nos programskog koda u računar i pokretanje programa

Analiza prolema

Prvi korak u izradi računarskog programa je analiza potreba, razmatranje situaije

i problem koji treba riješiti de4nisati preko jednačina, uslova i kroz tzv. pseudo

algoritam. Programeru mora biti jasno kako će se dešavati promjene, zavisnosti,

uzroi i posljedie, da bi sve to prenio i preizirao kroz programski kod. -ve mora

biti matematički preizirano. "od jednostavniji programa ovaj dio je u domenu

usmene analize, dok se kod složeniji programa ovaj dio radi u pisanoj isimboličkoj ormi uz uredno dokumentiranje svi promjena ( ovaj dio spada u

domen sotverskog inženjerstva).

Kreiranje algori!ma

Glavni članak: Algoritam

iječ algoritam potiče od imena iranskog matematičara al25varizmija koji se

smatra tvorem algoritma kao skupom preizno de4nisani pravila za izvršavanje

aritmetički operaija. #lgoritam je proedura (postupak) sa skupom jasno

de4nisani koraka koji nedvosmisleno vode ka rješenju problema. -vaki algoritammora ispoštovati * osnovni zakonitosti algoritma3

• "e#nisanos! (svi korai moraju biti jasni i nedvosmisleni)

• Konačnos! (izvršenje algoritma se mora obaviti u određenom broju

koraka)

• Posjedo$anje ulaza i izlaza ( moraju se de4nisati ulazi koji može biti3 ni

 jedan, jedan ili više i izlazi koji mora biti bar  jedan ili više)

%#kasnos! (algoritam se izvršava u razumnom vremenskom intervalu)

• &ezul!a!i$nos! (algoritam mora dati rješenje problema a ako nema

rješenja onda poruku da rješenje ne postoji).

Pisanje programskog koda

6akon završetka algoritma, pristupa se pisanju programskog koda na papiru. &

ovom koraku se svaki korak algoritma prevodi u odgovarajuću komandu u

programskom jeziku u kojem se piše.

'nos koda u računar i !es!iranje programa

Page 3: programiranje

7/21/2019 programiranje

http://slidepdf.com/reader/full/programiranje-56d97f3500019 3/7

"ada su izvršene sve (analitičke) pripreme i ručno ispisan kod potrebno ga je

unijeti u računar prilagođavajući programskom alatu u kojem će se program

testirati i izvršavati. -vaki programski jezik ima svoj editor koji omogućuje unos

programskog koda tzv. 0zvorni kod uz kontrolu ispravnosti ispisa ključni riječi i

sintakse uopće. &z editor u svakom programskom alatu nalazi se i interpreter koji

omogućava testiranje svake linije koda ili koda u jelini kako bi se blagovremenootklonile eventualne greške u sintaksi ili de4nisanim varijablama, dimenzionisanju

varijabli i sl. 6akon unosa kompletnog programa u računar program se treba

pokrenuti da bi se vidjelo da li radi. Program se treba više puta pokrenuti da bi se

vidjelo da li program radi za različite ulazne vrijednosti,a ovo podrazumjeva i sve

granične vrijednosti.

%lemen!arne algori!amske s!ruk!ure

#lgoritamske strukture se dijele u tri osnovne grupe3

• 7inijska (sekvenija)

• azgranata (selekija)

• 8iklična (iteraija)

(inijska s!ruk!ura)

"arakteristika linijske strukture je da se svi elementi izvršavaju samo jednom i

korai se odvijaju u nizu jedan za drugim bez ponavljanja ili 9skretanja9.

Primjer u :#-082u Primjer u 82u

06P&; a, b

zbir < a = b

P06; zbir

'6>

?inlude @stdio.A

void main () B

  int a, b, zbirC

  print(9a,bD 9)C

san(9EdEd9, Fa, Fb)C

  zbir < a = bC

  print(9a = b < EdGn9, zbir)C

H

&azgrana!a s!ruk!ura)

azgranata struktura će se pojaviti kod algoritma koji ima blok odlučivanja kao

što su 0I i 8#-', pri čemu se vrši testiranje određenog uslova a prema rezultatu

(obično ;&' ili I#7-') algoritam se grana i nastavlja tok jednom od grana2

Page 4: programiranje

7/21/2019 programiranje

http://slidepdf.com/reader/full/programiranje-56d97f3500019 4/7

opija. Primjer na slii je tipičan gdje se otklanja blokiranje programa provjerom

da li je djelila jednak nuli. #ko je djelila različit od nule, daće rezultat dijeljenja,

u suprotnom će dati samo poruku da dijeljenje nulom nema smisla i nastaviti

dalje prema sledećoj proeduri ili kraju programa.

Primjer u :#-082u Primjer u 82u

06P&; a,b

0I b @A J ;5'6

P06; aKb

'7-'

P06; 96e mogu dijeliti nulom9

'6>

[email protected]

void main () B

  Loat a, bC

  san(9EE9, Fa, Fb)C

  i (b << J) B

  print(96e mogu dijeliti nulomGn9)C

  H else B

  print(9a 3 b < EGn9, a K b)C

  H

H

*iklična s!ruk!ura

8iklični algoritam će se pojaviti kada treba isti posao uraditi više puta. Postoji

više varijanti ove srtukture a dvije osnovne podjele su3

• :roj iteraija (ponavljanja) jeste unaprijed poznat. Primjer ove petlje je na

slii i tu se obično koristi petlja IM.

• 0teraija se vrši dok se ne zadovolji određen uslov. "oriste se petlje tipa

N507'..>M.

"od 0teraije sa provjere istinitosti uslova (da li je uslov zadovoljen) postoje

varijante s provjerom uslova na ulazu u petlju, odnosno na kraju petlje. azlika

između ove dvije varijante je što kod provjere istinitosti uslova na kraju petlje

program mora proći bar jednom kroz petlju.

Primjer u :#-082u Primjer u 82u

zbir < J

06P&; b

IM a < 1 ;M b

?inlude @stdio.A

void main() B

Page 5: programiranje

7/21/2019 programiranje

http://slidepdf.com/reader/full/programiranje-56d97f3500019 5/7

zbir < zbir = a

6'O; a

P06; zbir

'6>

  int a, b, zbir < JC

  san(9Ed9, Fb)C

  or (a < 1C a @< bC a==) B

  zbir =< aC

  H

  print(9EdGn9, zbir)C

H

Primjer algori!ma kada nije pozna! konačan roj i!eracija sa pro$jeromna poče!ku pe!lje

Primjer

u

:#-082

u

Primjer u 82u

"od provjere istinitosti na ulazu u petlju postoji mogućnost

da se ne izvrši ni jedno ponavljanje. azlog je jednostavan,

ako uslov nije ispunjen odma se 9preskače9 na sljedeću

liniju izvan petlje. a ovu vrstu petlje u većini programa se

koristi ključna riječ 9N507'9 prilagođena sintaksi

programskog jezika.

zbir <

J

N507'zbir @

!JJ

06P&; a

zbir <

zbir = a

N'6>

P06;

zbir

'6>

?inlude

@stdio.A

void main()

B

  int a, zbir

< JC

  ile (zbir

@ !JJ) B

 

san(9Ed9,

Fa)C

  zbir =<

aC

  H

 

Page 6: programiranje

7/21/2019 programiranje

http://slidepdf.com/reader/full/programiranje-56d97f3500019 6/7

print(9EdGn

9, zbir)C

H

Primjer algori!ma kada nije pozna! konačan roj i!eracija sa pro$jerom

na kraju pe!lje

Primjer

u

:#-082

u

Primjer u 82

u

"od provjere istinitosti na kraju petlje, ne postoji

mogućnost da se ne izvrši ni jedno ponavljanje. azlog je

 jednostavan, provjera se vrši u posljednjem redu bloka

kQda, te se mora proći barem jedanput kroz čitav blok. aovu vrstu petlje u većini programa se koristi ključna riječ

9>M..N507'9 prilagođena sintaksi programskog jezika.

zbir <

J

>M

06P&; a

zbir <

zbir = a

N507'

(zbir @

!JJ)

P06;

zbir

'6>

?inlude

@stdio.A

void main()

B

  int a, zbir

< JC

  do B

 san(9Ed9,

Fa)C

  zbir =<

aC

  H ile

(zbir @ !JJ)C

 

print(9EdGn

9, zbir)C

H

'konomskim koneptima se dalje bavi -otversko inženjerstvo

&az$oj so+!$era

Glavni članak: Softverski razvoj

-tvaranje nekog programa uključuje3

Page 7: programiranje

7/21/2019 programiranje

http://slidepdf.com/reader/full/programiranje-56d97f3500019 7/7

• #nalizu potreba

•  ;enički opis

• >izajn i #ritekturu

• "odiranje

• Prevođenje

• 0sprobavanje

• >okumentaiju

• Mdržavanje

Po$ezano

• Programski jezik

• -pisak programski jezika

• ačunarski program

• #lgoritam

• "ompajler

• 0nterpreter

• Iunkionalno programiranje

• 7ogičko programiranje

• Paralelno programiranje

• 0zvorni kod