Principi Programiranja Seminarski Rad - Vedran Vidic

  • Upload
    -

  • View
    248

  • Download
    0

Embed Size (px)

Citation preview

  • 8/9/2019 Principi Programiranja Seminarski Rad - Vedran Vidic

    1/24

    1

    PANEVROPSKI UNIVERZITET APEIRON

    FAKULTET POSLOVNE INFORMATIKE

    Redovne studije

    Smjer „IT menadžment”

    Predmet

    PRINIPI PRO!RAMIRAN"A

    #Uvod u "ava $ro%ramiranje&

    'seminars(i rad)

    Predmetni nastavni( 

    Pro*+ dr Zoran Avramovi,

    Student

    Vedran Vidi,- studentIndex br. 27-10/RPI

    Banja Luka, septembar 2012.

  • 8/9/2019 Principi Programiranja Seminarski Rad - Vedran Vidic

    2/24

     Sadržaj

    U!d "#truktura $aa pr!%rama &

    Pra'(a $aa pr!%ram'ranja )*!mpaj('ranje ' '+raanje $aa pr!%rama )*re'ranje $aa pr!%rama 7Pr!mjenj'e

     a+'' pr!mjenj'' 'p!' pr!mjenj'' ek(ar'sanje pr!mjenj'' 10

     aredba d!dje(j'anja 113r'tmet'4k' !perat!r' 12

     ad!e+'anje str'n%!a 1"*!mentar' 1"Pr!%ramsk' '+(a+ 1&Pr!jekt 5 pr!%ramerska s(aa 16'+ajn'ranje pr!jekta 17In''ja('+a'ja pr!mjenj'e 178atemat'4ke 9unk'je 1U(a+n' met!d' pr!%rama 1Pr'mjer u(a+n' met!da 20:ak(ju4ak 2"L'teratura 2&

    2

  • 8/9/2019 Principi Programiranja Seminarski Rad - Vedran Vidic

    3/24

    Uvod

    $aa je ra4unarsk' pr!%ramsk' je+'k k!j' je ra+'(a 9'rma #un 8'r!s;stems.Pr!%ramsk' je+'k se k!r'st' +a '+daanje 'nstruk'ja ra4unaru da !ba' k!nkretne

     p!s(!e. $aa ka! pr!%ramsk' je+'k je nasta(a 16. %!d. ' '+u+etn! je p!pu(arna.Pr' ra+(!% p!pu(arn!st' je 'jena, s !b+'r!m da je p!tpun! besp(atna. 8n!%' pr!%ramsk' je+'' se pr!daju p! 'jen' !d 'e st!t'na '(' '(jada d!(ara, t! je eut'm, ta

     jedn!stan!st ne +na4' da $aa n'je m!

  • 8/9/2019 Principi Programiranja Seminarski Rad - Vedran Vidic

    4/24

    Stru(tura "ava $ro%rama

    $aa, ka! ' sak' dru%' je+'k ?ra4unarsk' '(' %!!rn'A, 'ma s!ju term'n!(!%'ju.$aa pr!%ram ?'(' pr!jektA 4'n' nek!('k! dat!teka. e dat!teke se na+'aju k(asama.

    #aka !d t' dat!teka 'ma $aa k!d k!j' !ba(ja nek' spe'9'4an +adatak '(' +adatke.#aka dat!teka k(ase 'ma !+naku t'pa dat!teke, tak!+anu eksten+'ju .jaa. a+'dat!teke k!j' se k!r'st' +a sn'manje k(ase m!ra da !d%!ara na+'u k(ase. $edna k(asau sak!m pr!jektu e je u!4(j'a !b(ast u k!du k!ja 'ma r'je4 ma'n. ! je %(an' met!dk!j' je p!treban u jedn!j !d k(asa pr!jekta. Pr!%ram ?'(' pr!jektA sa4'njaa 'edat!teka k!je se na+'aju k(asama, a k!je sadr=e aktue(n' $aa k!d. na k(asa !d k!jese p!4'nje je %(ana k(asa. Pr!jekt' se %rup'u u radne !b(ast' ?en%(. E!rkspaesA. Uda(jnjem tekstu uju neke 'n9!rma'je! pr!%ramu, tj. ! k!m pr!%ramu se rad' ' 'n9!rma'ju +a k!ntakt. *!mentar p!4'nje sas'mb!(!m /G ' +araa se sa s'mb!(!m G/. ' red!' su p!+nat' ' ka! +a%(a(je

     pr!%rama ?en%(. pr!%ram eaderA. !br! je da se u'jek sta(ja +a%(ja(je u $aa pr!%rame u k!j'ma je 'n9!rma'ja ta rade ' k! ' je nap'sa!. $aa k!mpaj(er '%n!r'esak' k!mentar 5 nj'!a u(!%a je sam! da pru=a !bjanjenje.Pr' red p!s(e k!mentara sadr=' s(ede

  • 8/9/2019 Principi Programiranja Seminarski Rad - Vedran Vidic

    5/24

     pub(' (ass Ee(!me J

    aj red sadr=' de9'n''ju k(ase na+ane Ee(!me. *(ju4na ?en%(. ke;C!rdA r'je4

     pub(' !dre>uje da (' dru%' d'je(!' pr!%rama m!%u da pr'stupaju !!j k(as'. *(ju4ner'je4' su d'! sak!% pr!%ramsk!% je+'ka 5 t! su re+er'sane r'je4' ' ne m!%u se k!r'st't'u re%u(arn'm $aa '+ra+'ma. L'jea 't'4asta +a%rada ?JA se k!r'st' da !+na4' p!4etak de9'n''je k(ase.#(edeena u $au, !ut je !bjekat k(ase k!j' se !dn!s' na '+(a+n' pr!+!r ?en%(. !utput C'nd!CA. R'je4 pr'nt(n ?pr'nt ('neA pr'ka+uje jedan red teksta. ekst k!jese pr'ka+uje je p!d na!dn''ma ?u $reat!ru je ' u dru%!j b!j' rad' pre%(edn!st'A.Iska+ se +araa sa ?OA. U !!m pr!st!m pr'mjeru, %(an' met!d 'ma sam! jedan'ska+, d!k en' u $aa je+'k.P!s(e !!% reda s('jede da reda !d k!j' sak' 'ma desnu 't'4astu +a%radu ?A. Pra+a%rada !k!n4aa%(an' met!d, d!k dru%a k!n4aa de9'n''ju k(ase.P!trebn! je u'jek 

     pa+'t' da su 't'4aste +a%rade uparene, tj. da sak!j ('je!j !d%ara jedna desna.U sut'n', ptrebn! je +a%(a(je pr!%rama, de9'n''jak(ase ' %(an' met!d ka! ' !>enjera4una ! sn'manju dat!teke k(ase p!d 'st'm na+'!m p!d k!j'm je k(asa de9'n'sana. a

    dat!teka 'ma !+naku ?t+. eksten+'juA .jaa.

    6

  • 8/9/2019 Principi Programiranja Seminarski Rad - Vedran Vidic

    6/24

    Pravi.a "ava $ro%ramiranja

    - $aa k!d +atjea per9ek'ju. #e k(ju4ne r'je4' m!raju b't' k!rektn! +ap'sane.- $aa ra+('kuje ma(a ' e('ka s(!a ?en%(. ase-sens't'eA, t! +na4' da se e('ka '

    ma(a s(!a smatraju ra+('4't'm +na!k'ma.- $aa '%n!r'e b'je(e ('n'je ?en%(. C'te spaeA, k!r'ste se rad' pre%(edn!st'.- H't'4aste +a%rade se k!r'ste +a %rup'sanje. ne mark'raju p!4etak ' +aretak 

     pr!%ramsk' sek'ja. #ek'ja k!da '+me>u d'je !d%!araju

    $aa pr!%ram?.jaa dat!tekaA  

    $aak!mpaj(er   

    $aa !bjektn' k!d?.(ass dat!tekaA

    abe(a 1 5 @ra9'4k' pr'ka+ pr!esa k!mpaj('ranja

    Pr' '+raanju $aa pr!%rama, !e .(ass dat!teke !bra>uju net! t! se +'e $aaInterpreter unutar 'rtue(ne ma'ne. aj 'nterpreter „ra+%!araQ sa ra4unar!m '

    )

  • 8/9/2019 Principi Programiranja Seminarski Rad - Vedran Vidic

    7/24

     pre!d' $aa naredbe u =e(jene re+uktate. a s(ede

    $aa'rtue(na ma'na

    ?$aa InterpreterA

    Pr!%ram na ra4unaru

    abe(a 2 5 @ra9'4k' pr'ka+ pr!es '+raanja pr!%rama

    Kreiranje "ava $ro%rama

    U pr'mjeru Ee(!me sm! 'dje(' da naredba tampa neku 'n9!rma'ju ?„!br!d!s(' u

    test pr!jekatNQA. #ak' pr!%ram je sa4'njen !d 'e $aa naredb' k!je ra4unar treba da!brad'. Pra(jenje ra4unarsk!% pr!%rama p!m!ut'm, +a nas je ma(! te=e t! sa!pt't' ra4unaru na nje%!!m je+'ku. :a pr!st

     pr'mjer sab'ranja t' k!ra' b' b'('F- +adaj r'jedn!st pr!% br!ja,- +adaj r'jedn!st dru%!% br!ja,- saber' pr' br!j sa dru%'m, re+u(tat je +b'r, tj. tre

  • 8/9/2019 Principi Programiranja Seminarski Rad - Vedran Vidic

    8/24

    U !'m k!ra'ma ra4unar b' treba(! da rad' 'st' p!sa! ?d!daanje br!jaA "62 puta.Ra4unar' su e!ma d!br! k!d p!s(!a k!j' se p!na(jaju, na+'aju se pet(je ?en%(.(!!p'n%A.

     ajjedn!stan'j' pr'mjer pet(je b' b'! a(%!r'tam +a k(as'4nu kartaku '%ru „RatQ u k!j!jda '%ra4a u+'maju karte '+ standardn!% p'(a ' !naj k!j' 'ma „ja4uQ kartu n!s' kartu

    dru%!% '%ra4a. Pr!es se nasta(ja se d!k u p'(u 'ma karata. *! sakup' 'e karatakada se '%ra +ar' je p!bjedn'k. I%ranje !e '%re +at'jea s(ede'anje k!ja jekarta ja4a. a kraju, k!rak 6 tra=' p!na(janje d'je(jenja karata se d!k ' 'ma u p'(u.

    :a sak' $aa pr!%ram k!j' se pra', najb!(je je pr! nap'sat' n'+ (!%'4k' k!raka k!j'

  • 8/9/2019 Principi Programiranja Seminarski Rad - Vedran Vidic

    9/24

    Ko.i2ina Na/iv $romjenjive

    $ed'n'4na 'jena pr!'+!da 'tem!stBr!j p!ru4en' pr!'+!da numberItems'jena s' pr!'+!da t!ta(Item!st

     a+' sake pr!mjenj'e p!4'nje sa ma('m s(!!m a e('k'm s(!!m p!4'nje saka p!t!nja r'je4 u na+'u pr!mjenj'e.

    Ti$ovi $romjenjivi1

    P!trebn! je +nat' t'p 'n9!rma'je k!ju 4ua ?dr='A saka pr!mjenj'a. a (' sadr=' br!jS

    a (' br!j 'ma de'ma(nu ta4ku ?+are+AS a (' sadr=' tekstua(nu 'n9!rma'juSPra pr!mjenj'a je t'pa 'nt ?'nte%erA. aj t'p pr!mjenj'e se k!r'st' +a predsta(janje'je(', ne-de'ma(n' br!jea. Pr'mjerF

    1 -20 &000

    &,000 ?an%(!saks!nsk' !b('k +ap's'anja br!jeaA u $a' se p'e ka! &000 5 ne k!r'stese +are+' k!d e('k' br!jea. U pr'mjeru '+nad, numberItems treba da bude

     pr!mjenj'a t'pa 'nt.3k! pr!mjenj'a treba da 4ua br!j k!j' 'ma de'ma(nu ta4ku, tj. +are+, take

     pr!mjenj'e

  • 8/9/2019 Principi Programiranja Seminarski Rad - Vedran Vidic

    10/24

    str'n% ?n'sku, ('stuA ra+('4't' +nak!a. #tr'n% m!=e b't' str'n% br!jea, re4en'a, pasus, b'(! k!j' +na' u!pte. est!, str'n% neen' na!dn''ma. Pr'mjerF

    „$a sam $aa pr!%ramerQ „012"&6)7Q „*!mentarQ

    3e(.arisanje $romjenjivi1

    *!d 'men!anja pr!mjenj'' ' !dre>'anja t'pa, te 'n9!rma'je se m!raju pr!s('jed't'$aa pr!jektu. P!trebn! je da dek(ar'em! s!je pr!mjenj'e. $aa naredba k!ja sek!r'st' +a dek(ar'sanje pr!mjenj'e 'men!ane ar'ab(eame a t'pa t;pe jeF

    t;pe ar'ab(eameO

    P!trebna je naredba dek(ara'ja ka! !a +a saku pre!mjenj'u u pr!jektu.d%!araju

  • 8/9/2019 Principi Programiranja Seminarski Rad - Vedran Vidic

    11/24

     b!!(ean 'sItemkO#tr'n% m;Itemesr'pt'!nO

    /G statak %(an!% met!da G/ 

    Nared4a dodje.jivanja

     ajpr!st'ja ' naj'e k!r'

  • 8/9/2019 Principi Programiranja Seminarski Rad - Vedran Vidic

    12/24

    $edna !d star' u k!j!j su ra4unarsk' pr!%ram' jak! d!br' je ar'tmet'ka. n' m!%ue!ma br+! da sab'raju, !du+'maju, mn!=e ' d'je(e br!jee. P!st!j' pet ar'tmet'4k'!perat!ra k!j' se k!r'ste '+ $aa je+'ka a t! suF

    - sab'ranje ?XA,- !du+'manje ?-A,

    - mn!=enje ?GA,- d'je(jenje ?/A,- !statak ?YA.

    3k! naredba d!dje(j'anja 'ma 'e !d jedn!% ar'tmet'4k!% !perat!ra $aa spre4aam!%uen' red!s('jed p! k!me se ar'tmet'4k' !perat!r' pr'mjenjuju. ajred!s('jed je s(edee, pr'!r'tet se m!=e sta't'

     p!m!

  • 8/9/2019 Principi Programiranja Seminarski Rad - Vedran Vidic

    13/24

    Nadove/ivanje strin%ova

    3r'tmet'4k' !perat!r' se m!%u pr'mjen't' na numer'4ke pr!mjenj'e ?t'p 'nt ' t'pd!ub(eA. ak!>e, m!=e se !per'sat' ' sa str'n% pr!mjenj'ama. est! se u $aa

     pr!jekt'ma u+'ma str'n% pr!mjenj'a sa jedn!% mjesta ' d!daje se na kraj dru%!%

    str'n%a. ! se na+'a nad!e+'anje ?en%(. !netenat'!nA str'n%!a. pera!rnad!e+'anja je +nak p(us ?XA ' tak! se k!r'st', na pr'mjerF

    neC#tr'n% V „$a samQ X „$aa pr!%ramerNQO

    P!s(e !e naredbe, str'n% pr!mjenj'a neC#tr'n% e d! k!n9u+'je kada k!r'st'm! !ba !pert!ra. #tr'n%

     pr!mjenj'e 4'ne e('k' d'! $ae.

    Komentari

    P!=e(jn! je u'jek s('jed't' !d%!arajue, !(akaaju budu

  • 8/9/2019 Principi Programiranja Seminarski Rad - Vedran Vidic

    14/24

    Pro%rams(i i/.a/

    U pr'mjeru na s('' br!j 1 sam k!r'st'! ka! '+(a+ na ekranu tekst „!br!d!s(' u tekst pr!jekatQ .#ada

  • 8/9/2019 Principi Programiranja Seminarski Rad - Vedran Vidic

    15/24

    Proje(t 5 Pro%ramers(a s.ava

     a s(a' su 'spe4ene da e('ka r!(ata s'njet'ne ' +adatak je de9'n'sat' k!('k! sak'%!st m!=e da p!jede. Pretp!sta(ja se da je du='na r!(ata p!+nata. :b!% (ake%sje4enja, sak' %!st

  • 8/9/2019 Principi Programiranja Seminarski Rad - Vedran Vidic

    16/24

     // drediti koliko gosti)u moe da se %rani i svakog sendvica

      guests1 lengt%'oll1 / inc%esPerGuest&

      guests2 lengt%'oll2 / inc%esPerGuest&

    %uests 1 ' %uests 2 ena 'deja, tj. d!br! d'+ajn'ran pr!jekat, uted'

  • 8/9/2019 Principi Programiranja Seminarski Rad - Vedran Vidic

    17/24

    *ada se dek(ar'e pr!mjenj'a, nj!j se d!dje(juje neka (!ka'ja u mem!r'j' ra4unara uk!j!j se na(a+' neka nepred'd'a r'jedn!st. est!, t! je sas'm d!!(jn!, uk!('k! sene +ab!ra' u pr!mjenj'!j d!d'je('t' neku k!r'snu r'jedn!st ne%dje u s!m

     pr!%ramsk!m k!du. P!st!je s(u4aje' kada treba d!d'je('t' 'n''ja(nu r'jedn!st

     pr!mjenj'!j kada se dek(ar'e. aka 'n''ja('+a'ja je d!bra pr!%ramerska praksa ak!se +na r'jedn!st k!ju pr!mjenj'a treba da 'ma ?4est! se t! ne

  • 8/9/2019 Principi Programiranja Seminarski Rad - Vedran Vidic

    18/24

    Matemati2(e *un(6ije

    *a! ' dru%' ra4unarsk' je+'', $aa 'ma m!%uene 9unk'j' kak! b' m!%(a da rad'. U !!jnaredb' d!dje(j'anja, 9unt'!name k!r'st' r'jedn!st' '+ ar%umentL'st da '+ra4unare+u(tat ' d!dje(' %a pr!mjenj'!j p!d na+'!m 9unt'!nHa(ue. Pr!mjenj'a

    9unt'!nHa(ue m!ra b't' 'st!% t'pa ka! r'jedn!st k!ju '+ra4unaa 9unk'ja9unt'!name. 8et!d' k!j' p!dr=aaju matemat'4ke 9unk'je 'mp(ement'ran' su u $aak(as' 8at. Prema t!me, da b' se k!r'st'(a k!nkretna 9unk'ja, p'e se 8at, +at'mta4ka ' p!s(e t!%a 'me 9unk'je.3ps!(utna r'jedn!st, u matemat'', je p!+'t'n' d'! br!ja. $aa 9unk'ja jeF

    8at.abs?ar%umentA

    %dje je ar%ument br!j 4'ja se aps!(utna r'jedn!st '+u4aa. 3r%ument m!=e b't' '(' 'nt'(' d!ub(e t'pa a ra

  • 8/9/2019 Principi Programiranja Seminarski Rad - Vedran Vidic

    19/24

    %dje je ar%ument br!j 4'j' se kadratn' k!r'jen '+ra4unaa. 3r%ument m!ra da bude ne-ne%at'an d!ub(e br!j ' ra

  • 8/9/2019 Principi Programiranja Seminarski Rad - Vedran Vidic

    20/24

    'nt user3%eOuser3%e V ;pe't.'nInt?„*!('k! 'mate %!d'naSQAO

    Pr! se p'e 'me k(ase ;pe't ?!! je pret!dn! nap'sana k(asa +a u(a+n' met!d 4'je

  • 8/9/2019 Principi Programiranja Seminarski Rad - Vedran Vidic

    21/24

     pub(' stat' !'d 'nput[(us?AJ'nt dumm;O'nt b3a'(Otr;JC'(e??#;stem.'n.aa'(ab(e?AA NV 0AJdumm; V #;stem.'n.read?AOat?jaa.'!.IWxept'!n eAJ#;stem.!ut.pr'nt(n?M@reska u kuanjuMAO

     pub(' stat' #tr'n% 'n#tr'n%?#tr'n% pr!mptA

    J'nput[(us?AO pr'ntPr!mpt?pr!mptAOreturn 'n#tr'n%?AO

     pub(' stat' #tr'n% 'n#tr'n%?AJ'nt aarO#tr'n% s V MMO

     b!!(ean 9'n'sed V 9a(seOC'(e?N9'n'sedAJ

    tr;Jaar V #;stem.'n.read?AO'9 ?aar ] 0 ^^ ?arAaar VV D_nDAJ9'n'sed V trueOe(se '9 ??arAaar NV D_rDAJs V s X ?arA aarO

    at?jaa.'!.IWxept'!n eAJ#;stem.!ut.pr'nt(n?M@reska u kuanjuMAO9'n'sed V trueOreturn sO

     pub(' stat' 'nt 'nInt?#tr'n% pr!mptAJC'(e?trueA

    21

  • 8/9/2019 Principi Programiranja Seminarski Rad - Vedran Vidic

    22/24

    J'nput[(us?AO

     pr'ntPr!mpt?pr!mptAOtr;Jreturn Inte%er.a(ue9?'n#tr'n%?A.tr'm?AA.'ntHa(ue?AOat?umber[!rmatWxept'!n eAJ#;stem.!ut.pr'nt(n?M@reska u kuanju. 'je 'je(' br!jMAO

     pub(' stat' d!ub(e 'n!ub(e?#tr'n% pr!mptAJC'(e?trueAJ'nput[(us?AO

     pr'ntPr!mpt?pr!mptAOtr;Jreturn !ub(e.a(ue9?'n#tr'n%?A.tr'm?AA.d!ub(eHa(ue?AOat?umber[!rmatWxept'!n eAJ#;stem.!ut.pr'nt(n?M@reska u kuanju. aka n'je p(utaju' br!jMAO

     ak!n t! sam napra'! ;pe't.jaa pr!%ram, r'jeme je da %a urst'm u s!j pr!jekatk!j' uje na '+(a+ sa pr'nt(n. *ada se t! p!ja' n!' red se +ap!4'nje.

    22

  • 8/9/2019 Principi Programiranja Seminarski Rad - Vedran Vidic

    23/24

    Za(.ju2a( 

    P!st!j' mn!%! dru%' pr!%ramsk' je+'ka k!j' se k!r'ste '(' se tek ra+matrajum!%u

  • 8/9/2019 Principi Programiranja Seminarski Rad - Vedran Vidic

    24/24

    Literatura

    1. ra%an 8ark!'