rp&pb računalniško programiranje

21
RP&PB Računalniško programiranje Uvod: metode in orodja za računalniško programiranje Danijel Rebolj 2010

Upload: errol

Post on 16-Jan-2016

62 views

Category:

Documents


0 download

DESCRIPTION

RP&PB Računalniško programiranje. Uvod: metode in orodja za računalniško programiranje Danijel Rebolj 2010. Dodatni viri. M. Gams: Osnove dobrega programiranja. C Z, Ljubljana, 1985 http://en.wikipedia.org/wiki/Programming_language - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: RP&PB Računalniško programiranje

RP&PB Računalniško

programiranjeUvod: metode in orodja za

računalniško programiranje

Danijel Rebolj 2010

Page 2: RP&PB Računalniško programiranje

Dodatni viri

M. Gams: Osnove dobrega programiranja. CZ, Ljubljana, 1985

http://en.wikipedia.org/wiki/Programming_language

http://en.wikipedia.org/wiki/Timeline_of_programming_languages

Page 3: RP&PB Računalniško programiranje

Programski jezikiStrojni jezikipreprosta binarna koda,enostavno berljiv za strojtežko razumljiv za človeka

011000010110011110001110010110100010010111010110

Page 4: RP&PB Računalniško programiranje

Programski jeziki – strojni jezikiIzvajanje programa

centralni

procesor

hitri pomnilnik(RAM, ROM)

cen

traln

i ele

ktro

ns

ki

kom

ple

ks

osnovne I/O enote

zaslon

tipkovnicamiška

izhodne enote

tiskalnikirisalniki

zunanji pomnilniki

disk CD

podatkovnavodila (bus)

I/O

pod

sist

em

(peri

feri

ja)

Page 5: RP&PB Računalniško programiranje

Programski jeziki – strojni jezikiIzvajanje programa

Page 6: RP&PB Računalniško programiranje

Programski jezikiNizkonivojski jeziki tudi assembly languageše vedno na ravni strojnih ukazovrazumljivejši za človeka

LDA 3220MLT 0012 STO 2423

Page 7: RP&PB Računalniško programiranje

Programski jezikiVisokonivojski (visoki) jezikiSo na bistveno višji abstraktni ravni

kot nizkonivojski jezikiPreprosti za razumevanje in

uporabo (programiranje) za človekaNiso neposredno razumljivi

računalniku

P = L*H

Page 8: RP&PB Računalniško programiranje

Programski jezikiZnačilnosti visokih jezikovneodvisnost od vrste računalnika

prenosljivostpodobni so naravnim jezikomveliko število (preko 2000) –

nastali so zaradi različnih potreb (npr. podatkovno usmerjeni, algoritemski, funkcijski, logični itd.)

Page 9: RP&PB Računalniško programiranje
Page 10: RP&PB Računalniško programiranje

Programski jezikiJeziki prihodnosti

Napovedprogramerjev za 2013

Page 11: RP&PB Računalniško programiranje

Prevajalniki in združevalniki

Prevajalnik transformira izvorni program v semantično identičen strojni jezik.

Združevalnik poveže prevedene module. modul 1

modul 2

modul n

...

program v izvorni kodi

prevajalnik(compiler)

modul 1

modul 2

modul n

...

program v vmesni strojni kodi

združevalnik(linker)

program v strojni kodi

izvajalniprogram

sistemskaknjižnica

Page 12: RP&PB Računalniško programiranje

Prevajalniki in združevalniki

Primer: JAVATextPad: zapišemo program v

jeziku Java program.javaJavac: prevedemo program

program.java program.classJava: program.class + vsi potrebni

moduli (sprotno povezovanje)

Page 13: RP&PB Računalniško programiranje

“Klasično” programiranje

Temelji na pojmu algoritma, spremenljivke in Von Neumanovega stroja

Značilnosti: ročno načrtovanje, sekvenčno programiranje, sekvenčno izvajanje programov, ročno kodiranje, ročno upravljanje procesa programiranja

(kodiranje, prevajanje, združevanje in testiranje)

Page 14: RP&PB Računalniško programiranje

Orodja klasičnega programiranjaurejevalnik (EDI, EDIT)prevajalnik (Fortran, Cobol, Basic, C,

C++, Ada, Pascal, Lisp, Java,...)združevalnik (LINK, LNK)razhroščevalnik (DEBUG)obstajajo tudi kombinirana okolja za

podporo klasičnemu postopku progra-miranja (npr. LSED, TextPad, Bluefish)

Page 15: RP&PB Računalniško programiranje

Sintaksa in semantika

Pravila, ki določajo kaj je dovoljeno, imenujemo sintaksa jezika (slovnica)

Sintaktično pravilen program je tisti, ki upošteva sintaktična pravila

Pomen programa imenujemo njegovo semantiko (= programska logika)

Semantično pravilen program je tisti, ki počne, kar od njega pričakujemo

Page 16: RP&PB Računalniško programiranje

Ravni programiranja

Kreiranje kompleksnih programov je mogoče le, če predhodno določimo jasno splošno strukturo.

Načrtovanje splošne strukture programa (Top-down načrt) imenujemo tudi “programiranje v širšem smislu”

“Programiranje v ožjem smislu” (kodiranje), se nanaša na izvajanje detajlov načrta.

Page 17: RP&PB Računalniško programiranje

Programski gradniki

Podatki: Spremenljivke (reference na pomnilnik)

osnovni tipi (integer, double, string), izpeljani tipi (kombinacije osnovnih tipov),

datoteke (sekvenčne, direktne, indeksne).

Instrukcije: Krmilne strukture (sekvenca, selekcija,

repeticija) Moduli (podprogrami)

Page 18: RP&PB Računalniško programiranje

Primer enostavnega programaOsnova programa je algoritem za

izračun kvadratne enačbe:

a

Dbx

a

Dbx

cabD

cbxax

2,

2

4

:rešitev za Algoritem

0

21

2

2

Page 19: RP&PB Računalniško programiranje

Podatkovne strukture:Double a, b, c, D, x1, x2

Instrukcije (procedura):Input a, b, cD=b^2-4*a*cif D < 0 then

print “Ni rešitve…”else

x1=(-b-D^0.5)/(2*a)x2=(-b+D^0.5)/(2*a)print “Rešitev:”,x1, x2

end if

Primer enostavnega programa

Page 20: RP&PB Računalniško programiranje

Primer enostavnega programaKako to “vidi” računalnik:

a

b

c

D

x1

x2

1

2

3

4

5

input a,b,c

D=b*b-4*a*c

x1=(-b-D^0.5)/(2*a)x2=(-b+D^0.5)/(2*a)print x1,x2

1.0

2.0

-3.0

16.0-3.0

1.0

Page 21: RP&PB Računalniško programiranje

Primer enostavnega programaRazličice uporabniškega vmesnika