1 / 43

IT Računalniško programiranje

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

trynt
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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ITRačunalniško programiranje Osnove programiranja in sintaksa Visual Basica Danijel Rebolj, FG 2007/2008

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

  3. Prvi program Sub ZdravoSvet ‘program, ki pozdravi svet print “Zdravo svet!” end sub

  4. Prvi program Sub ZdravoSvet ‘program, ki pozdravi svet Dim pozdrav as String pozdrav = “Zdravo svet!” print pozdrav end sub

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

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

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

  8. Spremenljivke – osnovni tipi

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

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

  11. Spremenljivke - območje • Veljavnost lahko določamo tudi s eksplicitnima ukazoma: • Publicveljavnost povsod (npr. v Excelu tudi na drugih listih) • Privatelokalna veljavnost

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

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

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

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

  16. Krmilne strukture • Sekvenca - zaporedje stavkov • Selekcija • gnezdenje • večkratna selekcija • Repeticija (Iteracija) • while, do - while • for

  17. Krmilne strukture: sekvenca Sekvenco predstavlja zaporedje (blok) stavkov, ki (običajno) sodijo skupaj. ‘blok stavki ‘konec bloka

  18. Krmilne strukture: sekvenca Vrste stavkov: • Prireditveni (prireditev spremelnjivke) • Vhodni (vnos vrednosti spremenljivk) • Izhodni (prikaz vrednosti spremenljivk) • Klicni (klic drugega modula) • Kontrolni (npr end, exit,...)

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

  20. Krmilne strukture: sekvenca • Aritmetični operatorji: + - * /^ • Primer aritmetičnega izraza:x = (1+(a+b)*(c+d)) ^0.5

  21. Krmilne strukture: sekvenca • Relacijski operatorji: = > < >= <= <>

  22. Krmilne strukture: sekvenca • Boolovi operatorji: AND OR NOT • Primer izraza: (D>F) AND (S<50.0) OR (A<>B)

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

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

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

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

  27. Krmilne strukture: selekcija if logični izrazthen stavki end if

  28. Krmilne strukture: selekcija if logični izraz then stavki else stavki end if

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

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

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

  32. Krmilne strukture: repeticija Do stavki Loop

  33. Krmilne strukture: repeticija Do While logični izraz stavki Loop

  34. Krmilne strukture: repeticija Do Until logični izraz stavki Loop

  35. Krmilne strukture: repeticija Do stavki Loop While log. izraz

  36. Krmilne strukture: repeticija Do stavki Loop Until log. izraz

  37. Krmilne strukture: repeticija FOR stevec = zacetek _ TO konec _ STEP korak ‘neobvezno stavki NEXT stevec

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

  39. Uporaba modulov Dve vrsti modulov s procedurami sta: • Podprogramsub ime (seznam spremenljivk) ...end sub • Funkcijafunction ime (seznam sprem.) AS tip...end function

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

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

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

  43. sub GP ... call PA ... spr=FB() ... end sub sub PA ... end sub function FB ... end function Uporaba modulov GP PA FB

More Related