Barna Róbert KE GTK Informatika Tanszék Pénzügyi feladatok VBA támogatása 7. előadás.

Slides:



Advertisements
Hasonló előadás
Szerver oldali programozás
Advertisements

Definíciók: Algoritmus: bármely véges sok lépéssel leírható tevékenység. Olyan pontos előírás, amely megmondja, hogy egy adott típushoz tartozó feladat.
Algoritmusok.
Adatbázisrendszerek elméleti alapjai 2. előadás
Összefoglalás 1. Pascal program szerkezete 2. Pascal típusai
Matematika és Tánc Felkészítő tanár: Komáromi Annamária
Gépelemek II. előadás 6-7.hét
3. előadás (2005. március 1.) Utasítások, tömbök
Számítástechnika Levelezőknek
BMEEOVKMKM4 Házi feladat megoldás áttekintés
Benczúr Zsolt VBA gyorstalpaló Benczúr Zsolt
Adatbázisrendszerek elméleti alapjai 5. előadás
Visual Basic for Application (VBA)
Programozási alapismeretek 7. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 7. előadás2/  Sorozatszámítás.
Programozás alapjai.
C A C nyelv utasításai.
C A C nyelv utasításai. Ismétlés Utasítások csoportosítása.
Egy feladat megoldásának gondolatmenete. Feladat: Generáljuk véletlen számokat 1 és 6 között, amíg legalább 10 darab egyes és 10 darab hatos nem lesz.
Készítette: Pető László
Java programozási nyelv 2. rész – Vezérlő szerkezetek
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
Fuzzy halmazok. 4. előadás2 3 4 Egy hagyományos halmazEgy Fuzzy halmaz.
Programozás I. Ciklusok
ISZAM III.évf. részére Bunkóczi László
C nyelv utasításai.
Alapszint 2.  Készíts makrót, ami a kijelölt cellákat egybenyitja, a tartalmat vízszintesen és függőlegesen középre igazítja és 12 pontos betűméretűre.
Ismétlő struktúrák.
Ismétlés.
Ciklusok: 2. Előltesztelő ciklus
Az algoritmusok áttekinthető formában történő leírására szolgáló eszközök Páll Boglárka.
ismétlődő (azonos vagy hasonló) tevékenységek megvalósítására szolgál
Tömbök és programozási tételek
Ciklusok (iterációk).
Összetett adattípusok
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Turbo Pascal Indítás: C:\LANGS\Turbo Pascal Turbo Pascal.
Java programozási nyelv Vezérlési szerkezetek
Algoritmusok.
Termelő-fogysztó modell. A probléma absztrakt megfogalmazása: informális leírás. Adott egy N elemű közösen használt tároló, N  1. Adott a folyamatoknak.
Objektum orientált programozás
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,
Pénzügyi feladatok VBA támogatása Barna Róbert KE GTK
A Visual Basic nyelvi elemei
Pénzügyi feladatok VBA támogatása Barna Róbert KE GTK
Osztott adatbázisok.  Gyors ismétlés: teljes redukáló  Teljes redukáló költsége  Természetes összekapcsolások vetítése  Természetes összekapcsolások.
Pénzügyi feladatok VBA támogatása Barna Róbert KE GTK
Barna Róbert KE GTK Informatika Tanszék Pénzügyi feladatok VBA támogatása 8. előadás.
Török Katalin és Marosi Nóra 11/c. Pascal: Az es években megjelent magas szintű programozási nyelv, közel áll az emberi gondolkodáshoz. Nevét.
Barna Róbert KE GTK Informatika Tanszék Pénzügyi feladatok VBA támogatása 5. előadás.
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,
Pénzügyi feladatok VBA támogatása Barna Róbert KE GTK
Máté: Orvosi képfeldolgozás12. előadás1 Regisztrációs probléma Geometriai viszony meghatározása képek között. Megnevezései: kép regisztráció (image registration),
1 Mivel foglalkoz(t)unk a laborokon? 1.Labor: Word alapok Excel alapok: Excel alapok: Cellahivatkozás, munkalapfüggvény, diagram varázsló, trendvonal 2.
Excel programozás (makró)
C++2. Ciklusok elöltesztelő (for, while) A ciklusmag feldolgozása előtt történik a vizsgálat  lehet, hogy egyszer sem fut le. A soronkövetkező iteráció.
1 Függvények használata – az első függvénynél a formulát háromszor be kell írni, rendre az x, x+h, x-h argumentumokkal, – a második függvénynél az új (feltételes.
Az 5,6,7 laborok VBA anyagának összefoglalása
1 Mivel foglalkoz(t)unk a laborokon? 1.Labor: Word alapok Excel alapok: Excel alapok: Cellahivatkozás, munkalapfüggvény, diagram varázsló, trendvonal 2.
Gépészeti informatika (BMEGEMIBXGI)
Excel programozás (makró)
Algoritmizálás.
Bevezetés a programozásba Algoritmikus gondolkodás
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
Változók.
ITERÁCIÓ.
Informatikai gyakorlatok 11. évfolyam
Informatikai gyakorlatok 11. évfolyam
Előadás másolata:

Barna Róbert KE GTK Informatika Tanszék Pénzügyi feladatok VBA támogatása 7. előadás

Vezérlő utasítások Ciklusképzés Ciklusokat akkor alakítunk ki, ha egy utasításcsoportot (ciklusmagot) - valamilyen feltétel teljesülése esetén - esetleg többször meg kell ismételni. A ciklusszervező utasítások a ciklusmag utolsó utasításának végrehajtása után - a ciklusfeltételtől függően - visszavezérlik a számítógépet a ciklus első utasítására, ismétlés céljából. A VBA nyelvben a ciklusok két típusa létezik: a számlálós, illetve a feltételes ciklus. Pénzügyi feladatok VBA támogatása – 7. előadás3 / 27

Vezérlő utasítások Számlálós ciklus For kulcsszóval kell indítani. Ezek mindig elöltesztelők, de további két alesetük van. Pénzügyi feladatok VBA támogatása – 7. előadás4 / 27

Vezérlő utasítások Számlálós ciklus 1 Az első esetben konkrétan tudjuk az ismétlések számát: For cv = kezd To vég [Step lépés] Ciklusmag Next [cv] Pénzügyi feladatok VBA támogatása – 7. előadás5 / 27

Vezérlő utasítások Számlálós ciklus 1 A lépéseket számláló cv ciklusváltozó kötelezően numerikus (nem feltétlenül egész) típusú de nem lehet sem tömb, sem saját típusú változó eleme. A Step kulcsszó utáni lépés paraméter a ciklusváltozó „lépését”, változását határozza meg; ugyancsak kötelezően numerikus, és negatív is lehet. Értéke alapértelmezésben + 1, ezt nem kell megadni. Pénzügyi feladatok VBA támogatása – 7. előadás6 / 27

Vezérlő utasítások Számlálós ciklus 1 A vég paraméter a ciklusváltozó lehetséges legnagyobb, illetve legkisebb értékét szabja meg. A ciklus a következőképpen zajlik: 1. Induláskor a ciklusváltozó felveszi a kezdőértéket ( kezd ). 2. Ha a ciklusváltozó értéke pozitív lépés esetén nem nagyobb, negatív lépés esetén nem kisebb a végértéknél, (vagyis egyenlők) a ciklusmag egyszer lefut. Pénzügyi feladatok VBA támogatása – 7. előadás7 / 27

Vezérlő utasítások Számlálós ciklus 1 3. A Next kulcsszó elérésekor a VBA hozzáadja a ciklusváltozóhoz a lépés -t és megismétli az előző vizsgálatot. 4. A ciklus akkor ér véget, ha a ciklusváltozó értéke a megfelelő irányban átlépte a végértéket. Pénzügyi feladatok VBA támogatása – 7. előadás8 / 27

Vezérlő utasítások Számlálós ciklus 1 A mondottakból következik, hogy ha a lépés pozitív és a vég > kezd, illetve ha a lépés negatív és a vég < kezd feltétel nem teljesül, a ciklus egyszer sem fut le. Pénzügyi feladatok VBA támogatása – 7. előadás9 / 27

Vezérlő utasítások Számlálós ciklus 1 Ellentétben a legtöbb magasszintű nyelvvel, az ilyen ciklusok belsejében tetszőlegesen megváltoztatható a ciklusváltozó értéke; így lehet a legegyszerűbben kialakítani végtelen ciklusokat. Kerüljük az ilyen trükköket: kibogozhatatlan hibákat eredményezhetnek. Pénzügyi feladatok VBA támogatása – 7. előadás10 / 27

Vezérlő utasítások Számlálós ciklus 2 A számlálós ciklus másik esete, amikor az ismétlések számát konkrétan nem ismerjük, csak azt tudjuk, hogy egy objektumhalmaz mely elemeivel kell valamilyen műveletet végezni: For Each elem In objektumhalmaz ciklusmag Next [elem] Pénzügyi feladatok VBA támogatása – 7. előadás11 / 27

Vezérlő utasítások Számlálós ciklus 2 Az objektumhalmaz tetszőleges - kivéve felhasználói - típusú tömb is, az elem Object vagy Variant, tömbök esetében csak Variant típusú változó lehet. A ciklus annyiszor fut le, ahány elemből áll a halmaz, illetve a tömb, üres halmazra például egyszer sem. Pénzügyi feladatok VBA támogatása – 7. előadás12 / 27

Vezérlő utasítások Számlálós ciklus 2 Pontosabban az a helyzet, hogy a ciklusmagba írt feltétellel kiválaszthatjuk a halmaz feldolgozandó elemeit. Az elem változó minden lefutáskor hozzárendelődik a csoport következő kijelölt objektumához, amelyet ezután rajta keresztül vizsgálhatunk, a ciklusmagba írt utasításokkal. Pénzügyi feladatok VBA támogatása – 7. előadás13 / 27

Vezérlő utasítások Számlálós ciklus 2 For...Each cikluson belül tilos értéket adni a ciklusváltozónak! A Next kulcsszó után sosem kötelező kiírni a ciklusváltozót, de - különösen egymásba ágyazott ciklusok esetében - ajánlatos, mert ez növeli az áttekinthetőséget és megkönnyíti a hibakeresést. Pénzügyi feladatok VBA támogatása – 7. előadás14 / 27

Vezérlő utasítások Számlálós ciklus 2 Tipikus eset, amikor egy párbeszédlapon ( Form ) minden választógombot ( Optionbutton ) kikapcsolt állapotba állítunk egy makróval. A választógomb állapotát Value tulajdonságával lehet beállítani xlOff = „kikapcsolva”, xlOn = „bekapcsolva”. Pénzügyi feladatok VBA támogatása – 7. előadás15 / 27

Vezérlő utasítások Számlálós ciklus 2 Sub alaphelyzet() Dim obj As Object For Each obj In Form1 If obj.Name Like ”Optionbutton” Then obj.Value = xlOff End If Next obj End Sub Pénzügyi feladatok VBA támogatása – 7. előadás16 / 27

Vezérlő utasítások Feltételes ciklus A feltételes ciklusok közül négy Do kulcsszóval kezdődik, és aszerint különböznek, hogy elöl- vagy hátultesztelő formában írjuk-e meg, illetve hogy a ciklusmagot a feltétel teljesülése ( While ) vagy nem teljesülése ( Until ) esetén kívánjuk-e megismételni. A ciklus végét mindegyik esetben Loop kulcsszó jelzi. Egy további, ötödik eset az elöltesztelő, teljesülő feltétel mellett lefutó While ciklus, amely a Wend kulcsszóval ér véget. Pénzügyi feladatok VBA támogatása – 7. előadás17 / 27

Vezérlő utasítások Feltételes ciklus 1 Do While feltétel ciklusmag Loop Elöltesztelő. Addig fut amíg a feltétel teljesül. Pénzügyi feladatok VBA támogatása – 7. előadás18 / 27

Vezérlő utasítások Feltételes ciklus 2 Do Until feltétel ciklusmag Loop Elöltesztelő. Addig fut amíg a feltétel nem teljesül. Pénzügyi feladatok VBA támogatása – 7. előadás19 / 27

Vezérlő utasítások Feltételes ciklus 3 While feltétel ciklusmag Wend Addig fut amíg a feltétel teljesül (csak írásmódban más mint az első). Elöltesztelő. Pénzügyi feladatok VBA támogatása – 7. előadás20 / 27

Vezérlő utasítások Feltételes ciklus 4 Do ciklusmag Loop While feltétel Addig fut amíg a feltétel teljesül. Hátultesztelő. Pénzügyi feladatok VBA támogatása – 7. előadás21 / 27

Vezérlő utasítások Feltételes ciklus 5 Do ciklusmag Loop Until feltétel Addig fut amíg a feltétel nem teljesül. Hátultesztelő. Pénzügyi feladatok VBA támogatása – 7. előadás22 / 27

Vezérlő utasítások Feltételes ciklus A hátultesztelő ciklusok legalább egyszer lefutnak. A feltétel mind az öt esetben tetszőleges, érvényes logikai kifejezés lehet. Pénzügyi feladatok VBA támogatása – 7. előadás23 / 27

Vezérlő utasítások Feltételes ciklus A While - Wend típus kivételével, elvileg megengedett bármelyik ciklus belsejébe egy címkére beugrani a ciklusfej megkerülésével is. Ehhez ugró utasítást kellene használni (később), a strukturált programozásban azonban ez (megjósolhatatlan következményeik miatt) tilos! Pénzügyi feladatok VBA támogatása – 7. előadás24 / 27

Vezérlő utasítások Feltételes ciklus A While - Wend típus kivételével bármelyik ciklus megszakítható a végrehajtás bármely pontján, típusától függően - az Exit For, illetve az Exit Do utasítással, amely rendszerint valamilyen feltételhez kötődik: If feltétel Then Exit {For|Do} Pénzügyi feladatok VBA támogatása – 7. előadás25 /27

Vezérlő utasítások Feltételes ciklus Egymásba ágyazott ciklusok megszakítása esetén a vezérlés az eggyel magasabb szintű ciklusba kerül, a megszakított ciklus Next, illetve Loop utasítását követő sorra. A ciklusok - típustól függetlenül - tetszőleges mélységben egymásba ágyazhatók. Pénzügyi feladatok VBA támogatása – 7. előadás26 /27

Köszönöm a figyelmet! Folyt köv. Pénzügyi feladatok VBA támogatása – 7. előadás27 / 27