It ra unalni ko programiranje
Sponsored Links
This presentation is the property of its rightful owner.
1 / 43

IT Računalniško programiranje PowerPoint PPT Presentation


  • 152 Views
  • Uploaded on
  • Presentation posted in: General

IT Računalniško programiranje. Osnove programiranja in sintaksa Visual Basica Danijel Rebolj, FG 2007/2008. Literatura. U. Mesojedec: Visual basic, Pasadena, 2002 M. Prtenjak: Visual Basic za aplikacije, Desk, 1998 J . Walkbench: Excel 2003 power programming with VBA , Wiley , 2004

Download Presentation

IT Računalniško programiranje

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


ITRačunalniško programiranje

Osnove programiranja in sintaksa Visual Basica

Danijel Rebolj, FG 2007/2008


Literatura

  • U. Mesojedec: Visual basic, Pasadena, 2002

  • M. Prtenjak: Visual Basic za aplikacije, Desk, 1998

  • J. Walkbench: Excel 2003 power programming with VBA, Wiley, 2004

  • D. Rebolj: Šola VB 1-5. Win.ini, 1995


Prvi program

Sub ZdravoSvet

‘program, ki pozdravi svet

print “Zdravo svet!”

end sub


Prvi program

Sub ZdravoSvet

‘program, ki pozdravi svet

Dim pozdrav as String

pozdrav = “Zdravo svet!”

print pozdrav

end sub


Osnove sintakse VB

  • Osnovna struktura so podprogrami (sub) in druge vrste modulov

  • Vse strukture se praviloma začnejo s ključno besedo in končajo z end in ključno besedo (sub – end sub, if – end if)

  • V začetku vsakega modula so praviloma deklaracije podatkovnih struktur


Osnove sintakse VB

  • ‘ začetek komentarja (kjerkoli v vrstici)

  • Vrstic ne zaključujemo s posebnim znakom (kot npr. pri Pascalu, C++ ali Javi s ;), zato potrebujemo poseben znak za nadaljevanje vrstice, podčrtaj _

  • Z : ločimo stavke v isti vrstici

  • VB ni “občutljiv” na velike in male črke (ni “case sensitive”)


Spremenljivke

  • Spremenljivka je referenca na določene pomnilne celice

  • Spremenljivke so različnih tipov

  • Tip izberemo glede na vrsto podatka, ki ga spremenljivka predstavlja

  • Spremenljivko pred uporabo deklariramo (določimo ime in tip) in inicializiramo (priredimo vrednost)


Spremenljivke – osnovni tipi


Spremenljivke - deklaracija

  • DIM ime AS tip

  • TYPE imeTipa ‘uporabniški tipime1 AS tip1...END TYPE

  • Zapisovanje konstant:123, -123.45, 1.2345E2, “niz znakov”, TRUE, FALSE


Spremenljivke - območje

  • Spremenljivka ima omejeno območje veljave

  • Veljavna je v območju, kjer jo deklariramo

    • Lokalne spremenljivke deklariramo v modulu (npr. podprogramu)

    • Globalne spremenljivke deklariramo na ravni programa (nad moduli)


Spremenljivke - območje

  • Veljavnost lahko določamo tudi s eksplicitnima ukazoma:

  • Publicveljavnost povsod (npr. v Excelu tudi na drugih listih)

  • Privatelokalna veljavnost


Spremenljivke - polja

  • DIM ime (im1, im2,...,imn)

  • spodnji indeksi so vedno = 0

  • im so zgornji indeksi!

  • Primeri:DIM M1(10,10) AS DOUBLEDIM Naslovi(100) AS STRINGDIM Koord(3,100) AS SINGLE


Spremenljivke - primer

Sub PrireditevVrednosti()

Dim x(3) As Double ‘3 je zg. indeks

For i = 0 To 3

x(i) = i

Cells(i+1, i+1) = x(i)

‘spodnji indeks celic Excela je 1!!!

Next i

End Sub


Spremenljivke - primer

Sub PrireditevVrednosti()

Dim x(3) As Double

For i = 1 To 3

x(i) = i ‘indeks 0 ignoriramo

Cells(i, i) = x(i) ‘s tem_

dosežemo kompatibilnost indeksov

Next i

End Sub


Spremenljivke - polja

Dinamična deklaracija polja

  • DIM ime ()

  • id1=5: id2=4ReDIM ime (id1,id2)v programu določimo dimenzije

  • ReDIM Preserve ime (id3,id4)prejšnja vsebina se ohrani


Krmilne strukture

  • Sekvenca - zaporedje stavkov

  • Selekcija

    • gnezdenje

    • večkratna selekcija

  • Repeticija (Iteracija)

    • while, do - while

    • for


Krmilne strukture: sekvenca

Sekvenco predstavlja zaporedje (blok) stavkov, ki (običajno) sodijo skupaj.

‘blok

stavki

‘konec bloka


Krmilne strukture: sekvenca

Vrste stavkov:

  • Prireditveni (prireditev spremelnjivke)

  • Vhodni (vnos vrednosti spremenljivk)

  • Izhodni (prikaz vrednosti spremenljivk)

  • Klicni (klic drugega modula)

  • Kontrolni (npr end, exit,...)


Krmilne strukture: sekvenca

  • Prireditev: spremenljivka = izraz

  • Spremenljivka in izraz naj bosta istega tipa

  • Mešanje tipov v izrazu je podprto s konverzijo tipov

  • V izrazu nastopajo spremenljivke, konstante, funkcije in operatorji


Krmilne strukture: sekvenca

  • Aritmetični operatorji:

    +-*/^

  • Primer aritmetičnega izraza:x = (1+(a+b)*(c+d)) ^0.5


Krmilne strukture: sekvenca

  • Relacijski operatorji:

    =

    >

    <

    >=

    <=

    <>


Krmilne strukture: sekvenca

  • Boolovi operatorji:

    AND

    OR

    NOT

  • Primer izraza:

    (D>F) AND (S<50.0) OR (A<>B)


Krmilne strukture: sekvenca

  • Primeri prireditev:

    a = a + 15.0f = f + 1g = (a+b)*(x+y)/1.2log = (A = B) AND (L < 10.0)Rob(3).zacOglisce = 3

  • Naloga: napiši podprogram za zamenjavo vrednosti dveh spremeljivk


Krmilne strukture: sekvenca

  • Vhodni stavek (VB bere na klasičen način le iz datoteke)

    Input #datoteka, a, b, c

  • Izhodni stavek

    Print “Vrednosti so:”; a,b,c


Krmilne strukture: sekvenca

  • Vhodni in izhodni stavki v VBA so odvisni od razpoložljivih objektov

  • V programu Excel najpogosteje uporabljamo celice

    a = ActiveCellActiveCell = a*10i = 7Cells(i,i) = a*i


Krmilne strukture: sekvenca

  • Funkcije: glede na tip spremenljivke so v VB vgrajene

    • matematične funkcije

    • funkcije z nizi

    • funkcije z datumi

      c = SQR(a+b) + a*bdolzina = len(“To je niz”)+2


Krmilne strukture: selekcija

if logični izrazthen

stavki

end if


Krmilne strukture: selekcija

if logični izraz then

stavki

else

stavki

end if


Krmilne strukture: selekcija

if logični izraz then‘Večkratna

stavki ‘selekcija.

elseif logični izraz then

‘Ta del se lahko večkrat ponovi.

stavki

else

stavki

end if


Krmilne strukture: gnezdenje

  • Gnezdenje imenujemo strukturo z več selekcijami, ki so vgnezdene ena v drugi

  • Selekcije se ne smejo prekrivati (en if – end if blok se mora zaključiti znotraj drugega, zunanjega)

  • Primer: prefinjevanje pogojev


Primeri uporabe selekcije

  • Izdelava različnih rešitev algoritma:Štipendijo Marie Curie prejmejo študentke s povprečno oceno 8 ali več in prihodkom na družinskega člana, ki je nižji od danega praga

  • Izdelava programa za račun kvadratne enačbe


Krmilne strukture: repeticija

Do

stavki

Loop


Krmilne strukture: repeticija

Do While logični izraz

stavki

Loop


Krmilne strukture: repeticija

Do Until logični izraz

stavki

Loop


Krmilne strukture: repeticija

Do

stavki

Loop While log. izraz


Krmilne strukture: repeticija

Do

stavki

Loop Until log. izraz


Krmilne strukture: repeticija

FOR stevec = zacetek _

TO konec _

STEP korak ‘neobvezno

stavki

NEXT stevec


Repeticija - primer

Sub CommandButton1_Click()

For i = 1 To 10

z = int((i/2 - int(i/2))*2 + 1)

For j = z to 10 Step 2

Cells(i, j) = “X”

Next j

Next i

End Sub


Uporaba modulov

Dve vrsti modulov s procedurami sta:

  • Podprogramsub ime (seznam spremenljivk)...end sub

  • Funkcijafunction ime (seznam sprem.) AS tip...end function


Uporaba modulov: sub

Sub KvadEn (a,b,c,x1,x2)

Dim D as Double

D=b^2-4*a*c

if D < 0 then

print “Ni rešitve…”

else

x1=(-b-SQR(D))/(2*a)

x2=(-b+SQR(D))/(2*a)

print “Rešitev:”,x1, x2

end if

end sub


Uporaba modulov: function

  • funkcija je posebna oblika procedure, ki vrne vrednost

  • Primer:

    FUNCTION Fakulteta (n) AS double

    DIM i AS integer‘števec

    Fakulteta = 1

    FOR i = 1 TO n

    Fakulteta = Fakulteta * i

    NEXT i

    END FUNCTION


Uporaba modulov

  • Podprogram ali funkcijo lahko kadarkoli pokličemo iz kateregakoli drugega modula, npr:

    call KvadEn (2,-3,1,r1,r2)

    rezultat = faktoriela (33)

  • Spremenljivke “prenašamo” kot parametre (argumente)

  • Kadar modul kliče samega sebe, pravimo temu rekurzija.


sub GP

...

call PA

...

spr=FB()

...

end sub

sub PA

...

end sub

function FB

...

end function

Uporaba modulov

GP

PA

FB


  • Login