rp&pb računalniško programiranje

Post on 16-Jan-2016

62 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

RP&PB Računalniško

programiranjeUvod: metode in orodja za

računalniško programiranje

Danijel Rebolj 2010

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

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

011000010110011110001110010110100010010111010110

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)

Programski jeziki – strojni jezikiIzvajanje programa

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

LDA 3220MLT 0012 STO 2423

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

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.)

Programski jezikiJeziki prihodnosti

Napovedprogramerjev za 2013

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

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)

“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)

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)

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

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.

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)

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

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

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

Primer enostavnega programaRazličice uporabniškega vmesnika

top related