Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaNatália Bartané Megváltozta több, mint 10 éve
1
1 Mivel foglalkozunk a laborokon? 7. hét: Do-Loop-Until Do-Until-Looptömbök Function 7. hét: Do-Loop-Until és Do-Until-Loop ciklusok. Egy indexes tömbök, fájlból olvasás. Function. 8. hét: Function paraméteres Sub. Tömbök 8. hét: Function és paraméteres Sub. Tömbök(2) 9. hét: VBA makrók 9. hét: VBA makrók rögzítése és testreszabása 10. hét: Nov. 11. oktatási szünet a TDK konferencia miatt!! 11. hét: 11. hét: Gyakorlás a 2. géptermi beszámolóra 12. hét, nov. 25: 12. hét, nov. 25: 2. géptermi beszámoló
2
2 Function és paraméteres Sub Sub tobbvaltozo() Dim suly#, j% suly = 1.5 For j = 3 To 8 Cells(j, 1) = suly Cells(j, 2) = eger("kandur", suly) Cells(j, 3) = eger("cica", suly) suly = suly + 0.3 Next j End Sub Function eger(macska$, kg#) As Integer If macska = "kandur" Then eger = CInt(kg * 3.6) Else eger = CInt(kg * 2.4) End If End Function Function Kandúrok és cicalányok napi egérfogyasztása testsúlyuk szerint…(Function)
3
3 Macska-egér példa Függvénnyel Sub tobbvaltozo() Dim suly#, j% suly = 1.5 For j = 3 To 8 Cells(j, 1) = suly Cells(j, 2) = eger("kandur", suly) Cells(j, 3) = eger("cica", suly) suly = suly + 0.3 Next j End Sub Function eger(macska$, kg#) As Integer If macska = "kandur" Then eger = CInt(kg * 3.6) Else eger = CInt(kg * 2.4) End If End Function Sub eger2 (macska$, kg#, n%) If macska = "kandur" Then n = CInt(kg * 3.6) Else n = CInt(kg * 2.4) End If End Sub Sub tobbvaltozo() Dim suly#, j%, db% suly = 1.5 For j = 3 To 8 Cells(j, 1) = suly Call eger2("kandur", suly, db): Cells(j, 2) =db Call eger2("cica", suly, db): Cells(j, 3) =db suly = suly + 0.3 Next j End Sub és Eljárással output paraméter
4
4 Ha csak lokális változókat használunk: Sub Sub sokVektor() Dim a#(5, 3), b#(3), c#(5), k%, j%, OpenFor Input As #1 Open "adat.txt" For Input As #1 ‘ Itt beolvassuk és kiratjuk a és b elemeit Close #1 For j = 1 To 5 skalar(j, a, b, 3) c(j) = skalar(j, a, b, 3) Cells(j, 7) = c(j) Next j End Sub Functionx#(), y#(), Function skalar(sor%, x#(), y#(), n%) As Double Dim sum#, i% sum = 0 For i = 1 To n sum = sum + x(sor, i) * y(i) Next i skalar = sum End Function skalárszorzatok 1,0,1 1,3,2 -2,0,6 1,1,1 0,0,5 -3,1,4 Az adat.txt fájl A kiiratások A „megfelelő” tömböket föl kell venni a paraméterek listájára Tömbök fix indexhatárral, lokális és globális változók Öt vektor ( 3 ) mindegyikét szeretnénk megszorozni egy adott vektorral… Formális paraméterek Aktuális paraméterek
5
5 Tömbök fix indexhatárral, lokális és globális változók Option Explicit 'A modul globális változói Dim a#(5, 3), b#(3) 'A modul globális változói Function Function skalar(sor%, n%) As Double 'A skalar Function lokális változói Dim sum#, i% 'A skalar Function lokális változói sum = 0 For i = 1 To n : sum = sum + a(sor, i) * b(i) : Next i skalar = sum End Function Sub sokVektor Sub sokVektor() 'A főprogram lokális változói Dim c#(5), k%, j%, cim$, ures 'A főprogram lokális változói OpenFor Input As #1 Open "adat.txt" For Input As #1 Input #1, cim Input #1, cim : Cells(6, 1) = cim Input #1, b(1), b(2), b(3) For k = 1 To 3 : Cells(k + 1, 5) = b(k) : Next k 'Az adatfájl üres sorának kezelése Input #1, ures 'Az adatfájl üres sorának kezelése For j = 1 To 5 For k = 1 To 3 Input #1, a(j, k) Input #1, a(j, k) : Cells(j, k) = a(j, k) Next k Next j Close #1 For j = 1 To 5 skalar(j, 3) c(j) = skalar(j, 3) : Cells(j, 7) = c(j) Next j Cells(3, 4) = "*": Cells(3, 6) = "=": Cells(6, 1) = cim End Sub skalárszorzatok 1,0,1 1,3,2 -2,0,6 1,1,1 0,0,5 -3,1,4 Az adat.txt fájl A kiiratások Ha globális változókat használunk (pl. itt az input-tömbök deklarációjánál), ezeket a változókat a modul-lap bármely (al)programjában használhatjuk. Ha globális változókat használunk (pl. itt az input-tömbök deklarációjánál), ezeket a változókat a modul-lap bármely (al)programjában használhatjuk.
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.