C# feladatgyűjtemény Vizuális és Eseményvezérelt Programozás (VEP) című tantárgy részére Készítette Vámossy Zoltán BMF NIK március 19-i verzió

Hasonló dokumentumok
VI. Robotprogramozó Országos Csapatverseny évfolyam

Johanyák Zsolt Csaba: Ugráló gomb oktatási segédlet Copyright 2008 Johanyák Zsolt Csaba

Táblázatkezelés 2. - Adatbevitel, szerkesztés, formázás ADATBEVITEL. a., Begépelés

VI. Robotprogramozó Országos Csapatverseny Döntő versenyfeladatok. 5. évfolyam

6000 Kecskemét Nyíri út 11. Telefon: 76/ ; Fax: 76/ Gyakorló feladatok

Form1 Form Size 400;400 Text Mozgó kör timer1 Timer Enabled True Interval 100

1. beadandó feladat: egyszerű grafikus felületű alkalmazás. Közös követelmények:

Objektumok és osztályok. Az objektumorientált programozás alapjai. Rajzolás tollal, festés ecsettel. A koordinátarendszer

Táblázatos adatok használata

Táblázatok. Táblázatok beszúrása. Cellák kijelölése

Felhasználói Kézikönyv

components : IContainer dx : int dy : int tmidőzítő : Timer toolstripseparator1 : ToolStripSeparator tsmikilépés : ToolStripMenuItem

Mechatronika segédlet 1. gyakorlat

Bevezetés a QGIS program használatába Összeálította dr. Siki Zoltán

Interaktív alkalmazások készítése Scratch-ben

Tervezés eszköztár. Alapszínek alap betűk. Háttérszín (háttérstílus) Betűszínek. Betűtípusok. w w w. h a n s a g i i s k. h u

A Paint program használata

Space Invaders Dokumenta cio

Bevezetés a programozásba II 1. gyakorlat. A grafikus könyvtár használata, alakzatok rajzolása

IV. LEGO Robotprogramozó Országos Csapatverseny

CAD-ART Kft Budapest, Fehérvári út 35.

Prezentáció, Diagramok, rajzolt objektumok. Szervezeti diagram

Thermo1 Graph. Felhasználói segédlet

BME MOGI Gépészeti informatika 14.

Kézikönyv. Dinamikus szelekció készítése és a "tartomány" kapcsoló használata

Word V. tabulátortípus meg nem jelenik: Tabulátor - balra, Tabulátor - jobbra,

A LOGO MOTION TANÍTÁSA

VISUAL BASIC ALAPISMERETEK

LabVIEW példák és bemutatók KÉSZÍTETTE: DR. FÜVESI VIKTOR

Tájékoztató. Használható segédeszköz: -

VIII. Robotprogramozó Országos Csapatverseny Regionális versenyfeladatok évfolyam

Választó lekérdezés létrehozása

A Windows az összetartozó adatokat (fájlokat) mappákban (könyvtárakban) tárolja. A mappák egymásba ágyazottak.

Imagine Logo Tanmenet évfolyam

Feladatok megoldásai

2. Beadandó feladat dokumentáció

DKÜ ZRT. A Portál rendszer felületének általános bemutatása. Felhasználói útmutató. Támogatott böngészők. Felületek felépítése. Információs kártyák

Fürdőszoba tutorial 01

mintásfal mintásfal :m :sz :dbjobbra :dbfel

Programozás I. Gyakorlás egydimenziós tömbökkel Többdimenziós tömbök Gyakorló feladatok V 1.0 ÓE-NIK-AII,

Informatikus informatikus Térinformatikus Informatikus É 1/6

Oktatási anyag Excel kezdő

POSZEIDON dokumentáció (1.2)

Rácsvonalak parancsot. Válasszuk az Elsődleges függőleges rácsvonalak parancs Segédrácsok parancsát!

A HONALPSZERKESZTÉS ALAPJAI. 50 feladat. a Debreceni Egyetem Informatikai Karának. Informatikus Könyvtáros szakos hallgatói számára

1.A. feladat: Programablakok

Oldjuk meg, hogy minden századmásodpercben lépjen előre egyet az űrhajó: minden 10 [űrhajó'előre 1]

Programozás BMEKOKAA146. Dr. Bécsi Tamás 8. előadás

* Az eszköztáron látható menüpontok közül csak a felsoroltak esetén használható a Ctrl.

QGIS szerkesztések ( verzió) Összeállította: dr. Siki Zoltán verzióra aktualizálta: Jáky András

Tárgyfelvétel előtti órarendi nézet (órarend tervező) a Neptun HWEB-en

ONLINE SZAKÉRTŐI KERETRENDSZER

Hogyan kezdjük a VUE-val

VarioFace dokumenta cio

CÍMJEGYZÉK ÜDVÖZLÜNK A TALK FUSION CÍMJEGYZÉK HASZNÁLATI ÚTMUTATÓJÁBAN

Gábor Dénes Számítástechnikai Emlékverseny 2005/2006 Alkalmazói kategória, III. korcsoport Második forduló

2. Beadandó feladat dokumentáció

PREZENTÁCIÓ, GYAKORLÓ FELADATSOR

munkafüzet open eseményéhez

WebAromo elindítása, bejelentkezés

Diagram formázása. A diagram címének, a tengelyek feliratainak, jelmagyarázatának, adatfeliratainak formázása

Mechatronika segédlet 3. gyakorlat

Egyszerű példaprogramok gyakorláshoz

Két csomag elemeiből lehet a felületet elkészíteni: awt: heavy weight komponensek; swing: light weight komponensek (időben később).

Gábor Dénes Számítástechnikai Emlékverseny 2009/2010 Alkalmazói kategória, I. korcsoport Második forduló

Speciális szükségletű felhasználók navigációjának vizsgálata különböző multimédiás alkalmazásokban

ELSŐ LÉPÉSEK A SZÁMÍTÓGÉPEK RODALMÁBA AMIT A SZÁMÍTÓGÉPEKRŐL TUDNI ÉRDEMES

ReszlAd fájl, kitöltési útmutató:

Ablakok. Fájl- és mappaműveletek. Paint

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

Táblázatok kezelése. 1. ábra Táblázat kezelése menüből

Bevezetés a programozásba 2

Új adatbázis létrehozása

Fatömegbecslési jegyzőkönyvek

Rajzoljunk a Flash programmal! FLASH ALAPOK I.

A Vonallánc készlet parancsai lehetővé teszik vonalláncok és sokszögek rajzolását.

Gyakorló 9. feladat megoldási útmutató

5.osztály 1.foglalkozás. 5.osztály 2.foglalkozás. hatszögéskörök

Szilárd Leó Fizikaverseny Számítógépes feladat

Alkalmazott modul III 3. feladatcsoport. Közös követelmények:

Nemzeti LEADER Kézikönyv LEADER HELYI FEJLESZTÉSI STRATÉGIA FELHASZNÁLÓI KÉZIKÖNYV szeptember

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

FELHASZNÁLÓI KÉZIKÖNYV

Programozástanítási célok teljesítése a Logóval és a Scratch-csel

Hol használjuk a szövegszerkesztőt? Az élet minden területén megtalálható: levelet, meghívót, dolgozatot, feladatlapot, könyvet is készíthetünk vele.

Információs technológiák 2. Gy: CSS, JS alapok

Súgó. Tartalomjegyzék. 1.A tanulói felület Oldalstátuszok Ikonok használata...5

Bevezető feldatok. Elágazás és összegzés tétele

BME MOGI Gépészeti informatika 5.

BME MOGI Gépészeti informatika 15.

Eseményvezérelt és objektumorientált programozás

Haladó mozgások A hely és a mozgás viszonylagos. A testek helyét, mozgását valamilyen vonatkoztatási ponthoz, vonatkoztatási rendszerhez képest adjuk

BME MOGI Gépészeti informatika 18. Grafika, fájlkezelés gyakorló óra. 1. feladat Készítsen alkalmazást az = +

OKTATÁSKUTATÓ ÉS FEJLESZTŐ INTÉZET TÁMOP-3.1.5/ Pedagógusképzés támogatása

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

Órarendkészítő szoftver

Ugráló gomb oktatási segédlet Ugráló gomb

Kedves versenyző, az alábbi feladatok illetve egy interneten kitöltendő teszt megoldására 90 perc áll rendelkezésedre.

Pálya : Az a vonal, amelyen a mozgó test végighalad. Út: A pályának az a része, amelyet adott idő alatt a mozgó tárgy megtesz.

Gépelje be felhasználó nevét és jelszavát. Ha nem emlékszik az azonosítókra lépjen kapcsolatba ügyfélszolgálatunkkal az alábbi elérhetőségeken:

Átírás:

C# feladatgyűjtemény Vizuális és Eseményvezérelt Programozás (VEP) című tantárgy részére Készítette Vámossy Zoltán BMF NIK 2007. március 19-i verzió A feladatokat Benkő Tiborné Visual Basic feladatai, programozás tankönyvek példái, kollégáim és saját ötleteim alapján állítottam össze. Köszönöm mindenki segítségét. Örömmel várom az észrevételeket: vamossy.zoltan@nik.bmf.hu III. Csoport Grafika 1. FELADAT (Text-fájl kezeléssel olvasson be egy számsorozatot), vagy más módon adjon új elemeket egy ListBoxhoz. A ListBox elemeiből rajzoljon oszlop diagrammot egy Panel felületére. 2. FELADAT (Text-fájl kezeléssel olvasson be egy számsorozatot), vagy más módon adjon új elemeket egy ListBoxhoz. A ListBox elemeiből rajzoljon kördiagrammot egy Panel felületére. 3. FELADAT Készítsen programot, amely megjeleníti az y = ax² + bx + c görbe képét egy X, Y koordinátarendszerben, Az együtthatók értékét TextBox mezőkben adhatja meg a felhasználó, a Draw gombon kattintva történik a kirajzolás, a Clear gomb töröl. Alapértelmezett megjelenésben az x koordinátáknak megfelelő y értékeket, mint pontokat rajzoljuk ki, míg a Vonal (RadioButton: Appearance => Button; AutoChech => false) benyomásával a függőváltozó szomszédos értékeinek szakaszonkénti összekötésével rajzoljunk grafikont! (Figyelem! Az alábbi ábra át lett skálázva.) 4. FELADAT Készítsen programot, amely megjeleníti az y = c+ a/(x + b) görbe képét egy X, Y koordinátarendszerben, Az együtthatók értékét TextBox mezőkben adhatja meg a felhasználó, A Draw gombon kattintva történik a kirajzolás, a Clear gomb töröl. Alapértelmezett megjelenésben az x koordinátáknak megfelelő y értékeket, mint pontokat rajzoljuk ki, míg a Vonal (RadioButton: Appearance => Button; AutoChech => false) benyomásával a függőváltozó szomszédos értékeinek szakaszonkénti összekötésével rajzoljunk grafikont! (Figyelem! Az alábbi ábra át lett skálázva.) 1

5. FELADAT Készítsen programot, amely egy céltáblát rajzol ki. A céltábla 2 körgyűrűből és egy körből (középső) álljon, színük legyen kék, zöld, piros. Ha az egérrel rákattintunk valamelyik részre, akkor 5, 10, 20 pontot kapjunk, amit a program folyamatosan számoljon, és megjelenítsen a jobb felső sarokban szövegként kirajzolva. (Ha mellélövünk (mellé kattintunk), akkor a pontszámot, amennyiben nagyobb az eddigi rekordnál, egy fájlba mentse le.) 6. FELADAT Készítsen egy kör-rajzoló programot, ahol a kört az egyik átmérőjének két pontja alapján rajzolja meg. Az adatokat TextBoxokban kérje be, és a kört az TextBoxban leütött Enterre rajzolja meg, ha megvannak mindkét pontnak a koordinátái. 7. FELADAT Tervezzen egy olyan programot, amely az egér mozgatásakor egyre nagyobb sugarú köröket rajzol (1 ponttal növekedjen), ha a jobb egérgomb le van nyomva. A gomb felengedésére álljon vissza a kezdeti értékre a kör sugara. Dupla kattintásra törölje a képernyőt. 8. FELADAT Készítsen programot, amely diákok vizsgajegyeiből készít oszlop- illetve kördiagramokat. 9. FELADAT Készítsen programot, amely egy beolvasott szöveget rajzol ki. A szöveg betűtípusát, stílusát, és színét lehessen változtatni. Használjon dialógusokat a kiválasztáshoz. Legyen lehetőség a szöveg törlésére is! 10. FELADAT Készítsen programot, amely egy rácsrendszer minden második cellájába zöld x-et, a többi cellába piros ellipszist rajzol! A rácson történő kattintás után az adott cella fekete legyen! (*) 11. FELADAT Készítsen egy speciális céltáblát, amely nem egyre növekvő célköröket, hanem céltéglalapokat tartalmaz! A céltáblát alkotó téglalapok színei középtől kifele változzanak! A legbelső téglalap a 10-es és kifele mindig eggyel csökken a növekvő méretű téglalapok értéke. Véletlenszám generátor segítségével lőjön a céltáblára 5-öt és jelölje fekete karikákkal a találatokat, majd írja ki az eredményt! (*) 12. FELADAT Készítsen totóhúzást szimuláló programot a következő feltételekkel: 13+1 véletlenszámot amiknek rendre megfelelteti az 1, X, 2 értékeket sorsol a gép és összehasonlítja a felhasználótól előzetesen bekért tippekkel! A felhasználótól egy rács segítségével kérje be a tippeket úgy, hogy a 14 soros és 4 oszlopos négyzetrács tartalmazza soronként a következőket: sorszám 1, X, 2. A felhasználó egy kis kék kört rajzoljon a tippmezőbe! A kisorsolt értékek kék kereszttel, a találatok pedig zöld +-ként jelenjenek meg. (*) 13. FELADAT Készítsen 4x4-es Tilitoli programot saját megjelenítés szabályozással! (A kevert táblát egy fájl alapján készítsük el.) A cellán történő kattintás után, ha az adott cella valamely négyes szomszédja üres, akkor odamozduljon el a szám. A mozgatandó szám félkövérként jelenjen meg és eltérő szinezéssel! 14. FELADAT Készítsen 10x10-es szorzótábla programot saját megjelenítés szabályozással! A rácson történő kattintás után az adott cella, valamint a hozzá tartozó szorzó és szorzandó kiemelt színű legyen, a számok pedig más helyen és félkövérként jelenjenek meg! (*) 2

15. FELADAT Készítsen programot, amely egy rácsrendszer minden második cellájába zöld x-et, a többi cellába piros ellipszist rajzol! A rácson történő kattintás után az adott cella fekete legyen! (*) 16. FELADAT (Nehéz, nem kapcsolódik a tananyaghoz) Készítsen olyan rajzprogramot, melyben a megjelenített objektumokat 4 irányba mozgatni vagyunk képesek! Az objektumokat lehessen újrarajzolni: minden új objektumot egy maximum 10 elemű tömbbe vagy listába vegyünk fel! Többféle megoldás is elfogadott (abstract osztály, vagy intarface). 17. FELADAT (Nehéz, nem kapcsolódik a tananyaghoz) Készítsen programot, mely az egér segítségével egyenest húz a kurzor által az egér bal gombjának lenyomásakor és e gomb felengedésekor megjelölt pontok között. Alkalmazza a gumivonal rajzolási megoldást, vagyis: ha az egeret lenyomott gombbal mozgatjuk, folyamatosan mutassa, hol húzódna az egyenes, ha a gombot az adott pillanatban felengednénk. (Tehát mindig csak pontosan egy egyenes szakaszt láthatunk a kiinduló pont és az aktuális pont között.) Használja a ControlPaint.DrawReversibleLine(Point start, Point end, Color backcolor) statikus metódust, amely kirajzolja a szakaszt, de ha még egyszer felülrajzoljuk, akkor eltűnik. Figyelem! A tagfüggvény képernyő-koordinátákkal dolgozik, ezért használja a hívás előtt a Control.PointToScreen() tagfüggvényt. 18. FELADAT (Nehéz, nem kapcsolódik a tananyaghoz) Készítsen programot, amely a bal egérgombbal kattintva elhelyez csomópontokat. A csomópontokat szakaszokkal kösse össze láncba. A csomópontok a jobb egérgombbal legyenek elmozgathatók, a CTRL billentyű lenyomásakor pedig törölhetők. 3

IV. Csoport Timer alapú feladatok 19. FELADAT Készítsen dekázást szimuláló programot! Az ablak alján elhelyezkedő téglalap alakú 5x20-as ütőt az m és n betűkkel mozgathatjuk jobbra, illetve balra. A labda az oldalsó falakról szabályosan visszapattan, de az ütőhöz érve vízszintes irányú sebessége véletlentől függ a [-kezdeti sebesség, + kezdeti sebesség] tartományban. A függőleges pattanást egy másik Timer vezérelje a következő módon: a labda kezdjen leesni, ha az idő egy mindig változó [0.5, 2] másodperc közötti időt elér véletlenszerűen (az Interval értéke mindig változik!) Számoljuk a dekázások számát, amíg az ablak alját nem éri el a labda! 20. FELADAT Készítsen alkalmazást, amely megvalósítja a hajdani TV SQUASH játékot! Egy mozgó labdát egy téglalap alakú ütővel lehet visszaütni oly módon, hogy az ablak jobb szélén elhelyezkedő 5 pixel széles és 20 pixel magas fekete ütőt a játékos az o és l billentyűk leütésével mozgathatja fel, illetve le irányokba, és ha a labda az ütőnek ütközik visszapattan. Ha viszont nem mozgattuk megfelelő helyre az ütőt és a labda eléri a jobb oldali ablakszélt, akkor a hibát detektáljuk és a játék leáll. (A másik három oldalról visszapattan a labda, és az ütő nem hagyhatja el az ablakot!). Számoljuk a bal oldali falat elérő ütközéseket is és jelenítsük meg az ablak fejlécében az éppen aktuális ütésszámot! 21. FELADAT Készítsen 10x10-es gyorsaság teszt programot! Az éppen aktuális célpont véletlenszerűen kis ideig jelenjen meg úgy, hogy a cellát pirossal rajzoljuk ki. A cellán történő sikeres kattintás után, növekedjék egy számláló értéke és jelenjen meg a Form feliratában. Minden lövés után csökkenjen a cél megjelenítési ideje. Ha sikertelen volt a kattintás (rossz helyre kattintottunk, vagy későn), akkor kék kör jelezze a hibát és álljon le a játék. (*) 22. FELADAT Rajzoljon ki a képernyő alsó területére egy téglalapot, ez szimbolizálja a síelőnket. A téglalapot lehessen jobbrabalra vezérelni a billentyűzet segítségével. A Form tetejéről induljon el lefelé két téglalap, amely szimbolizálja a kapukat, ami között a síelőnek el kell haladnia. A kapuk mozgását Timer segítségével valósítsuk meg. Ha a kapuk elhagyták a Formot az alsó szélénél, akkor újból a Form tetején jelenjenek meg véletlenszerű pozícióban. Minden egyes sikeresen vett kapunál csökkenjen a kapu két széle közötti távolság. A program számolja, hogy hány kaput vettünk sikeresen, és ezt jelenítsük meg a jobb felső sarokban. (Kilépésnél az eredményt tároljuk el egy fájlba.) 23. FELADAT Rajzoljon ki a képernyő alsó területére egy téglalapot, ez szimbolizálja az űrhajónkat. Az űrhajót lehessen jobbra-balra vezérelni a billentyűzet segítségével. Az Enter leütésére induljon el egy nyíl (szakasz, megfelelő végződéssel) alakú lövedék függőlegesen felfelé. A képernyő tetején legyen egy kör alakú ellenséges űrhajó, ami jobbra-balra mozogjon a Form két széle között, amit egy Timer vezéreljen. Ha a lövedék eltalálja, akkor az +1 pont, amit jelezzünk a képernyő jobb felső sarkában. (Kilépésnél az eredményt mentse el egy fájlba.) 24. FELADAT Rajzoljon a képernyőre két egyforma golyót, illetve egy téglatestet. A téglatest legyen fix pozíciójú, míg a golyók véletlenszerűen legyenek elhelyezve. Az egyik golyót ( egyes ) az egér segítségével lehessen mozgatni. Ha ütközik a kettes golyónak, akkor az vegye át az egyes mozgásirányát, és kapjon valamilyen kezdő 4

sebességet, ami fokozatosan csökkenjen, majd a golyó álljon meg (Timerrel oldjuk meg a csökkenést). A kettes golyó a falakról visszapattan. Ha a kettes golyó hozzáér a téglatesthez, akkor +1 pontot kap a felhasználó, amit jelezzünk ki. A játék adott ideig fusson (Timer). (A játék végeztekor mentse el a pontszámot egy fájlba.) 25. FELADAT Készítsen programot a fénysorompó működésének animációjára, amikor is a két piros lámpa villogását egy fehér lámpa villogása váltja fel! A piros és a fehér lámpa szimulációs adatai módosíthatók legyenek. (A kezdeti értékeket fájlból olvassa be, a program bezárásakor az adatokat mentse ide!) 26. FELADAT Készítsen autóverseny szimuláló programot! A pálya 3 úttestből álljon, az egyes részek jól láthatóan legyenek tagolva. Az utak elején jelenjenek meg autók, amelyek az út vége felé közeledjenek véletlen sebességgel. Ha egy autó elérte az út végét, akkor újból az út elején jelenjen meg. Az út végén álljon a saját autónk, amit billentyűzet segítségével tudjunk irányítani a sávok között. Ha összeütközünk egy autóval, akkor vonjon le egy életet, ha elfogyott a 3 élet, akkor legyen vége a játéknak. Minden eltelt másodperc 1 pontot érjen, ha egy autót sikeresen kikerültünk +10 pont. Az eredményt, és az életek számát folyamatosan jelezzük. 27. FELADAT Készítsen programot, amely egy digitális órát szimulál. A számjegyeket vonalakból épüljenek fel és rajzolja ki! A számjegyek törlésére használja a ControlPaint.DrawReversibleLine(Point start, Point end, Color backcolor) statikus metódust, amely kirajzolja a szakaszt, de ha még egyszer felülrajzoljuk, akkor eltűnik. A képernyő törlése nem fogadható el csak 50 %-os megoldásnak! Figyelem! A tagfüggvény képernyő-koordinátákkal dolgozik, ezért használja a hívás előtt a Control.PointToScreen() tagfüggvényt. 28. FELADAT Készítsen analóg órát szimuláló programot! A kismutatót, percmutatót és a másodpercmutatót úgy rajzolja ki, hogy az előző helyzetüket a ControlPaint.DrawReversibleLine(Point start, Point end, Color backcolor) statikus metódussal felülrajzolja (az egész ablak törlése csak 50 %-os megoldásnak fogadható el), és a továbbmozgatott helyzetben kirajzolja azokat. Használjon Timert a vezérléshez! Figyelem! A tagfüggvény képernyőkoordinátákkal dolgozik, ezért használja a hívás előtt a Control.PointToScreen() tagfüggvényt. 5