Programiranje

Document Sample
Programiranje Powered By Docstoc
					                           OSNOVE PROGRAMIRANJA
                                              OD PROBLEMA DO PROGRAMA


 Računalnik je le en od pripomočkov, ki
    jih uporabljamo pri reševanju
    problemov;
   Katere probleme lahko rešujemo z
    računalnikom?;
   Za reševanje problemov z računalnikom
    potrebujemo navodila in podatke;
   Opredelitev programa;
   kakšne programe poznamo, kakšne
    probleme rešujejo, za kateri problem bi
    bil računalnik primeren, vendar nimamo
    programa…
                        OSNOVE PROGRAMIRANJA
                                                UVOD



• Računalnik je naprava, ki lahko sprejme vhodne podatke, jih
  obdela po predpisanem postopku, posreduje izhodne podatke
  in jih hrani za poznejšo uporabo
• Računalnik premešča bite iz ene pomnilniške lokacije na drugo
• Računalnik je sposoben izvesti mnogo preprostih operacij zelo
  hitro (npr. seštevanje in množenje). Da računalnik izvede kako
  nalogo, mu moramo povedati, katere operacije naj izvede ter
  njihov vrstni red.
• Za svoje delo računalnik potrebuje program:
   – gre za zaporedje navodil, ki jih procesor v računalniku
      razume in izvede
                            OSNOVE PROGRAMIRANJA
                                                   FAZE RAZVOJA PROGRAMA




1. Specifikacija oziroma opis naloge
   •   Besedilo mora biti izčrpno in jasno zapisano. To je še posebej
       pomembno, če nalogo opravimo za koga drugega.


2. Analiza naloge
   •   Nalogo moramo dobro razumeti. Vedeti moramo, kaj naloga od nas
       zahteva, poznati moramo vhodne podatke in vedeti moramo želene
       izhodne podatke oziroma rezultat. Pri tej fazi dobro proučimo tudi
       dodatne zahteve naloge, omejitve (npr. omejitve vhodnih in izhodnih
       podatkov), mejne vrednosti itd.
                                 OSNOVE PROGRAMIRANJA
                                                         FAZE RAZVOJA PROGRAMA



3. Načrtovanje algoritma
•       V fazi načrtovanja algoritma ali načrtovanja rešitve imamo pri
        strukturiranem oziroma proceduralnem razvoju programov dve
        možnosti:
    –      načrtovanje od zgoraj navzdol (top-down design) in
    –      načrtovanje od spodaj navzgor (bottom-up).
•       Pri prvem načrtovanju definiramo celotno nalogo, potem pa
        nadaljujemo s podrobnejšimi podnalogami. Pri razčlenjevanju naloge
        posamezno nalogo razdelimo na podnaloge, in sicer tako, da rešujemo
        podnaloge neodvisno drugo od druge. Postopek razčlenjevanja
        nadaljujemo, dokler nimajo vse naloge neposrednih rešitev. Ta postopek
        imenujemo postopno razčlenjevanje.
•       Pri drugem načrtovanju pa začnemo s podrobnostmi in definiramo
        najprej vsako podnalogo ter jo rešimo, potem pa podnaloge
        povezujemo, da dobimo rešitev celotne naloge.
•       Algoritem zapišemo s psevdokodo ali z diagramom poteka.
                            OSNOVE PROGRAMIRANJA
                                                    FAZE RAZVOJA PROGRAMA




4. Kodiranje oziroma implementacija programa
   •   Gre za zapis nalog iz prejšnje faze v obliko, ki jo razume računalnik.
       Tako algoritem, ki je neodvisen od programskega jezika in
       računalnika, zapišemo s stavki izbranega programskega jezika.
5. Testiranje in vzdrževanje programa
   •   Testiranje je preverjanje delovanja programa. Zanima nas predvsem,
       ali program daje predvidene izhodne rezultate. Vzdrževanje
       programa nastopi naknadno, ko program v nekem okolju že teče in
       ga želimo spremeniti, dopolniti, izboljšati itd.
                            OSNOVE PROGRAMIRANJA
                                            ALGORITEM . PROGRAMIRANJE . PROGRAM


•   Algoritem je natančen opis postopka oziroma nalog, ki jih
    računalnik mora opraviti, da bi izvršil določeno opravilo.
•   Algoritem je sestavljen iz končnega zaporedja korakov, ki nas
    privedejo do rešitve nekega problema. Če želimo, da te korake
    razume in izvaja računalnik, mora biti algoritem izražen v obliki,
    ki jo imenujemo program.
•   Načrtovanje algoritma in njegovo pretvarjanje v programski jezik
    imenujemo programiranje

          programiranje je proces izdelave računalniškega programa


•   Vsak korak algoritma je v programu predstavljen z enim ukazom
    ali več ukazi (instrukcijami) oziroma stavki programskega jezika
        OSNOVE PROGRAMIRANJA
                 OD PROBLEMA DO RAČUNALNIŠKEGA PROGRAMA




        PROBLEM



        ALGORITEM



ZAPIS V PROGRAMSKEM JEZIKU



         PROGRAM
                                 OSNOVE PROGRAMIRANJA
                                                            ALGORITEM



• Rešitev načrtujemo, ko je problem dovolj podrobno
  opredeljen
   – Problem delimo na manjše probleme dokler ne pridemo do
     zaporedja preprostih navodil – algoritma, ki privede do rezultata
• Algoritem je postopek za rešitev nekega problema;
       vsako navodilo (= korak algoritma) mora biti DOBRO poznana operacija
• Algoritem mora biti:
   –   sestavljen iz končnega števila (zaporedja) korakov
   –   ustavljiv (pri različnih kombinacijah vhodnih podatkov)
   –   nedvoumen
   –   splošen (rešuje čim več podobnih problemov)
                  OSNOVE PROGRAMIRANJA
                                     ALGORITEM




• Algoritme lahko predstavimo v naslednjih
  oblikah:
  – s psevdokodo (psevdo naravnem jeziku –
    mešanica naravnega in formalnega jezika,
    npr. enačba)
  – z diagramom poteka
  – s programom
• Zapis algoritma v izbranem programskem
  jeziku = (računalniški) program.
                 OSNOVE PROGRAMIRANJA
                                        IZRAZI




•   računalnik
•   algoritem
•   program
•   programski jezik
•   programiranje
•   ukazi
•   stavki
                              OSNOVE PROGRAMIRANJA
                                                      RAČUNALNIK

Računalnik je naprava za shranjevanje, obdelavo in prenos
informacij. Delimo ga na dva dela:
 strojno opremo (hardware) predstavljajo naprave, iz katerih sestoji
  računalnik in ostala komunikacijska oprema;
 programsko opremo (software), to so programi, ki omogočajo, da strojna
  oprema deluje.

STROJNA OPREMA
1. Osrednji del računalnika je centralna procesna enota (CPE)
   • aritmetična in logična enota, ALE (izvaja aritmetične in logične
      operacije)
   • krmilna enota je zadolžena za izvajanje programov
   • registri omogočajo začasno shranjevanje podatkov, ki jih obdeluje ALE
2. Glavni pomnilnik je predstavljen kot zbirka enako velikih celic, imenovanih
   pomnilniške besede oz. lokacije. Vsaka celica je oštevilčena. Številka se
   imenuje naslov oz. adresa celice. V celicah pomnilnika shranjujemo
   podatke in ukaze (računalniške programe).
                                 OSNOVE PROGRAMIRANJA
                                                     RAČUNALNIK – strojna oprema

3.   Krmilnik vhodno-izhodnih naprav nadzira prenos podatkov med CPE ali
    glavnim pomnilnikom na eni in perifernimi napravami na drugi strani.
4. Periferne naprave. Obstaja veliko število najrazličnejših perifernih naprav.
    V splošnem jih delimo v tri skupine:
    • izhodne naprave lahko sprejemajo podatke in jih prikažejo (npr. zasloni,
          tiskalniki, risalniki);
    • vhodne naprave lahko podatke prenesejo v računalnik (npr. tipkovnica,
          miška);
    • vhodno-izhodne naprave lahko prikažejo podatke in jih prenesejo v
          računalnik (zasloni občutljivi na dotik), ali služijo kot zunanji pomnilnik
          (trdi diski, spominski ključ);
V računalniku imamo več vrst pomnilnikov. Omenimo le dva:
• Hitri pomnilnik (glavni, centralni) je fizično majhen ter hrani podatke, ko
    je pod električno napetostjo. Podatki in programi se v glavni pomnilnik
    naložijo iz zunanjega pomnilnika, kamor se tudi shranjujejo. Program mora
    biti v glavnem pomnilniku, preden se prične izvajati.
• Veliko večji je zunanji pomnilnik, ki hrani podatke tudi po tem, ko smo
    računalnik ugasnili.
                               OSNOVE PROGRAMIRANJA
                                                 RAČUNALNIK – programska oprema

PROGRAMSKA OPREMA
Računalnik brez programov je neuporaben. Delovanje računalnika omogoča
   programska oprema oz. programi (software).
Programsko opremo računalnika lahko delimo na:
1. Sistemsko programsko opremo in
2. Uporabniško programsko opremo.

Sistemska programska oprema nadzoruje in upravlja strojnega dela
    računalnika. Njen najvažnejši del je operacijski sistem, ki nadzoruje
    pravilno delovanje strojne opreme in je posrednik med vsemi ostalimi
    programi in računalnikom – strojem. Med sistemsko programsko opremo
    sodijo tudi programi, ki uporabniku pomagajo pri pisanju, testiranju,
    izvajanju programov itn. To so naslednji sistemski programi: urejevalniki
    besedil (text editors), prevajalniki (compilers), povezovalniki (linkers),
    očiščevalniki (debuggers), nalagalniki (loaders), programske knjižnice
    (program libraries), komunikacijski programi (communications software),
    programski krmilniki vhodno-izhodnih naprav (drivers)
                              OSNOVE PROGRAMIRANJA
                                                RAČUNALNIK – programska oprema

Uporabniška programska oprema omogoča uporabo računalnika pri
   reševanju nalog, kot so priprava dopisa, upravljanje podatkov, številni
   numerični izračuni, izdelava slik in izmenjava podatkov med računalniki.
Uporabnik računalniškega sistema vidi strojno opremo in sistemsko
   programsko opremo kot celovit sklop, s pomočjo katerega razvija svoje
   aplikacije in z njimi prihaja do želenih rezultatov.
                                OSNOVE PROGRAMIRANJA
                                                       PODATKI IN INFORMACIJE

Računalnik je naprava za obdelovanje podatkov. Z interpretacijo podatkov
   dobimo informacijo. Informacija je novo spoznanje, ki ga človek doda
   svojemu poznavanju sveta ali z njo spremeni svoje dosedanje spoznanje.
   Za praktično uporabo mora biti informacija predstavljena z elementi
   realnega sveta. Povezava med informacijo in podatkom je ta, da je podatek
   fizična predstavitev informacije. Predstavitvi informacije s podatki pogosto
   pravimo tudi zapis informacije ali pa kodiranje informacije.
Podatki so gola dejstva (številke, črke, posebni znaki ali njihova kombinacija).
   Informacija pa je pomen, ki ga človek pripisuje podatkom v skladu s
   splošnimi dogovori. Informacija so tudi obdelani podatki, ki nastopajo v
   določenem kontekstu in imajo za ljudi določen pomen.
              Informacija je pomen, ki ga človek pripiše podatkom s
              pomočjo znanih konvencij, ki so uporabljene pri njihovi
                                  predstavitvi

              Podatek je predstavitev dejstev na formalni način, ki je
              primeren za komunikacijo, interpretacijo ali obdelavo s
                             strani človeka ali stroja
                                OSNOVE PROGRAMIRANJA
                                                      PODATKI IN INFORMACIJE

Podatke lahko ločimo po več kriterijih. Glede na njihov namen imamo
  identifikacijske (matična št., št. računa), kvantitativne (s katerimi
  računamo) in opisne. Glede na spremenljivost pa imamo podatke, ki se
  nikoli ne spreminjajo ali se spreminjajo zelo redko ter podatke (spol, rojstni
  podatki), ki se spreminjajo kvantitativno (kraj bivanja) ali kvalitativno (teža).
Enoto informacije, to je 1 bit informacije, dobimo, ko odgovorimo na
  vprašanje, na katero sta možna le dva enako verjetna odgovora.
Kapaciteta (capacity) je merilo za velikost pomnilniškega medija in nam pove,
  koliko podatkov je mogoče zapisati. Osnovna enota za količino informacije je
  1 bit. Večja enota je zlog (B, byte), ki ima osem bitov. Ker je tudi zlog majhna
  enota uporabljamo še enote KB, MB, GB, TB. Faktor K pomeni 2 na 10, kar
  znese 1024, zato je v enem kilozlogu 1024 zlogov.
Če želimo informacijo kakor koli obdelati ali prenašati, mora biti ustrezno
  predstavljena. Ločimo dva načina predstavitve informacij: analogni ali zvezni
  in digitalni ali diskretni (primera analogne in digitalne ure).
Predstavitev števil
Pretvorba števil
                    OSNOVE PROGRAMIRANJA
                                      ZAPIS ALGORITMA




Zapis algoritma
 poznavanje algoritma izdelanega v
  različnih oblikah (besedni, diagram poteka, ..)
 poznavanje značilnosti algoritma
 razumevanje postopka izdelave algoritma
 izdelava algoritma
              OSNOVE PROGRAMIRANJA
                                  ZAPIS ALGORITMA



Primer zapisa algoritma s psevdokodo

   if razumeš to besedilo
      then
          nadaljuj z branjem
          uživaj v branju
          poskusi rešiti naloge
      else
          prekini z branjem
                             OSNOVE PROGRAMIRANJA
                                               ZAPIS ALGORITMA


Vsak algoritem lahko zapišemo s tremi osnovnimi gradniki, ki
  so:
• zaporedje (sekvenca),
• izbira (selekcija) in
• ponavljanje (iteracija).
Ker z zaporedjem, izbiro in s ponovitvijo krmilimo potek
  izvrševanja algoritma, jim s skupnim imenom rečemo
  krmilne strukture.

Da bi bil dijak uspešen pri predmetu UPN, mora opraviti
  naslednje obveznosti:
1.   opraviti računalniške vaje
2.   biti uspešen pri pisnih nalogah
3.   biti uspešen pri ustnem odgovarjanju
                OSNOVE PROGRAMIRANJA
                                  ZAPIS ALGORITMA




 Zaporedje preprostih
opravil, ki nas s končnim
   številom korakov
 pripeljejo do rezultata
                   OSNOVE PROGRAMIRANJA
                                     ZAPIS ALGORITMA




– V računalništvu zapisujemo algoritme z
  diagramom poteka, ki ga izvajamo tako, da
  sledimo puščicam v diagramu.
– Lastnosti algoritma:
   • sestavljen iz zaporedja korakov
   • ustavljiv (pri različnih kombinacijah vhodnih
     podatkov)
   • nedvoumen
   • splošen (rešuje čim več podobnih problemov).
                   OSNOVE PROGRAMIRANJA
                                          PODATKI


PODATKI
1. Konstanta          1. Vrednost, ki se med
                           izvajanjem programa ne
                           spreminja.
2. Spremenljivka      2. Ime prostora v
                           pomnilniku, ki ga
                           rezerviramo za neko
                           vsebino - podatek.
                           Velikost tega prostora je
                           določena s tipom
                           podatka.
                  OSNOVE PROGRAMIRANJA
                                  PRIREDITEV VREDNOSTI


• Kadar ne vemo kakšno vrednost ima podatek,
  uporabimo v algoritmu spremenljivko
   – spremenljivke omogočajo, da sestavimo
     diagram poteka ne glede na to, kakšno
     vrednost imajo.
• Vsaka spremenljivka ima svoje
  – ime in
  – vrednost


          ime              vrednost
                  OSNOVE PROGRAMIRANJA
                                  PRIREDITEV VREDNOSTI




• V diagramu poteka priredimo spremenljivki
  vrednost s prireditvenim operatorjem


                                   matematični
  spremenljivka   prireditveni        izraz
                   operator
      N                                     1
                 OSNOVE PROGRAMIRANJA
                                 PRIREDITEV VREDNOSTI




• Spremenljivka n na obeh straneh izraza

                 prireditveni     matematični
 spremenljivka
                  operator           izraz
    n                                   n+1

spremenljivki n naj se vrednoti poveča za 1
               OSNOVE PROGRAMIRANJA
                               PRIREDITEV VREDNOSTI




• V diagramu poteka uporabimo za
  prireditev pravokotnik
                               Diagram poteka s
           START                   prireditvijo
                                   vrednosti
                                 spremenljivki
           A        5

            STOP
                   OSNOVE PROGRAMIRANJA
                                  BRANJE IN IZPIS PODATKOV



• Za prikaz branja in izpisovanja uporabimo v
  diagramih poteka paralelogram
        START

        Beri A

    A            A+5
                           Diagram potek z
        Izpiši A          branjem, z izpisom
                            in s prireditvijo
        STOP
                     OSNOVE PROGRAMIRANJA
                                     SIMBOLI DIAGRAMA POTEKA




                PRIMER                               PRIMER
START
                               PRIREDITEV            a         a+1
        POTEK
STOP

                                VEJITEV                  a+b<c

 BRANJE
PODATKOV        Beri a,b,c




  IZPIS
                izpiši a,b,c
PODATKOV
                             OSNOVE PROGRAMIRANJA
                                              ZAPIS ALGORITMA - NALOGE



Narišite diagram poteka, ki prebere     Narišite diagram poteka za izpis
 in izpiše poljubno celo število (x)     absolutne vrednosti števila (ST),
                                         ki ga vpišete preko tipkovnice
                              OSNOVE PROGRAMIRANJA
                                                ZAPIS ALGORITMA - NALOGE



Narišite diagram poteka, ki izpiše    Narišite diagram poteka, ki prebere
 srednjo vrednost (SR) treh            poljubno celo število (X) in ga izpiše
 prebranih celih števil (A, B, C)      trikrat.
                                OSNOVE PROGRAMIRANJA
                                               ZAPIS ALGORITMA - NALOGE




Narišite diagram poteka, ki prebere dve
 celi števili (x y), zamenja njuni vrednosti
 (POMOZNA) med seboj in ju izpiše.
              OSNOVE PROGRAMIRANJA
                                     IZRAZI



Izrazi
• Diagram poteka
• Programiranje
• Spremenljivka
                  OSNOVE PROGRAMIRANJA
                                    ZAPIS ALGORITMA




  Zapis algoritma

 izdelava algoritma z vejitvijo
 izdelava algoritma z zanko
 izdelava algoritma s tabelarično spremenljivko
                  OSNOVE PROGRAMIRANJA
                                 ZAPIS ALGORITMA - VEJITEV



• Za prikaz vejitve uporabljamo v diagramih
  poteka deltoid.
                   START

                  Beri A, B

                    A>B
 C         B                        C                   A

                  Izpiši C
                    STOP
             OSNOVE PROGRAMIRANJA
                             ZAPIS ALGORITMA - ZANKA




• Za zaporedje enakih ukazov uporabimo
  v diagramih poteka zanko



                 START

             C           5
                  OSNOVE PROGRAMIRANJA
                                 ZAPIS ALGORITMA - ZANKA


                                         START
• Izvajanje zanke nadziramo
  z določenim pogojem                Beri A, B

                                     C               1

                                    Izpiši A * C

                                     C             C+1
                                 ne
                                          C>B
                                             da
                                          STOP
                   OSNOVE PROGRAMIRANJA
                            ZAPIS ALGORITMA – TABELARIČNA SPREMENLJIVKA




                                       Indeks          Število
• Tabelarične                               1              15
  spremenljivke imajo
                                            2              17
  skupno ime, med seboj
  pa jih ločimo z                           3              16
  indeksom                                  4              20
                                            5              21

                               Vrednost spremenljivke
                                     A3 je 16…
                          OSNOVE PROGRAMIRANJA
                                   ZAPIS ALGORITMA – TABELARIČNA SPREMENLJIVKA


                                                            C      TC       M
• V algoritmu izvedemo postopek nad enim
  elementom, nato pa le spreminjamo indeks                  1      10      10
                                                            2       5      10
  C        1                                                3      15      15
                                                            4      25      25
  M       T(C)
                                          ne                5      17      25
                 da                              da       Na koncu je
      C <= N          C   C+1       M < T(C)            največje število
                                                          shranjeno v
          ne
                                                        spremenljivki M.

  Diagram poteka za iskanje največjega števila med N
          števili tabelarične spremenljivke T
                           OSNOVE PROGRAMIRANJA
                                              ZAPIS ALGORITMA - NALOGE
                                START
• Branje matrike
  reda 3 x 3!
•   A(1,1) A(1,2) A(1,3)
                             I    ← 1
    A(2,1) A(3,2) A(3,3)
    A(3,1) A(3,2) A(3,3)
                                J ← 1

• A (I,J)
                           BRANJE A (I, J)

                                        ne

                                 J←3          J=J+1
                            da
                                             ne
                                 I←3                         I=I+1
                           da
                                 end
                          OSNOVE PROGRAMIRANJA
                                             ZAPIS ALGORITMA - NALOGE
                               START
• Seštevanje
  dveh matrik
  reda 3 x 3!              I    ← 1


• A(1,1) A(1,2) A(1,3)        J ← 1
  A(2,1) A(3,2) A(3,3)
  A(3,1) A(3,2) A(3,3)
                         BRANJE A (I, J)
• B(1,1) B(1,2) B(1,3)
  B(2,1) B(2,2) B(2,3)                 ne
  B(3,1) B(3,2) B(3,3)         J←3           J=J+1
                          da
• A (I, J)                                  ne
                               I←3                         I=I+1
• B (I, J)
                         da
                               end
                             OSNOVE PROGRAMIRANJA
                                                   ZAPIS ALGORITMA - NALOGE


Narišite diagram poteka z zanko, ki prebere
 poljubno celo število (x) in ga izpiše trikrat.




                                     ALI
                            OSNOVE PROGRAMIRANJA
                                               ZAPIS ALGORITMA - NALOGE


Narišite diagram poteka, ki prebere dve števili (X, Y). Prvo število
 izpiše tolikokrat, kot je vrednost drugega števila.




                                    ALI
                  OSNOVE PROGRAMIRANJA
                                 ZAPIS ALGORITMA - NALOGE




• Napišite algoritem, ki
  prebere celo število.
  Če je prebrano število
  deljivo z 2 in s 3, ga
  izpiše. Algoritem
  predstavite z
  diagramom poteka.
                        OSNOVE PROGRAMIRANJA
                                       ZAPIS ALGORITMA - NALOGE




• Narišite diagram poteka,
  ki pri danem podatku X
  izračuna vrednost funkcije
  Y. Vrednost funkcije
  določimo po pravilu:
  -če je X manjši od 1, naj
  bo Y=X*10,
  -če je X večji ali enak 1, naj
  bo Y=X.
                  OSNOVE PROGRAMIRANJA
                                    ZAPIS ALGORITMA - NALOGE


            Ali dani diagram poteka predstavlja algoritem?
START
                              korak          x
x 1


   x
x
   2


             ne
 x>1

       da

STOP
                OSNOVE PROGRAMIRANJA
                               ZAPIS ALGORITMA - NALOGE
START
                        Kakšna vrednost se izpiše?
x 1
                          korak         x

   x
x
   2


           ne
x < 0,3

      da

Izpiši x



STOP
                   OSNOVE PROGRAMIRANJA
                                  ZAPIS ALGORITMA - NALOGE




Imamo geometrijsko zaporedje 1,3,9,27, …
Razvijmo algoritem,
      a) ki izpiše tisti člen, ki prvi preseže
vrednost 10 000.
      b) izpiše kateri po vrsti je ta člen.
                    OSNOVE PROGRAMIRANJA
                                     PROGRAMSKI JEZIKI




 programski jezik
 funkcija programskega jezika
 vrste programskih jezikov (strojni, …) in
  opredelitev njihove funkcije
 računalnik neposredno »razume« le strojni jezik
 prevajanje in tolmačenje
                    OSNOVE PROGRAMIRANJA
                                       PROGRAMSKI JEZIKI




1. Naravni jeziki
  razumljivost (kaj jo omogoča), sintaksa in semantika
2. Umetni jeziki
  esperanto, jezik kemijskih formul, jezik aritmetičnih
  izrazov, pascal
                    OSNOVE PROGRAMIRANJA
                                  RAZVOJ PROGRAMSKIH JEZIKOV




1.   strojni jezik (1950)
2.   zbirni jezik (assembler) (1955)
3.   višji programski jeziki (1960)
4.   jeziki 4. generacije ( po 1980)
5.   jeziki, podobni naravnemu jeziku ali jeziki UI
     (po 1990)
                     OSNOVE PROGRAMIRANJA
                                      PROGRAMSKI JEZIKI




• Programski jezik mora omogočiti
   – Opis problema
      • zajema opredelitev izhodiščnih podatkov in
        končni rezultat
   – Opis postopka za njegovo rešitev
      • vsebuje opis korakov, ki nas od izhodiščnih
        podatkov pripelje k rezultatom
                    OSNOVE PROGRAMIRANJA
                                   PROGRAMSKI JEZIKI IN ČLOVEK




• Nepostopkovni programski jezik
  (Prolog, LISP, SQL)
  – vsebujejo sredstva za opis podatkov in relacije
    med njimi
• Postopkovno programiranje (Pascal, Basic,
  Pyton, C, Java, Javascript,)
  – Vsebujejo izrazna sredstva za opredelitev
    podatkov in algoritmičnih gradnikov za opis
    postopka rešitve
                  OSNOVE PROGRAMIRANJA
                               PROGRAMSKI JEZIKI IN RAČUNALNIK




• Računalnik razume le program napisan v
  strojnem jeziku
• Strojni jezik ima dve manjši pomanjkljivosti:
  1. človeku težko razumljiv dvojiški zapis,
  2. odvisnost od uporabljenega mikroprocesorja.
                   OSNOVE PROGRAMIRANJA
                                PROGRAMSKI JEZIKI IN RAČUNALNIK

Strojni jezik
•   dve logični vrednosti = 0, 1
•   vsi ukazi = zaporedje 0 in 1
•   primer programa:
                        01110010
                        10011001
                        00100101
                        11001100
                        ...
                    OSNOVE PROGRAMIRANJA
                                 PROGRAMSKI JEZIKI IN RAČUNALNIK

Seštevanje dveh števil (procesor Pentium)
                   OSNOVE PROGRAMIRANJA
                                 PROGRAMSKI JEZIKI IN RAČUNALNIK

Prvi ukaz: mov eax,[$0043F808]
                     OSNOVE PROGRAMIRANJA
                                  PROGRAMSKI JEZIKI IN RAČUNALNIK

Drugi ukaz: add eax,[$0043F810]
                      OSNOVE PROGRAMIRANJA
                                   PROGRAMSKI JEZIKI IN RAČUNALNIK

Tretji ukaz: mov [$0043F80C],eax
                  OSNOVE PROGRAMIRANJA
                               PROGRAMSKI JEZIKI IN RAČUNALNIK




• Simbolno označevanje ukazov strojnega jezika
  imenujemo zbirni jezik ali assembler
• Zbirni jezik je za človeka bolj razumljiv kot
  strojni jezik
                     OSNOVE PROGRAMIRANJA
                                  PROGRAMSKI JEZIKI IN RAČUNALNIK

    Zbirni jezik
•   Vsakemu strojnemu ukazu so priredili
    besedno oznako (mnemonik)
•   npr. ADD, JP, INC, …
•   Program ZBIRNIK - prevajalnik
•   Vsak procesor ima svoj zbirni jezik
               move acc, #5
               add acc, #1
               move acc, #145
               ...
                     OSNOVE PROGRAMIRANJA
                                   PROGRAMSKI JEZIKI IN RAČUNALNIK


    Višji programski jeziki
•    Višji programski jeziki so se razvili z
     združitvijo več ukazov zbirnega jezika.

    – Neodvisni od procesorja - PRENOSLJIVOST
    – Prevajalnik!
    – PRIMERI: C, Java, JavaScript, Basic, Python,
      pascal, COBOL, Perl, PHP…
                      OSNOVE PROGRAMIRANJA
                                    PROGRAMSKI JEZIKI IN RAČUNALNIK


Jeziki četrte generacije
•   Jeziki četrte generacije so namenjeni reševanju
    posebnih problemov
•   Za reševanje problemov na določenem področju
•   Značilnosti:
    –   usmerjeni so k rezultatu, hitri
    –   namenjeni so natančno določenim nalogam
    –   zmogljiva strojna oprema
    –   tolmači
•   Npr.: za generiranje raznih poročil (poslovnih) -
    delo z bazami podatkov
•   Focus, SQL, ...
                     OSNOVE PROGRAMIRANJA
                                  PROGRAMSKI JEZIKI IN RAČUNALNIK



    Jeziki pete generacije – jeziki UI
•     Podobni naravnim (angleščina)
•     Strogo specializirani (sestavni deli programov
      za delo z bazami podatkov)
•     Dovoljujejo slovnične napake (zahtevajo
      dodatna pojasnila)
•     PRIMER: Cash Managment System
         OSNOVE PROGRAMIRANJA
                       PROGRAMSKI JEZIKI IN RAČUNALNIK




Časovni trak uporabe generacij jezikov
                           OSNOVE PROGRAMIRANJA
                                        PREVAJANJE PROGRAMSKIH JEZIKOV




•    S prevajalnim programom računalnik prevede
     program , zapisan v programskem jeziku, v
     strojni jezik.
•    Zahtevnost prevajalnikov
    –   Npr.: ukaz zbirnega jezika LA C1
       • prevajalnik namesto oznake LA napiše
           ustrezno dvojiško zaporedje, npr 1001
       • namesto imena spremenljivke C1 pa
           naslov, npr. 0011
•    Problem sintaktičnih napak
•    Načini prevajanja:
    – Prevajanje - prevajalnik (compiler)
    – Tolmačenje - tolmač (interpreter)
                   OSNOVE PROGRAMIRANJA
                                      PREVAJANJE PROGRAMSKIH JEZIKOV



                        Program v višjem
                       programskem jeziku
• Pomenskih ali
  semantičnih
                          prevajanje
  napak
  prevajalnik ne           Ali so v           da    Podatki o napakah
  zna odkriti.            programu
                           napake
                                    ne

                           Program v
                         strojnem jeziku



      Podatki         Izvajanje programa

                                                     Od programa v
                           rezultat                  višjem jeziku do
                                                         rezultata
                   OSNOVE PROGRAMIRANJA
                                    PREVAJALNIK IN TOLMAČ



• Prevajalnik celoten program naenkrat prevede
  v strojni jezik.
• Tolmač ali interpreter dela sproti, prevaja -
  tolmači v ukaze strojnega jezika.
• Razlika med prevajalnikom in tolmačem je
  predvsem v hitrosti izvajanja programa
  – tolmač stavke v notranjosti zanke vedno znova
    prevaja, prevajalnik pa to stori le enkrat
  – pri jezikih, ki se tolmačijo, pa laže odkrivamo
    napake v programu
                    OSNOVE PROGRAMIRANJA
                                           IZRAZI



•   jeziki četrte generacije
•   nepostopkovno programiranje
•   postopkovno programiranje
•   prevajalni program
•   prevajanje
•   semantična napaka
•   sintaktična napaka
•   strojni jezik
•   strukturirano programiranje
•   tolmačenje
•   višji programski jezik
•   zbirni jezik
                OSNOVE PROGRAMIRANJA
                              IZBIRA PROGRAMSKEGA JEZIKA




Izbira programskega jezika
 strukturirano programiranje, objektno
programiranje in uporabniški vmesnik;
 programski jezikI (Cobol, C++, Pascal,
Visual Basic, Java, JavaScript, Pyton…)
 kaj vpliva na njihov izbor;
                   OSNOVE PROGRAMIRANJA
                                 IZBIRA PROGRAMSKEGA JEZIKA




• Programski jezik izberemo glede na problem,
  ki ga rešujemo.
  – jezik mathematica je primeren za reševanje
    problemov, ki zahtevajo uporabo mat. postopkov
  – jezik SQL uporabljamo pri delu z bazami podatkov
  – jezik Java je primeren za programe, ki se
    uporabljajo na različnih računalnikih v omrežju
                   OSNOVE PROGRAMIRANJA
                                 PISANJE PROGRAMA - KODIRANJE




• Pisanja programa se lotimo, ko imamo:
  – opredeljen problem,
  – izdelan algoritem in
  – izbran programski jezik
• Algoritmi so hitro tako obsežni, da izgubimo
  pregled nad tem, kaj se v njih dogaja.
                 OSNOVE PROGRAMIRANJA
                                 POSTOPKI PRI PROGRAMIRANJU




• Strukturirano programiranje: razčlenjevanje
  algoritma (jasna notranja struktura)
• Objektno (predmetno) programiranje:
                    – objekti, lastnosti, metode;
                    – razredi objektov,
                       • hierarhija,
                       • dedovanje
• Dogodkovno programiranje
                   OSNOVE PROGRAMIRANJA
                                STRUKTURIRANO PROGRAMIRANJE




• Pri strukturiranem
  programiranju
  razgrajujemo problem,
  dokler ne pridemo do
  preprostih problemov.

                                   Strukturirano urejanje
                                          pričeske
                                 Pri urejanju pričeske frizerka
                                   lasišče najprej razdeli v
                                pramene, nato se osredotoči na
                                en sam pramen las, drugi pa jo
                                          ne zanimajo
                   OSNOVE PROGRAMIRANJA
                                  OBJEKTNO PROGRAMIRANJE




• Pri objektnem programiranju sestavlja
  program množica objektov
• Objekti so zgrajeni iz podatkov in metod
                    OSNOVE PROGRAMIRANJA
                                   OBJEKTNO PROGRAMIRANJE



• Osnovni element objektnega programiranja je
  objekt, ki ga definiramo kot strukturo struct ali
  razred class.
   – Razred je skupek pravil, ki opredeljujejo, katere
     spremenljivke in metode vsebujejo objekti tega
     razreda
   – Razred predmetov ima določene lastnosti skupine,
     v nekaterih pa se razlikujejo
   – V razredu so predmeti organizirani hierarhično
• Objekti dedujejo podatke in metode od svojih
  predhodnikov
         OSNOVE PROGRAMIRANJA
                        OBJEKTNO PROGRAMIRANJE




Zgled razreda objektov sadja
                  OSNOVE PROGRAMIRANJA
                                DOGODKOVNO PROGRAMIRANJE




• Programer med programiranjem ne predvidi,
  kako bo program tekel od začetka do konca,
  ampak o njegovem poteku neposredno odloča
  uporabnik programa
• Pri dogodkovnem programiranju se določen
  program sproži, ko se izvrši ustrezen dogodek.
   – Program je razdeljen na več manjših delov, od
     katerih vsak vsebuje navodila, potrebna za
     izvršitev določenega dogodka
                 OSNOVE PROGRAMIRANJA
                                        IZRAZI




Izrazi

• strukturirano programiranje
• objektno programiranje
• dogodkovno programiranje

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:71
posted:11/24/2011
language:Slovenian
pages:78