c# feladatgyűjtemény vizuális és eseményvezérelt...

13
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. február 1-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áróm az észrevételeket: [email protected] I.A. Csoport – Alapkomponensek használata 1. FELADAT Alakítsa ki a képernyőt az ábrának megfelelően! 2. FELADAT Az TextBox mezőkben beolvasott két adatot összeadjuk, kivonjuk és szorozzuk a gombokon való kattintás hatására. 3. FELADAT Olvassunk be egy sugarat és számítsuk ki kör kerületét és területét, valamint a gömb felszínét és térfogatát. 4. FELADAT Olvasson be három TextBox vezérlőből három számot, majd a Rendez parancsgombra klikkelve, írassa ki őket csökkenő sorrendben. Alkalmazzon Labeleket a feliratokhoz. Állítsa be a Form Text tulajdonságát is!

Upload: vokhuong

Post on 27-Mar-2018

225 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: C# feladatgyűjtemény Vizuális és Eseményvezérelt ...users.nik.uni-obuda.hu/vep/VEPFeladatok1Resz20070204.pdf · C# feladatgyűjtemény Vizuális és Eseményvezérelt Programozá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. február 1-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áróm az észrevételeket: [email protected] I.A. Csoport – Alapkomponensek használata 1. FELADAT Alakítsa ki a képernyőt az ábrának megfelelően!

2. FELADAT Az TextBox mezőkben beolvasott két adatot összeadjuk, kivonjuk és szorozzuk a gombokon való kattintás hatására.

3. FELADAT Olvassunk be egy sugarat és számítsuk ki kör kerületét és területét, valamint a gömb felszínét és térfogatát.

4. FELADAT Olvasson be három TextBox vezérlőből három számot, majd a Rendez parancsgombra klikkelve, írassa ki őket csökkenő sorrendben. Alkalmazzon Labeleket a feliratokhoz. Állítsa be a Form Text tulajdonságát is!

Page 2: C# feladatgyűjtemény Vizuális és Eseményvezérelt ...users.nik.uni-obuda.hu/vep/VEPFeladatok1Resz20070204.pdf · C# feladatgyűjtemény Vizuális és Eseményvezérelt Programozás

5. FELADAT Olvassa be egy hónap sorszámát egy TextBox vezérlőből, majd az Évszak parancsgombra klikkelve, írja vissza az évszakot egy Label mezőbe. Az TextBox mezőt lássa el címkével és megfelelő felirattal. Helyezzen a kilépéshez egy Kilépés parancsgombot is a Formra.

6. FELADAT Számítsa ki egy szám négyzetgyökét Newton módszerrel: A beolvasott szám legyen A. X1=A/2, Xn+1=(Xn+A/Xn)/2 ha n>=1. A számítást addig folytassa, amíg |Xn+1-Xn|<0,0001. Az eredményt négy tizedes jegyre jelenítse meg!

7. FELADAT Határozza meg két egész szám legnagyobb közös osztóját! Legyen N a kisebb, M a nagyobb szám. A közös osztó meghatározásának menete a következő:

1. R az M/N osztási maradéka 2. Ha R=0 vége, N a legnagyobb közös osztó 3. Ha R<>0, M=N és N=R és az 1. lépéstől folytatódik az eljárás.

Page 3: C# feladatgyűjtemény Vizuális és Eseményvezérelt ...users.nik.uni-obuda.hu/vep/VEPFeladatok1Resz20070204.pdf · C# feladatgyűjtemény Vizuális és Eseményvezérelt Programozás

8. FELADAT Határozza meg és írassa ki a Fibonacci számsor első tíz elemét! A meghatározás módja a következő: F1=0, F2=1, Fn=Fn-1+Fn-2 ha n>=3.

9. FELADAT Határozza meg az F(x)=3x-2 függvény gyökét. A számításhoz keressen egy olyan intervallumot, hogy az intervallum egyik végpontjában negatív, a másik végpontjában pozitív legyen a függvény helyettesítési értéke. Legyenek ezek az A és B pontok. A gyökszámítás menete:

1. X=(A+B)/2. 2. Ha F(X)<0, akkor A=X 3. Ha F(X)>0, akkor B=X 4. Az 1. ponttól folytatódik az eljárás, akkor van vége, ha |A-B|<0,0001, s ekkor X a keresett gyök.

10. FELADAT Határozza meg az x=exp(-x)+x*x/3 egyenlet gyökét az x=0,7 durva közelítés környezetében! A számítás menete:

1. g(x)=exp(-x)+x*x/3 2. Xe=0,7 3. Xuj=g(Xe) 4. Xe=Xuj 5. Az eljárás a 3. lépéstől folytatódik

Az eljárást 50-szer hajtsa végre! Ezt követően Xuj lesz a keresett gyök.

Page 4: C# feladatgyűjtemény Vizuális és Eseményvezérelt ...users.nik.uni-obuda.hu/vep/VEPFeladatok1Resz20070204.pdf · C# feladatgyűjtemény Vizuális és Eseményvezérelt Programozás

11. FELADAT Számítsa ki az ’e’ szám értékét! Az érték meghatározásához az e=(1+1/n)n n>=1 sorozat értékeit kell kiszámítani. A számítást addig folytassa, míg két egymást követő kiszámított elem különbsége abszolút értékben kisebb, mint 0,00001. A hatvány kiszámításához használjon ciklust! 12. FELADAT Töltsön fel egy mátrixot a Form Load eseményénél FOR ciklusok segítségével, majd állítsa elő a transzponáltját (a sorokat fel kell cserélni az oszlopokkal), és írassa ki mindkét mátrixot.

13. FELADAT Készítsen keresztárfolyam táblázatot, melynek Ki,j elemét úgy kapja meg, hogy az i-dik valuta árfolyamát elosztja a j-dik valuta árfolyamával. A valuták neveit és az árfolyamokat egydimenziós tömbben tárolja. Írassa ki a táblázatot a valuták nevének feltüntetésével. Árfolyamok: AUD 135,53 CAD 156,57 EUR 243,12 GBP 383,40

14. FELADAT Olvasson be egy mondatot, egy szót és azt, hogy a szót a mondat hányadik szava után kell beilleszteni. Írassa ki a javított mondatot! A szavakat elválaszthatja szóköz, vessző, pontosvessző, pont és kötőjel.

Page 5: C# feladatgyűjtemény Vizuális és Eseményvezérelt ...users.nik.uni-obuda.hu/vep/VEPFeladatok1Resz20070204.pdf · C# feladatgyűjtemény Vizuális és Eseményvezérelt Programozás

15. FELADAT Olvasson be egy mondatot, és számolja össze, hogy a különböző magánhangzókból hány darab fordul elő a mondatban. Deklaráljon egy tömböt a magánhangzók elhelyezésére, egy másikat a darabszámoknak. A magánhangzók tömbjét a Form_Load eljárásban töltse fel. A program a kis és nagybetűt is ismerje fel.

16. FELADAT Olvasson be egy mondatot, számolja meg, hogy hány szóból áll, majd írassa ki szavanként egymás alá! A szavakat elválaszthatja szóköz, vessző, pontosvessző, pont és kötőjel.

17. FELADAT Olvasson be egy mondatot, majd minden szó első betűjét alakítsa nagybetűssé, és írja ki az eredményt! A szavakat elválaszthatja szóköz, vessző, pontosvessző, pont és kötőjel. A beolvasáshoz és kiíráshoz TextBox vezérlőket használjon. A Formon legyen egy Átalakít és egy Kilépés parancsgomb is.

Page 6: C# feladatgyűjtemény Vizuális és Eseményvezérelt ...users.nik.uni-obuda.hu/vep/VEPFeladatok1Resz20070204.pdf · C# feladatgyűjtemény Vizuális és Eseményvezérelt Programozás

18. FELADAT Olvasson be egy mondatot egy TextBox vezérlőből, majd írja vissza egy másik TextBox vezérlőben megfordítva. A Formon legyen egy Megfordít és egy Kilépés parancsgomb is! 19. FELADAT Olvasson be egy TextBox vezérlőből egy mondatot, majd vizsgálja meg, hogy palindróma-e (tükörmondat, előröl és hátulról olvasva ugyanaz). A vizsgálat eredményét egy Label címkén jelenítse meg. A Formon helyezzen el egy Vizsgálat és egy Kilépés parancsgombot! Palindróma például: A Sári irása, vagy Géza kék az ég. 20. FELADAT A téglatest oldalainak ismeretében számítsa ki a lapátlókat, majd határozza meg a testátlót, a felszínt és a térfogatot!

21. FELADAT A téglatest oldalainak ismeretében határozza meg az oldalélek összegét, majd írassa ki a legrövidebb oldalél összeggel rendelkező test adatait, felszínét és térfogatát. 22. FELADAT Számítsa ki a nyugdíjasoknak járó segélyeket, majd határozza meg az átlagos nyugdíjat, az átlagos segélyt, valamint a segélyek összegét. A nyugdíjasok adatait objektumokban tárolja! A segélyeket a nyugdíjakból kell meghatározni a következő táblázat alapján:

Nyugdíj Alsó határ Felső határ Segély összege

0 20000 25000 20001 30000 15000 30001 40000 10000 40001 50000 5000

Page 7: C# feladatgyűjtemény Vizuális és Eseményvezérelt ...users.nik.uni-obuda.hu/vep/VEPFeladatok1Resz20070204.pdf · C# feladatgyűjtemény Vizuális és Eseményvezérelt Programozás

23. FELADAT Számolja ki a vásárolt áruk értékét (mennyiség*ár), majd írassa ki annak az árunak az adatait, melynél ez az érték a legnagyobb. Az áruk adatait objektumokban tárolja!

24. FELADAT Határozza meg cikkcsoportonként az áruk számát, átlagárát és a mennyiségek összegét. Töltse fel a Form Load eseménykezelőben!

25. FELADAT A gömb sugarának ismeretében határozza meg a gömb térfogatát és felszínét, a beírható kocka oldalhosszát, térfogatát és felszínét! A gömb sugara: R A kocka éle: A=SQR(4*R*R/3) A gömb térfogata: 4*PI*R3/3 A gömb felszíne: 4*PI*R2

Page 8: C# feladatgyűjtemény Vizuális és Eseményvezérelt ...users.nik.uni-obuda.hu/vep/VEPFeladatok1Resz20070204.pdf · C# feladatgyűjtemény Vizuális és Eseményvezérelt Programozás

A kocka térfogata: A3

A kocka felszíne: 6*A2

26. FELADAT Számítsa ki a havi középhőmérsékletet, valamint határozza meg, hogy melyik volt a leghidegebb és legmelegebb nap tagfüggvénnyel, s mennyi volt ezeken a napokon a hőmérséklet.

27. FELADAT Tervezzünk egy alkalmazást, amellyel egy 1-100 között gondolt véletlen számot kitalálhatunk.

A Szám adatmezőben kell megadni a számot, mellyel kitalálhatjuk a program által gondolt számot. A JÁTÉK gomb megnyomására a Válasz keret Üzenet mezőben három üzenet jelenhet meg: • sok, ha a szám nagyobb a gondolt számnál, • kevés, ha kisebb • n lépésben, ez jelenti, hogy eltalálta.

Page 9: C# feladatgyűjtemény Vizuális és Eseményvezérelt ...users.nik.uni-obuda.hu/vep/VEPFeladatok1Resz20070204.pdf · C# feladatgyűjtemény Vizuális és Eseményvezérelt Programozás

Ha a játékos türelmetlen, akkor a Gondolt szám gomb megnyomására megnézheti a gondolt számot. Ebben az esetben a program törli a számláló rekeszt és gondol újra egy számot. Írjon függvényeljárást a véletlen szám generálására, illetve eljárást a beírt szám kiértékelésére. 28. FELADAT Töltsön fel két mátrixot a Form Load eseménykezelőben. Számítsa ki a két mátrix szorzatát. Ha az egyik mátrix

elemei ai,j, illetve bi,j, akkor a szorzat mátrix egy elemét a következő módon kapja: , azaz

az első mátrix i-dik sorának elemeit rendre meg kell szorozni a második mátrix j-edik oszlopának elemeivel, és a szorzatokat össze kell adni. Írassa ki mindhárom mátrixot. A Formon Szorzás, Kiiratás, Kilépés feliratú parancsgombokat helyezzen el!

∑=

=m

kjkkiji bac

1,,, *

A mátrix: 0 1 0 1 2 1 B mátrix: 1 2 1 0 1 2 29. FELADAT

A mátrix feltöltése: 11 2 2 2 3 11 2 2 3 3 11 2 3 3 3 11 A Form Load eseménykezelő eljárásban töltsük fel az Y mátrixot a fent megadott értékekkel. A Megjelenít eseménykezelőben írassuk ki a mátrixot a (10,10) koordinátaponttól kezdve, majd a Megjelenítés parancsgomb Enabled tulajdonságát állítsuk False-ra, amely azt jelenti, hogy a gomb továbbra már nem hozzáférhető. A Számol eseménykezelőjében számítsuk ki a főátlóbeli elemek összegét, valamint a főátló feletti elemek szorzatából vonjuk ki a főátlóbeli elemek összegét, és a két eredményt jelenítsük meg.

Page 10: C# feladatgyűjtemény Vizuális és Eseményvezérelt ...users.nik.uni-obuda.hu/vep/VEPFeladatok1Resz20070204.pdf · C# feladatgyűjtemény Vizuális és Eseményvezérelt Programozás

30. FELADAT Készítsen programot, amely egy szerkesztőmezőben (TextBox) megadott, ENTER-rel lezárt karaktersorozatból az alábbi statisztikákat készíti el: a.) magánhangzók száma, b.) magánhangzók és egyéb karakterek aránya, c.) szavak átlagos hossza. Hogy melyik statisztika készüljön, azt egy RadioButtonok segítségével lehessen kiválasztani. 31. FELADAT Készítsen programot, mely egy TextBox szerkesztőmezőbe beírt, ENTER leütésével lezárt karaktersorozatban az ékezetes betűket (áÁéÉóÓőŐúÚűŰ) kicseréli ékezet nélküli formára (aAeEoOoOuUuU-ra). Az új karaktersorozat egy másik Form-on jelenjen meg, ahonnan a „Vissza” feliratú gomb lenyomásával lehet az első Form-ra visszatérni. 32. FELADAT Készítsen programot, melyben egy Form-on három TextBox szerkesztőmező van, s az első kettőbe beírt számokkal elvégzett művelet eredménye kerül a harmadikba. A művelet a négy alapművelet valamelyike lehet, ennek kiválasztása a számok beírása előtt történjen (Pl. RadioButton-okkal, CheckBox-okkal, stb.). Az első szám beírása utáni ENTER hatására a kurzor menjen a második ablakba, a második számot lezáró ENTER után jelenjen meg az eredmény. Használjon kivételkezelést a nem megfelelő inputadat lekezelésére! 33. FELADAT Készítsen programot, amely különböző pénzek átváltását végzi el forintra. A pénznemek közül RadioButtonok segítségével lehessen választani, az eredményt egy új, futási időben létrehozott Formon jelenítse meg. 34. FELADAT Készítsen programot, amely TextBox mezőben megadott sugár paraméter alapján kiszámítja – nyomógombok lenyomásától függően - a kör kerületét, vagy területét. Az eredménynél jelenjék meg, hogy kerület, vagy terület értéket számoltunk. Használjon kivételkezelést, az esetlegesen hibás inputok (pl. nem konvertálható az input számmá) kezelésére!

35. FELADAT Készítsen alkalmazást, amely bekér két operandust, egy műveleti jelet (a lehetséges négy alapműveletből) és elvégzi a műveletet. A működés során fellépő hibákat kivételek segítségével kezelje! I.B. Csoport – ListBox használata 36. FELADAT Készítsen programot, ahol egy ListBoxban egy névsort tárolunk (keresztneveket), és másik két ListBoxban fel vannak sorolva a női, illetve férfi nevek. RadioButton segítségével ki lehessen jelölni a névsorban a férfi vagy a női neveket! Egy csak olvasható TextBoxban jelenjen meg a férfi/nő arány. 37. FELADAT Véletlenszám-generátorral hozzon létre 1 és 50 között 15 darab különböző egész számot! Válogassa szét a párosokat és a páratlanokat külön ListBoxba! Számítsa ki a párosok összegét és a páratlanok átlagát! 38. FELADAT

Page 11: C# feladatgyűjtemény Vizuális és Eseményvezérelt ...users.nik.uni-obuda.hu/vep/VEPFeladatok1Resz20070204.pdf · C# feladatgyűjtemény Vizuális és Eseményvezérelt Programozás

Készítsen programot az alábbi feladat megvalósítására (a program készítése során ragaszkodjon a jelölésekhez): Egy gombon történő kattintás eseménykezelőjeként véletlenszám-generátorral hozzon létre 1 és 50 között 15 darab különböző egész számot! Válogassa szét a párosokat és a páratlanokat egy-egy ListBoxba! Egy másik gombon kattintva számítódjék ki a párosok összege, illetve a páratlanok átlaga és az így kapott eredmény jelenjen meg Windows standard dialógusfüggvény segítségével!

39. FELADAT Készítsen két ListBoxot, TextBox mezőt és a funkciókhoz szükséges nyomógombokat tartalmazó alkalmazást. A hozzáadás funkció az TextBox szerkesztődoboz tartalmát írja be az első listába és a másodikba ugyanolyan sorrendben jelenjen meg az adott tétel karaktereinek száma. Ha a rendezés gombot megnyomja a felhasználó, akkor az első lista ABC sorrendbe rendezett legyen és a második listának a tartalma frissítésre kerüljön!

Page 12: C# feladatgyűjtemény Vizuális és Eseményvezérelt ...users.nik.uni-obuda.hu/vep/VEPFeladatok1Resz20070204.pdf · C# feladatgyűjtemény Vizuális és Eseményvezérelt Programozás

II. Csoport – menük 40. FELADAT Olvasson be két számot, majd számolja ki az összegüket, szorzatukat és különbségüket. A funkciók az ábrának megfelelően menüből legyen kiválaszthatók. Az eredményeket három különböző formon jelenítse meg, mindegyiken legyen egy-egy TextBox vezérlő, ebben jelenjen meg az eredmény, és egy Button Bezárás felirattal, melyre kattintva bezáródik az ablak. A formok felirata rendre, Összeg, Szorzat, és Különbség legyen!

41. FELADAT Írjon menüvezérelt programot, amely a Feltölt menüpont kiválasztásával, feltölt egy 5 elemű egész tömböt véletlen számmal (1-10 között). A Számol menüpont pedig, megjeleníti a Form2 Összeg mezőjében a tömb összegét, az Átlag mezőjében az átlagát. A Tömb tartalma nyomógomb hatására kiíródik a tömb tartalma a (10,10) koordinátától kezdődően.

42. FELADAT Tervezzen menüvezérelt programot, melynek menüpontjai a megfelelő párbeszédablakot jeleníti meg. A Form1-en egy TextBox vezérlőben olvassa be az érdemjegyet, a Form2-n két TextBox vezérlőben jelenítse meg a ponthatárokat! Alkalmazzon Label-eket a feliratokhoz! Állítsa be megfelelően a formok Text tulajdonságát is!

Ponthatárok Jegy 0 – 50 1 51 – 65 2 66 – 75 3 76 – 85 4 86 – 100 5

43. FELADAT Készítsen alkalmazást, amely egy TextBox szerkesztőmező kiválasztott részét a Vágólapra vágja, másolja, illetve ha megfelelő formátumú a Vágólap tartalma, akkor beilleszti a szerkesztőmező aktuális pozíciójába! A megoldás

Page 13: C# feladatgyűjtemény Vizuális és Eseményvezérelt ...users.nik.uni-obuda.hu/vep/VEPFeladatok1Resz20070204.pdf · C# feladatgyűjtemény Vizuális és Eseményvezérelt Programozás

során használjon helyi előugrómenüt (ContextMenuStrip), majd pedig eszköztár használatával is bővítse a feladat megoldását! 44. FELADAT Készítsen két ListBoxot kezelő alkalmazást! ContextMenuStrip menü használatával valósítsuk meg a következő funkciókat: 1. Átmozgatás, 2. Átmásolás, 3. Törlés, 4. Keresés (az inputot dialógusablakban kérjük be). 45. FELADAT Készítsen egy menüvezérelt programot, amellyel kiszámíthatjuk egy tömbben tárolt egész számok összegét és átlagát! Számlálja meg, hány páros, páratlan, pozitív, negatív, és hány zérus szám található a véletlenül kisorsolt számok halmazában!