ORIP 1 Uvodno Predavanje

Embed Size (px)

Citation preview

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    1/45

    Osnove raunalstva i

    programiranjeZrinka Vidovi-Tisani

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    2/45

    Gdje se sve nalazeraunala?

    Nadziru proizvodnju i prijenosenergije, sustave distribuije vode,plina, TV programa!

    Omoguavaju tele"onski i internetskipromet, ali i nadziru promet naestama, #eljeznikom i tramvajskim

    prugama, sema"oriziranimraskri#jima, letove avionima,pomorski promet!$

    %

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    3/45

    & automobilima se nalazi oko '(mikroproesora)

    *+& *ngine +ontrol &nit nadzire rad motora .odul zranog jastuka /nstrument ploa

    .odul klima ure0aja 123 modul .odul kontrole zano4enja

    .odul kontrole prijenosa .odul distribuije snage na kotae !$$

    5

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    4/45

    6uanski ure0aji

    7ladnjai iledenie

    od 899:,3ada su i

    internetizirani

    ;

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    5/45

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    6/45

    1 ne mo#emo izbjei ni)

    =erilie rublja =erilie posu0a

    &sisavai =ei za entralno grijanje! Televizori

    !!$

    >

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    7/45

    o4 uvijek nismo spomenuli)

    3tolno raunalo Notebook

    Tablet 3martp@one =@ablet

    A

    Zato nam

    treba

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    8/45

    Baunalstvo

    =oznavanje naina "unkioniranja raunala Bazumijevanje vrste i raspona problema

    koje raunalom mo#emo rije4iti

    3posobnost analize ti@ problema kako bi i@se prevelo u niz smisleni@ postupaka kojeraunalo mo#e izvr4iti da bi rije4ilo

    problem =riprema odgovarajui@ podatakasvojstveni@ problemu

    :

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    9/45

    Znanje

    Ceklarativno znamo da je

    /mperativno

    znamo izraunati

    Znanje ima ovjek, astroj ima sposobnost

    provedbe naredbi9

    2 1.41421=

    2

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    10/45

    Dovjek koristi svoje znanjeda bi)

    CeEnirao problem Odluio o nainu njegovog rje4avanja =odijelio rje4enje na niz manji@, laganiji@

    koraka =reveo te korake u jezik razumljiv

    raunalu

    Bije4io problem pomou raunala =rovjerio rje4enje problema Omoguio da se tako mogu rije4iti slini

    problemi 8(

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    11/45

    Osnovna gra0a raunala

    88

    Von Neumann (Princeton) graa Harvard graa

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    12/45

    Temeljne karaketristike za3tored =rogram +omputer

    Baunalo je ope namjene sautomatskim izvo0enjem programa

    /ma mogunost po@rane podatakaulazni@, me0urezultata i rezultata

    3lijed instrukija je po@ranjen

    .ogua je komunikaija s okolinomulazno-izlazne jedinie

    8%

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    13/45

    =rogram

    =rogram je niz instrukija namijenjenrje4avanju pojedinanog ili slo#enog

    problema 3klapa se od niza mali@ jelina tzv$Primitivesakoje moraju imati toan redoslijed

    .ora u potpunosti biti izvediv raunalom,stoga ima stroga pravila 6oristi podatke u digitalnom obliku

    85

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    14/45

    1lgoritmi i kompjuterski nainrazmi4ljanja

    8;

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    15/45

    6valitete algoritma

    6oristi poetnu vrijednost Navodi redoslijed odre0eni@ naredbi za

    izvr4enje =rovjerava tonost rje4enja 1ko ona nije dostignuta, ponavlja

    pstupak 1ko je tonost dostignuta, zavr4ava

    postupak

    8'

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    16/45

    Od algoritma do programa

    6ad postupke deEnirane algoritmomnapi4emo u obliku naredbi razumljivi@raunalu imamo programski kod$

    =rogramski kod mora proi nekoliko "azaprovjere prije postizanja izvedbene verzije Fprograma koji rje4ava na4 problem naodre0enim podaima

    & ovisnosti o problemu, algoritmu ipodaima biramo jezik naredbi programskijezik

    8>

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    17/45

    =rogramski jezik

    /zvodei slijed naredbi na proizvoljnomskupu podataka proizvest e rezultatizrauna$

    Namijenjen komunikaiji s raunalom /ma rjenik, pravopis, gramatiku

    sintaksu i semantiku

    &i se kao i svaki drugi jezik &glavnom krute strukture Naje4e temeljeni na engleskom jeziku

    8A

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    18/45

    ingvistika programskogjezika

    =ravopis

    3intaksa 3emantika ) statika

    dinamika

    8:

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    19/45

    Bjenik i pravopis programskogjezika

    3vaki programski jezik koristi odre0en"ond rijei s tono odre0enimznaenjem$ To su rijei jednostavnog

    engleskog jezika ija pojava uprogramskom kodu pokree izvr4enjeprimitives-a.

    1ko rijei nisu pravopisno tone nisuniti prepoznate, 4to znai da se neizvr4avaju

    89

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    20/45

    3intaksa programskog jezika

    =rogramski su jezii opremljeniosiroma4enom gramatikom F sintaksom- koja se bavi redoslijedom rijei u

    programskoj reenii$ =rogramska reenia je naje4e jedan

    redak programskog koda

    & reenii moraju postojati sviunaprijed zadani elementi$ & protivnomimamo gre4ku sintakse- 3HntaI error

    %(

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    21/45

    3emantika programskogjezika

    3vaki niz naredbi programskog kodamora imati znaenje, logian i toanredoslijed reenia namijenjeni@

    izvr4enju programskog zadatka$ Zbirnoto zovemo semantika tonost$

    Naredbe programskog koda koje su

    pro4le provjeru sintaktike tonostiprovjeravaju se na semantiku tonost$

    %8

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    22/45

    =aziteJ

    3emantika i sintaktika tonost odnosese na programski kod, a ne na tonostkori4tenog algoritma$

    =rogram mo#e biti sintaktiki isemantiki toan, dakle ispravnokomuniira s raunalom i navodi ga na

    postupke ispravnim redoslijedom, a dasam rezultat nije zadovoljavajui jer jedo4lo do gre4ke u postavljanju algoritma$

    %%

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    23/45

    o4 korak do programskogjezika

    Nakon odabira jezika i pismaprogramskog jezika, postavljanja

    rjenika, sintakse i utvr0ivanjasemantike, naredbe na4e tvorevinenamijenjene obradi podataka moraju

    proi jo4 jednu, izuzetno va#nu stepeniuna putu prema programskom jeziku

    %5

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    24/45

    Turingova potpunost

    =ravila za rad s podaima su Turingpotpuna pa se zovu programski jezik akkomogu simulirati jednostavan Turingov stroj$

    1lan Turing 898%$-89';$)3ve naredbe programskog jezika mogu seizvesti pomou > osnovni@ naredbi u koje

    se prevode) Z*BO /K /N+B*.*NT GOTO

    C*+B*.*NT 71TL3TO= %;

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    25/45

    Turingov stroj 895:$

    jednostavan apstraktan ure0aj prilago0enda simulira logiku bilo kojeg raunalnogalgoritma

    stroju se pomou niza simbola mo#e zadatinaredba za izvr4avanje bilo koje zadae

    /stra#uje granie mogunosti izraunavanjaraunalnim algoritmima

    %'

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    26/45

    =rogramski jezii

    podjela

    =o slo#enosti) 7/G7LOM level =o namjeni) opiLiljani

    =o nainu provedbe)interpreteriLevaluatori

    %>

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    27/45

    Ni#i programski jezii lo level

    =ogodniji za raunalo, ali ljudima nespretnii mukotrpni

    3trojni jezii 1ssembleri

    %A

    8B542408 83FA00 0!B800000000"383 FA020! B80#0000

    mov ed$%&e'8*cm ed$% 0+a ,-mov ea$% 0ret

    Programiran+e .a ogon /ardare1a% +ao i.u inarnom odu

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    28/45

    %:

    Vii

    rogram'i+e.ici

    6a.iu+emo7ive (ativne)9gro:ene;.umreora+u 'e reve'tiu 'tro+ni od% a uinarni od?

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    29/45

    =ovijest programski@ jezika

    KOBTB1N 89'; /3= 89':

    +O2O 89'9 213/+, =L889>;

    ogo 89>: =asal 89A(

    + 89A%+ 89:(=Ht@on, Visual2asi 8998

    ava, ava3ript,Celp@i 899'

    +P %((8

    %9

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    30/45

    Opi i iljani programskijezii

    Opi) sve probleme jednako jelakoLte4ko rije4iti, neovisni su o vrstiraunala i operativnom sustavu

    2asi, =Ht@on, =erl, +, + +iljani) pisani za rje4avanje posebne

    vrste problemaKOBTB1N, +O2O, 7askell "unkijski,

    Visual 2asi graEka,+oQ dokazivanje teorema

    5(

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    31/45

    =aradigme obrasiprogramiranja

    3trojni i asemblerski jezii =roeduralni imperativni jezii +,

    =asal, Kortran Objektno orijentirani+, ava, +P Kunkionalni jezii isp, 3@eme, .,

    KP, 7askell ogiki orijentirani jezii =rolog Vizualno programiranje Visual +, Visuit

    58

    =rema elementima koji su primarni programeru kodpisanja programa

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    32/45

    6riteriji za vrednovanjeprogramski@ jezika

    .atematika apstraktnostdirektan zapis algoritma programskim

    jezikom

    6ompjuterska apstraktnostdirektna kontrola raunala

    Bazumljivost za korisnika

    jednostavnost uenja i upotrebe5%

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    33/45

    =odjela po nainu provedbe

    *valuatori)

    55

    Program'i od'adr:i 've ini+e

    rograma

    @+etni od ;.vrni (?e$e) od

    Compile%rov+era 'inta'e

    Link%rov+era 'emantie

    /nterpreteri)io ii c+einarogram'ogoda

    ;.vrni od iorada

    Prov+era 'inta'e i

    'emantie

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    34/45

    Vrednovanje programa

    - testiranje programa-

    =rogram vrijedi onoliko koliko su toni i

    preizni rezultati obrade podataka =ravu evaluaiju mo#e provesti samo

    ovjek-korisnik na pravom skupu

    podataka =ostupak mo#e trajati godinama pa i

    desetljeima

    5;

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    35/45

    =odai

    & raunalstvu)digitalizirane in"ormaije u

    tekstualnom, slikovnom, audio ivideo obliku

    & programiranju)varijable, konstante i instrukije

    5'

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    36/45

    KOBTB1N

    "ree donload)

    @ttp)LL"ore$leps@$om

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    37/45

    KOBTB1N

    *ngleski al"abet od %> znakova$Bijei jednostavnog engleskog jezika$

    Nisu dozvoljeni dijakritiki znakovi, aspeijalni simboli imaju posebnu svr@u=ostoje tzv$ rezervirane rijei)

    =BOGB1., 3&2=BOGB1., C/.*N3/ON,B*1, /NT*G*B, CO, /K, *NC, *NC/K,+ONT/N&*, B*T&BN, K&N+T/ON!

    5A

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    38/45

    KOBTB1N

    V1B/12* i 6ON3T1NT*

    Opa podjela)

    N&.*B/D6*OG/D6* F posebno se najavljuju

    deklariraju3TB/NGOV/ F KOBTB1N nije namijenjen radus njima, ali i@ tolerira i prepoznaje

    5:

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    39/45

    KOBTB1N

    N&.*B/D6* V1B/12* i 6ON3T1NT*

    Bazlikuju se po tipu)jelobrojne,realne,

    realne dvostruke tonosti,kompleksnekompleksne dvostruke tonosti

    59

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    40/45

    Tip numerike varijable

    Ope pravilo impliitna deklaraija tipa)=oetno slovo /.*N1 varijable automatskiodre0uje tip)

    B*1) slova 1-7 te O-Z karakterizira i@ de$toka/NT*G*B) slova /, , 6, , ., N

    3vi ostali tipovi, neovisno o imenu, morajuse deklarirati

    ;(

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    41/45

    Odabir imena

    6orisno je imena varijabli odabiratilogiki i asoijativno

    &vodei novu varijablu postavimo/N/& 6O.*NT1B1 sa detaljnim opisom

    1ko u imenu ne4to nije dozvoljeno,editor ili ompiler e se pobuniti

    ;8

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    42/45

    Naredbe pridru#ivanja133/GN*.*NT

    /.*RV1B/12* S 31CB1

    Npr$ U8S8:$inkrementS-%povrsinaSabL%$korakSm-nL%

    ;%

    B*CO3/*C /ZVB

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    43/45

    B*CO3/*C /ZVB

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    44/45

    H;C6A6H;A 6AD9NE;H@PC6A";A

    #? ;.ra.i u .agradama

    2? Funci+e% otenci+e3? >no:en+e% di+e+en+e4?

  • 7/23/2019 ORIP 1 Uvodno Predavanje

    45/45

    dvije varijable- neovisno o

    programskom jeziku1S 2S=omona T*.=)1S 2S T*.=S1S 2S T*.=S

    1S 2S T*.=ST*.= je sada suvi4an)1S 2S