Programozás és makrók

Hasonló dokumentumok
Programozás és makrók

A C# programozási nyelv alapjai

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

B I T M A N B I v: T M A N

SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS

Programozás alapjai (ANSI C)

Bánsághi Anna 2014 Bánsághi Anna 1 of 68

Programozási alapismeretek 1. előadás

Algoritmusok Tervezése. 4. Előadás Visual Basic 1. Dr. Bécsi Tamás

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?

Algoritmizálás és adatmodellezés tanítása 1. előadás

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

Programzás I gyakorlat

C programozás. 1 óra Bevezetés

Fordítóprogramok. Aszalós László szeptember 7.

1. Jelölje meg az összes igaz állítást a következők közül!

Adatbázis és szoftverfejlesztés elmélet

Webprogramozás szakkör

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása

Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek

Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Készítette: Nagy Tibor István Felhasznált irodalom: Kotsis Domokos: OOP diasor Zsakó L., Szlávi P.: Mikrológia 19.

Java programozási nyelv

Mutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában

Utasítások. Excel VII. Visual Basic programozás alapok. A Visual Basic-kel megoldható feladatok típusai Objektumok, változók Alprogramok

Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.

A szoftverfejlesztés eszközei

A PROGRAMOZÁS ALAPJAI 3. Készítette: Vénné Meskó Katalin

Programozási nyelvek 6. előadás

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe

Occam 1. Készítette: Szabó Éva

A C programozási nyelv I. Bevezetés

A C programozási nyelv I. Bevezetés

Bevezetés az informatikába

Programozási nyelvek a közoktatásban alapfogalmak I. előadás

Makrók használata az Excelben - Makróhibák kezelése, biztonságos jelszavak generálása

Programozás alapjai Bevezetés

Programozási alapismeretek. 1. előadás. A problémamegoldás lépései. A programkészítés folyamata. Az algoritmus fogalma. Nyelvi szintek.

Programozás alapjai. 5. előadás

Szoftver-technológia I.

Programozási segédlet

S z á m í t ó g é p e s a l a p i s m e r e t e k

INFORMATIKAI ALAPISMERETEK

B I T M A N B I v: T M A N

Programozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism)

Függvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3)

Programozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2)

SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS

Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.

Adatbázis rendszerek. dr. Siki Zoltán

Információtartalom vázlata

Informatika tanítási módszerek

ALGORITMIKUS SZERKEZETEK ELÁGAZÁSOK, CIKLUSOK, FÜGGVÉNYEK

Bevezetés a programozásba I.

MS ACCESS 2010 ADATBÁZIS-KEZELÉS ELMÉLET SZE INFORMATIKAI KÉPZÉS 1

INFORMATIKAI ALAPISMERETEK

Algoritmusok, adatszerkezetek, objektumok

A szerzõrõl... xi Bevezetés... xiii

Bevezetés. Dr. Iványi Péter

Programozás I. 1. előadás: Algoritmusok alapjai. Sergyán Szabolcs

Már megismert fogalmak áttekintése

Java I. A Java programozási nyelv

C programozási nyelv Pointerek, tömbök, pointer aritmetika

Hatékonyság 1. előadás

Mintavételes szabályozás mikrovezérlő segítségével

Törley Gábor PROGRAMOZÁSI NYELVEK, KÖRNYEZETEK KIFEJEZŐEREJÉNEK VIZSGÁLATA

Bevezetés a programozásba

1. Bevezetés szeptember 9. BME Fizika Intézet. Szám. szim. labor ea. Tőke Csaba. Tudnivalók. feladat. Tematika. Moodle Házi feladatok

Felvételi tematika INFORMATIKA

A program valamilyen feladat, probléma megoldására készül, általános szerkezete: INPUT ALGORITMUS OTUPUT

Kiegészítő előadás. Vizsgabemutató VBA. Dr. Kallós Gábor, Fehérvári Arnold, Pusztai Pál Krankovits Melinda. Széchenyi István Egyetem

Szerző. Varga Péter ETR azonosító: VAPQAAI.ELTE cím: Név: Kurzuskód:

1. Template (sablon) 1.1. Függvénysablon Függvénysablon példányosítás Osztálysablon

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter

Adatbázis és szoftverfejlesztés elmélet. Programozási tételek

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double

Programfejlesztési Modellek

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós augusztus 29. Széchenyi István Egyetem, Gy r

Adattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14.

Programozási nyelvek (ADA)

AZ ALGORITMUS. az eredményt szolgáltatja

Szoftver karbantartási lépések ellenőrzése

Funkcionális és logikai programozás. { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem }

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós február 18. Széchenyi István Egyetem, Gy r

Programozás alapjai. 2. előadás

Széchenyi István Szakképző Iskola

8. gyakorlat Pointerek, dinamikus memóriakezelés

Programozás I. gyakorlat

Kézikönyv. Szelekciós operátorok használata

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)

Programozás I. gyakorlat

Programozás alapjai. 7. előadás

Tájékoztató. Használható segédeszköz: számológép

BASH script programozás II. Vezérlési szerkezetek

AWK programozás, minták, vezérlési szerkezetek

A programozás alapjai

ESEMÉNY VEZÉRELT ALKALMAZÁSOK FEJLESZTÉSE I. Bevezetés. Készítette: Gregorics Tibor

Vizuális, eseményvezérelt programozás XI.

INFORMATIKAI ALAPISMERETEK

Átírás:

és makrók Dr. Kallós Gábor 2008-2009. Bevezetés Eml.: hagyma-modell, programnyelvek, rendszerközeli szoftverek Problémamegoldás a számítógép segítségével dott egy probléma Mit tud a gép? Milyen nyelven programozható feladat mely részeit célszerű számítógéppel megoldani Célszerű-e esetleg átfogalmazni a problémát, hogy általánosabb megoldást kapjunk, ami később más esetekre is jó lesz Általában: elemzés és értelmezés (megoldás gép nélkül), adatszerkezet, algoritmuskészítés, kódolás, tesztelés, javítás/karbantartás (ld. még később is) Program utasítások sorozata, amelyet a gép végrehajt, és ezzel (jó esetben) a kiindulási adatokból előállítja a keresett megoldást lgoritmus a feladat megoldásának elméleti leírása, géptől független módon (algoritmus-leíró nyelv ill. szabvány, szöveges vagy rajzos formában) datszerkezet milyen adatokból kell kiindulni, milyen közbülső adatok, részeredmények kiszámítása szükséges 2 adattípusok datok, adattípusok Konstans Fix módon beírt adat Változó, jellemzői: év (azonosító) hogyan tárolja a gép az adatot a memóriában, milyen műveletek végezhetők vele Memóriaterület (itt található a változó értéke) z adattípusok csoportosítása (leggyakrabban, kicsit leegyszerűsítve ) Egyszerű, valós, logikai, karakter (jel), sztring Összetett Tömb (sztring) Sorba vagy táblázatba rendezett azonos típusú, egyszerű adatok tárolására (az elrendezés jellegét a dimenzió adja meg), az adatok indexelhetők, hivatkozás: [index] Halmaz (általában csak egész ill. jel típusból) Műveletek umerikus adatokra: +, -, *, /, ^ és még mod és div Sztringekre és jelekre: összefűzés Logikai adatokra: mint korábban Halmazokra: unió, metszet, különbség, eleme-e? Továbbá még: relációk (hasonlítások), függvények (pl. RDOM, SQRT, T, LEFT, RGHT, LEGTH stb.) Kifejezések, kiértékelés: precedencia és balról-jobbra szabály 3 z algoritmus elemei laptevékenységek Beolvasás, kiírás, értékadás (automatikus konverzióval) Vezérlőtevékenységek Szekvencia az eredeti (összetett) tevékenység egyszerűbb (akár: elemi) tevékenységek sorozatára bontható fel Szelekció (elágazás) egy logikai kifejezés értékétől függően kettő vagy néhány ág közül kiválasztjuk az aktuálisan végrehajtandót teráció (ciklus) a feladat megoldása egy tevékenység ismétlődő végrehajtását jelenti Leírás (pszeudokód, egyszerű lehetőség) be: i; ki: j ha log. kif. akkor tev.1. különben tev.2. elágazás vége ciklus amíg log. kif. ciklusmag ciklus vége Előltesztelős ciklus, bennmaradási feltétel, spec. eset: számlálós ciklus ciklus i=1-től n-ig ciklusmag ciklus vége ciklus ciklusmag amíg nem log. kif. ciklus vége Hátultesztelős ciklus, kilépési feltétel Minden struktúrának van eleje és vége! 4 példa algoritmusok 1. példa: a legnagyobb elem meghatározása Feladat: határozzuk meg, hogy a bekért pozitív számok közül (n db) melyik a legnagyobb! Ötlet: 0 lesz kezdetben a legnagyobb (!). Ezután vesszük sorra a számokat, és aktuálisat hasonlítjuk az eddigi legnagyobbal. Ha találunk nagyobbat, akkor az lesz az új legnagyobb. ktuális elem (ktuális) maximum MX, output 2. példa: elemek összege és átlaga Feladat: határozzuk meg bekért számok közül (n db) a pozitívak összegét és átlagát! Ötlet: kezdetben az összeg 0, és az aktuális részösszeghez mindig hozzáadjuk az éppen bekért elemet, ha az pozitív. végén kiírjuk az összeget és az átlagot, ha volt pozitív elem. Ha nem volt pozitív elem a sorozatban, akkor nincs átlag. ktuális elem Pozitív elemek száma Pozitív elemek összege Pozitív elemek átlaga DRB TLG OSSZEG, output Output 5 6 1

2. példa: elemek összege és átlaga 3. példa: faktoriális számítása Feladat: határozzuk meg, egy bekért nemnegatív egész szám (n) faktoriálisát! egatív n számot a bekérésnél ne fogadjunk el! Ötlet: tudjuk, hogy n! = 1*2*3* (n-1)*n. szorzat értéke kezdetben 1. Ezután vesszük sorra a számokat, és aktuálisat összeszorozzuk a részszorzattal. szükséges jó n számot egy hátultesztelős ciklussal garantáljuk. (ktuális) szorzat SZORZT, output 7 8 4. példa: lottószámok generálása 4. példa: lottószámok generálása Feladat: generáljunk lottószámokat! (Megj: már kihúzott számot nem lehet kihúzni újra.) Ötlet: véletlen számokat állítunk elő, ezekből képezzük a lottószámokat. Ha egy szám már szerepelt az eddig előállítottak között, akkor helyette újat generálunk mindaddig, amíg jó számot nem kapunk. Lottószámok Tömb (egész), output Éppen előállított szám SEGED Jó-e az éppen előállított szám JO Logikai Ciklusváltozó (ellenőrzéshez) J 9 10 5. példa: kiválasztásos rendezés 5. példa: kiválasztásos rendezés Feladat: rendezzünk egy tetszőleges adatokat tartalmazó n elemű tömböt! ( tömb elemeit most nem kell bekérnünk, és a rendezett tömböt nem kell kiíratnunk. Feltehetjük, hogy ezeket a tevékenységeket a program itt nem bemutatott része tartalmazza.) Megj: sokféle rendező eljárás ismeretes. jó hatásfokú módszerek általában logikailag bonyolultabbak, és nehezebben érthetőek. tt egy olyan megoldást mutatunk be, amely könnyen érthető, és a hatékonysága is elfogadható. Ötlet: megkeressük a sorozat legkisebb elemét, majd felcseréljük az első elemmel. következő lépésben a második elemtől indulva újra megkeressük a mostani legkisebb elemet, és ezt felcseréljük a második elemmel, Sorozat elemei Tömb (tetszőleges), output ktuális minimum M Mint elemei z aktuális minimum sorszám DEX Ciklusváltozó, rögzített sorszám Ciklusváltozó (kiválasztáshoz) J 11 12 2

13 14 Más algoritmus-leíró eszközök Jackson-féle ábra Szekvencia egymás mellé írással Szelekció karika, és utána egymás melletti feltételek teráció csillag, és alatta az ismétlődő tevékenység(sorozat) Folyamatábra Már elavult STRT Ki: F ED gaz Be: F:=1; :=1 >= Hamis :=+1 F:=F* Előkészítés M:=[] DEX:= Kiválasztás Rendezés kiválasztással :=1, 1 * z -edik a helyére Minimum J:=+1, * Hasonlítás [J] < M º M:=[J] DEX:=J Besorolás [DEX]:=[] []:=M 15 i nyelvek i nyelvek programozási nyelv olyan mesterséges nyelv, amelyet a számítógéppel történő kommunikáció megkönnyítésére terveztek programozási nyelvek (megfelelő apparátus + szintaktikai és szemantikai szabályok) alkalmasak az algoritmusok gép számára érthető kódolására, megvalósítására Osztályozásuk (generációk) Első generáció gépi kód Második generáció assembly nyelvek, majd később finomodtak, ősi magasabb szintű nyelvek, emberközeli nyelvi elemek, cél a géptől való függetlenedés is K. Zuse már 1943-45-ben tervezett egy magasabb szintű nyelvet, de ez akkor nem terjedt el (Plankalkül) z első sikeres megvalósítások: FORTR, LSP, COBOL, később az LGOL Rövidítések: FORmula TRslation, LGOrithmic Language, LSt Processing Lényegében az összes mai nyelv ezen nyelvek valamilyen leszármazottja Harmadik generáció kifinomult magasszintű nyelvek Új, fontos filozófiák: strukturált programozás, objektum-orientált programozás legtöbb ma használatos programnyelv ide sorolható, pl. Pascal, C, C++, C#, Delphi, Java 16 i nyelvek yelvek osztályozása (folyt.) egyedik generáció Új fejlesztések, fejlett kereskedelmi igények hatására Fejlett szoftver engineering technológiák alkalmazása, pl. komponensek beépítése, újrafelhasználhatóság ill. speciális alkalmazások Példák: SQL nyelvek, SPSS, MTLB, Mathematica Ötödik generáció (még kifejletlen) Constraint (megszorítás) alapú programozás 17 Programfejlesztés forrásnyelven írt program értelmezése, végrehajtása összetett tevékenység(sorozat) Fordítóprogram (Compiler) Értelmezi a forrásnyelven írt program utasításait, jelzi a szintaktikai hibákat formailag hibátlan programokból elkészíti a gépi kódú utasításokat Ezzel a forrásprogramból ún. tárgyprogram keletkezik nterpreter em készít gépi kódú programot, hanem utasításonként értelmezi és hajtja végre a magasszintű nyelven leírt programot lyenkor a tesztelés egyszerűbb, de komoly hátrány, hogy nem keletkezik futtatható program Szerkesztőprogram (Linker) lefordított tárgyprogram általában még nem futtatható, pl. azért, mert több részből állhat Végül a szerkesztőprogram teszi futtathatóvá a programot Általános munkafolyamatok: programírás, fordítás, szerkesztés fejlesztői környezet is nagy változáson ment keresztül modern, 3. generációs nyelvek kezdetben karakteres felületet használtak Most már az igényes grafikus környezet az általános 18 3

pari programfejlesztés pari programfejlesztés Szoftvertechnológia pari méretű programfejlesztés (több ezer programsor és felette) esetén más módszereket kell alkalmazni, mint házi programkészítésnél em elég a korábbi elemzés-tervezés-algoritmuskészítés-programozás-tesztelés ciklus z itt alkalmazandó módszerekkel a szoftvertechnológia (Software Engineering) tudományág foglalkozik SE a teljes szoftverfejlesztési folyamatot magában foglalja, és érint kapcsolódó gazdasági területeket is, pl. projekt menedzsment Ez igen fontos terület, hiszen a profi szoftverkészítés nagyon nagy üzlet (a turizmus után a 2., megelőzi pl. az olaj- és autóipart is!) SE nagyon fontos problémája a szoftvertermékek minősége, megbízhatósága lyen téren még bőven van tennivaló, 2005-ben egy tipikus hibaráta: 5-10 ezer soronként 1 hiba (hasonló hibaráta: napi 2 repülőgép katasztrófa, napi kb. 2000 elveszett postai levél US) szoftverfejlesztési folyamatban a menedzsment feladata a folyamat állandó felügyelete, értékelése (benne: adatgyűjtés), javítása + kapcsolódóan: a hatékonyság növelése, a költségek csökkentése, a dolgozók jó közérzetének a biztosítása Más mérnöki produktumokkal ellentétben a szoftver eléggé megfoghatatlan valami, ezért nem könnyű a folyamat megfelelő kezelése! 19 szoftverfejlesztés klasszikus fázisait mutatja be (visszacsatolásokkal) az ún. vízesés-modell (szemléletes: a víz visszafolyatása drága) Ez eléggé idealista megközelítés, a gyakorlatban inkább kevert, evolúciósiterációs fejlesztéseket szoktak alkalmazni Honnan tudjuk, hogy véget ért egy fázis? ( program még nincs kész) Elkészült az adott szinthez tartozó dokumentáció (ezekre van kotta ) Követelmények Specifikáció Tervezés mplementáció Validáció Fenntartás 20 pari programfejlesztés SE nagyon fontos kérdése az emberekkel való bánásmód hibák nagyobb részben egyszerű emberi mulasztásokból, félreértésekből erednek Tipikus pl. a követelmények rossz felmérése ill. a hibás specifikáció (akár egy egyszerű fogalom másként értelmezése miatt) Csapatszervezés Milyen a jó fejlesztőcsoport, hány tagja van (kb.) Projekt terv emcsak az elején van aktivitás, hanem a folyamat közben is projekt menedzser szerepe meghatározó Menedzsment Tervezés, ütemezés (függőségek csökkentése, vészforgatókönyvek), kockázatok becslése és figyelése Minél később derül ki egy hiba, annál drágább a javítása Specifikáció (tdk: szoftver tervrajz ) Megfelelő formális eszközök állnak rendelkezésre a pontos leíráshoz Verifikáció és validáció Helyes-e a szoftver, ill. azt csinálja-e, amit elvártunk Fontos terület, az ellenőrzés már a folyamat korábbi fázisaiban is jelen van Átvételi teszt: a megrendelő jelenlétében végzendő Fenntartás dolgozók betanítása, az esetlegesen felmerülő hibák javítása Visual Basic általános bemutatás Visual Basic (VB) a Microsoft cég által kifejlesztett programozási nyelv ill. fejlesztői környezet z első verziója, a Visual Basic 1.0 1991-ben jelent meg Windows 3.0 platformra nyelv gyorsan nagy népszerűségre tett szert, a fejlesztőknek kényelmes és hatékony eszközt adott a Windows alkalmazások vizuális tervezéséhez Könnyen tanulható volta miatt sokaknak a Visual Basic volt az első lépcső a programozás tanulásában Visual Basic a korábban nagyon népszerű BSC nyelven alapul, de modernebb, eseményvezérelt és korlátozott mértékben objektumorientált Microsoft elsősorban a gyors fejlesztésre helyezte a hangsúlyt a tervezéskor (részben még a hatékonyság rovására is) VB nagy vetélytársa a C++ Általánosan a C++ gyorsabb, és rugalmasabb struktúrákat biztosít, de konkrétan a Windows felület alatt a grafikus alkalmazások (GU) fejlesztésére (sokkal) jobb a VB C++-hoz (sőt a Pascalhoz) képest a VB nem támogatja a mutatókat, és nem kötelező benne a változók deklarálása, valamint nem kezeli nagyon szigorúan a típusokat em igazi OO nyelv, hiányzik a polimorfizmus és az öröklődés hagyományos VB mellett 2002-ben megjelent a.et-es változat is VB.ET a VB-nek egy teljesen újratervezett változata, az utolsó klasszikus VB verzió (VB 6.0) és a.et verziók között is már nagyon nehéz konvertálni a programokat Visual Basic.ET már teljesen objektumorientált.et alapú nyelv, gyakorlatilag egyenértékű a.et nyelvek közül vezető szerepben lévő C#-pal (szi-sarp) 21 22 Visual Basic nyelv a Wordben (Excelben) BSC-szerű nyelv, modernizálva Elsősorban Word és Excel környezetben nézzük os deklaráció, de nem szigorú z Option Explicit utasítással állítható be a szigorú deklaráció Fontosabb adattípusok Byte, nteger, Long, Boolean, String, Variant, (Részletesebben ld. Data Type Summary a Súgóban) Szubrutinok Ez az alapegység, Sub End Sub kulcsszavak között Szelekció f log.kif. Then ut1. Else ut2. End f terációk Léptetős: For i=1 To n ciklusmag ext Előltesztelős: Do While log.kif. ciklusmag Loop Hátultesztelős: Do log.kif. ciklusmag Loop While log.kif. // bennmaradási felt. hátultesztelős ciklust az Until kulcsszóval is meg lehet adni 23 Makrók engedélyezése Eszközök/Makró/Biztonság közepes szint Visual Basic Editor Váltás oda: lt + F11 vagy /Visual Basic Editor képernyő elemei Project ablak Dokumentumok, ahova makrókat készíthetünk/menthetünk Properties ablak z objektumok tulajdonságai állíthatók itt be Szövegszerkesztő ablak de készíthetjük el a kódot, a szubrutinok futtathatók Egyes szintaktikai hibákat jelez a fordító a beírás után mmediate (futtatási) ablak Egyes futási eredmények megtekintésére Watch ablak yomkövetésre, hibakeresésre, mi nem nagyon fogjuk használni Kis eszköztár, fontosabb lehetőségek: Makró futtatása, szüneteltetése, leállítása, váltás (mindezt persze menüből is lehet, és gyorsbillentyűk is vannak, pl. F5 futtatás) Minden kulcsszóról infót kaphatunk az F1 lenyomására a Súgóban Ugyanitt tematikusan is kereshetünk 24 4

Word objektummodellje súgóból behívható Lényegében mindent meg csinálni programból, amit egyébként a Word tud 25 26 Formok használata nsert/userform Beszúrhatók az elemek a panelre (parancsgomb akciókat lehet kezdeményezni, rádiógomb, listadoboz, léptető lista, ) Properties ablak: leírás az elemről Egyes tulajdonságok módosíthatók z elemhez tartozó kód dupla kattintásra előjön Ez alapból csak váz, a háttérben lévő eljárást persze meg kell írni Bal felső lista: választható elemek Jobb felső lista: választható események Váltás a szerkesztőmód és az objektum között: View/Code ill. Object (F7) Formok használata (folyt.) 1. feladat: az első parancsgombra (CommandButton) kattintva írjuk ki az első bekezdés szövegét! 2. feladat: a 2. parancsgombra kattintva jelöljük ki a második szót! 27 28 Formok használata (folyt.) 3. feladat: rakjunk fel a formra 3 db rádiógombot, bekezdés, szó és karakter felirattal. Írjunk meg úgy egy nyomógomb mögötti eseménykezelőt, hogy a bejelölt egységeket számolja meg a szövegben! Ötlet: két szubrutint írunk, a második hívja az elsőt, amelyik a rádiógombokat kezeli Egy összetett feladat (Ha nem tudjuk a makró kódját, akkor rögzíthetjük, és utána belenézhetünk, és kapunk ötleteket) Feladat: feladat-adatbázis alapján készítsünk véletlen zh feladatsort! (Minden feladat új bekezdésben van, és nincs üres bekezdés a dokumentumban.) Részfeladatok: Számoljuk meg a bekezdéseket (Generáljunk véletlen egész számot) (Írjuk ki az annyiadik bekezdést) lakítsuk át az eddigi részeket úgy, hogy több feladatot is választhassunk (de amit már egyszer kiválasztottunk, azt újra nem lehet) Új üres dokumentumba rakjuk át a kiválasztott kérdéseket (Táblázatba szúrjuk be az átvitt kérdéseket) 29 30 5

dokumentumok: 31 32 z Excel objektummodellje súgóból behívható 33 6