Előadások folytatása, még van, aki legközelebb jut szóhoz.
Elkezdtük a soft skilles dokumentumot kitölteni, itt folytatjuk.
A NVSZC Szent-Györgyi Albert Technikum 13.B2 (2024-25) csoportjának blogja asztali- és mobil alkalmazás-fejlesztés és adatbázis-kezelés II. tantárgyakból
Előadások folytatása, még van, aki legközelebb jut szóhoz.
Elkezdtük a soft skilles dokumentumot kitölteni, itt folytatjuk.
Nézzetek utána, hogy mi az a tesztpiramis.
Nyiss egy tesztelési digifüzetet (oszd meg velem).
Írj bele egy részletes vázlatot, amiben ezt, és általad talált további hiteles forrásokat használod fel.
Mire elkészülsz, meg is tanulod, mi a tesztpiramis.
1. Be kell fejezni a monitorvásáros feladatsort.
2. Ez egy hosszú feladatsor, jussatok el minél messzebbre. Segítsetek egymásnak.
Az alábbiakban egy feladatsort kell megoldanod, ami alkalmazottak adatait tartalmazza.
A forrás fájlban a mezők jelentése: name, age, city, department, position, gender, marital status, salary (EUR)
Forrásfájl tartalma:
(Ha lusta vagy kiszedni a blog miatt keletkező üres sorokat, írd meg úgy a beolvasást, hogy mindig átléptesse ezeket.)
John;25;Budapest;IT;Engineer;Male;Single;1200
Alice;30;Debrecen;Marketing;Manager;Female;Married;900
Bob;22;Szeged;HR;Assistant;Male;Single;650
Eva;28;Budapest;Finance;Analyst;Female;Married;1100
Michael;35;Pécs;Sales;Representative;Male;Single;800
Sophia;29;Budapest;IT;Developer;Female;Married;1350
David;40;Szeged;Finance;Manager;Male;Married;1600
Sarah;27;Debrecen;IT;Designer;Female;Single;950
Daniel;32;Szeged;HR;Manager;Male;Single;1400
Emma;31;Pécs;Marketing;Coordinator;Female;Married;720
Matthew;34;Budapest;IT;Team Lead;Male;Single;1450
Olivia;26;Szeged;Sales;Representative;Female;Single;710
William;38;Budapest;Finance;Analyst;Male;Married;1150
Ava;23;Debrecen;IT;Developer;Female;Single;1300
James;29;Budapest;Marketing;Manager;Male;Single;950
Mia;33;Pécs;HR;Assistant;Female;Married;660
Benjamin;24;Szeged;Finance;Analyst;Male;Single;1120
Charlotte;36;Budapest;Sales;Representative;Female;Married;720
Logan;30;Debrecen;IT;Engineer;Male;Single;1150
Luna;28;Szeged;Finance;Manager;Female;Single;1400
Ethan;26;Pécs;IT;Designer;Male;Single;990
Harper;35;Budapest;Marketing;Coordinator;Female;Married;810
Liam;22;Budapest;IT;Developer;Male;Single;1250
Aria;31;Szeged;Finance;Analyst;Female;Married;930
Noah;37;Pécs;Sales;Representative;Male;Single;720
Grace;29;Budapest;IT;Team Lead;Female;Married;1520
Sophia;29;Budapest;IT;Developer;Female;Married;1350
David;40;Szeged;Finance;Manager;Male;Married;1600
Sarah;27;Debrecen;IT;Designer;Female;Single;950
Daniel;32;Szeged;HR;Manager;Male;Single;1400
Emma;31;Pécs;Marketing;Coordinator;Female;Married;720
Matthew;34;Budapest;IT;Team Lead;Male;Single;1450
Olivia;26;Szeged;Sales;Representative;Female;Single;710
William;38;Budapest;Finance;Analyst;Male;Married;1150
Ava;23;Debrecen;IT;Developer;Female;Single;1300
James;29;Budapest;Marketing;Manager;Male;Single;950
Mia;33;Pécs;HR;Assistant;Female;Married;660
Benjamin;24;Szeged;Finance;Analyst;Male;Single;1120
Charlotte;36;Budapest;Sales;Representative;Female;Married;720
Logan;30;Debrecen;IT;Engineer;Male;Single;1150
Luna;28;Szeged;Finance;Manager;Female;Single;1400
Ethan;26;Pécs;IT;Designer;Male;Single;990
Harper;35;Budapest;Marketing;Coordinator;Female;Married;810
Liam;22;Budapest;IT;Developer;Male;Single;1250
Aria;31;Szeged;Finance;Analyst;Female;Married;930
Noah;37;Pécs;Sales;Representative;Male;Single;720
Grace;29;Budapest;IT;Team Lead;Female;Married;1520
Oliver;28;Debrecen;Marketing;Manager;Male;Single;1120
Nora;33;Szeged;HR;Assistant;Female;Single;800
1. Készíts egy osztályt, amely tartalmazza a szükséges mezőket. Nem kötelező kidolgozni a property-ket.
2. Írd meg a konstruktort.
3. Készíts egy osztályon belüli virtuális metódust az adatok kiírására.
4. Propertyk kidolgozása (Szorgalmi feladat)
Dolgozd ki a property-ket is, és használd őket az adatokhoz való korrekt hozzáférésre és módosításra.
5. Hibakezelés (Szorgalmi feladat)
Implementálj hibakezelést az alkalmazásban, például az adatok beolvasásakor vagy a fájlba írás során.
6. Az osztály segítségével hozz létre egy listát, amely objektumpéldányokat tartalmaz a forrásfájlból beolvasott adatokkal.
7. A virtuális metódus segítségével írd ki az összes adatot.
A következő feladatokat a program osztályban elhelyezett statikus metódusokkal oldd meg. (Aki szeret kísérletezni, teheti ezeket a metódusokat egy újabb osztályba.) Egyes feladatokat meg lehet oldani LINQ-val is, de ha belefér az időbe, kódoljátok le hagyományosan is. Ha van olyan feladat, ami nem egyértelmű, pl. az, hogyan kell kiírni, ott rád van bízva a megoldás.
8. Függvény segítségével írd ki az életkorok átlagát.
9. Függvény segítségével írd ki azon személyek számát, akiknek a városa 'Budapest'.
10. Függvény segítségével keresd ki, majd a virtuális metódus segítségével írd ki a legidősebb személy adatait.
11. Függvény segítségével döntsd el, majd a főprogramban írd ki, hogy van-e 30 év fölötti személy, és emellett írd ki a nevét is. (Ez a függvény tehát két értéket kell, hogy generáljon, ezt egyetlen szövegként add vissza a főprogramnak, és a főprogram bontsa szét az adatokat, majd utána írja ki.)
12. Függvénnyel válogasd ki azon személyek nevét egy új tömbbe (nem listába), akik 30 évnél fiatalabbak. Ennek a tömbnek a hasznos tartalmát írd ki a főprogramban.
13. Egyetlen függvénnyel keresd meg a legfiatalabb és a legidősebb személyt. A függvénynek legyen két olyan paramétere, amiben az eredményt vissza lehet juttatni a főprogramba, és ott ki lehet írni a nevüket és a korukat. A függvény visszatérési értéke pedig képes legyen azt jelezni, hogy van-e több ugyanolyan korú legfiatalabb személy.
14. Készíts egy függvényt, ami átszámolja az euróban megadott havi fizetést éves fizetéssé, és az eredményt még váltsd át magyar forintba is.
15. Készíts egy függvényt, amelynek visszatérési értéke egy objektumokat tartalmazó lista, amelyben szerepel az 5 millió forint éves fizetés feletti munkavállalók neve és az éves fizetésük forintban. (Az átszámításhoz használd az előző feladat függvényét.) Az elkészült listát a főprogram írja ki egy új fájlba (a virtuális metódus segítségével).
16. Írj egy függvényt, aminek a paramétere az eredeti adatokat tartalmazó listának megfelelő típusú. Ennek segítségével számold ki az összes alkalmazott átlagfizetését.
17. Készíts a főprogramban egy olyan listát, amiben csak a developer beosztásúak találhatók, minden tulajdonságukkal. Hívd meg újra a főprogramból az előző függvényt, de most ez az új lista legyen a paramétere. A főprogram írja ki a developerek átlagfizetését.
18. Számold ki a férfi és női alkalmazottak átlagfizetését tetszőleges módszerrel.
Aki ma nincs itt, pótolja be addig, ameddig a többiek eljutnak.
A jövő héten helyettesítés lesz (09.25-29.), itt a blogban kaptok feladatot, órákon önállóan meg kell oldani.
Október 6-án témazáró lesz, egy teljes feladatsort kell megoldanod. LINQ nem kötelező.
//Monitor vásár
//Egy hardver cég többféle monitort árul. A monitorokról a következő adatokat tároljuk: a monitor gyártója; típusa; mérete; ára;
//illetve amelyik kifejezetten játékra való, ott még megadják azt is, hogy gamer.
//A méret colban van, az ár nettó és forintban értjük.
//Forrásfájl tartalma (a tartalmat használd így, ahogy van, az első sort majd nem kell figyelembe venni beolvasáskor):
//Keszleten levo monitorok
//Samsung;S24D330H;24;33000
//Acer;V227Qbi;21.5;31000
//AOC;24G2U;23.8;66000
//Samsung;Odyssey G9 C49g95TSSU;49;449989;gamer
//LG;25UM58-P;25;56000
//Samsung;C27JG50QQU;27.5;91000
//Feladatok:
//Lehetőleg minden kiírást a főprogram végezzen el. Próbálj minél több kódot újrahasznosítani. Minden feladatot meg kell oldani hagyományosan, és azután, ha tudod, LINQ-val is.
//1. Hozz létre egy osztályt a monitorok adatai számára. Olvasd be a fájl tartalmát.
//2. Írd ki a monitorok összes adatát virtuális metódussal, soronként egy monitort a képernyőre. A kiírás így nézzen ki:
//Gyártó: Samsung; Típus: S24D330H; Méret: 24 col; Nettó ár: 33000 Ft
//2. Tárold az osztálypéldányokban a bruttó árat is (ÁFA: 27%, konkrétan a 27-tel számolj, ne 0,27-tel vagy más megoldással.)
//3. Tételezzük fel, hogy mindegyik monitorból 15 db van készleten, ez a nyitókészlet. Mekkora a nyitó raktárkészlet bruttó (tehát áfával növelt) értéke?
//Írj egy metódust, ami meghívásakor kiszámolja a raktárkészlet aktuális bruttó értékét. A főprogram írja ki az értéket.
//4. Írd ki egy új fájlba, és a képernyőre az 50.000 Ft feletti nettó értékű monitorok összes adatát (a darabszámmal együtt) úgy,
//hogy a szöveges adatok nagybetűsek legyenek, illetve az árak ezer forintba legyenek átszámítva.
//Az ezer forintba átszámítást egy külön függvényben valósítsd meg.
//5. Egy vevő keresi a HP EliteDisplay E242 monitort. Írd ki neki a képernyőre, hogy hány darab ilyen van a készleten.
//Ha nincs a készleten, ajánlj neki egy olyan monitort, aminek az ára az átlaghoz fölülről közelít. Ehhez használd az átlagszámító függvényt (később lesz feladat).
//6. Egy újabb vevőt csak az ár érdekli. Írd ki neki a legolcsóbb monitor méretét, és árát.
//7. A cég akciót hirdet. A 70.000 Ft fölötti árú Samsung monitorok bruttó árából 5%-ot elenged.
//Írd ki, hogy mennyit veszítene a cég az akcióval, ha az összes akciós monitort akciósan eladná.
//8. Írd ki a képernyőre minden monitor esetén, hogy az adott monitor nettó ára a nettó átlag ár alatt van-e, vagy fölötte,
//esetleg pontosan egyenlő az átlag árral. Ezt is a főprogram írja ki.
//9. Modellezzük, hogy megrohamozták a vevők a boltot. 5 és 15 közötti random számú vásárló 1 vagy 2 random módon kiválasztott monitort vásárol,
//ezzel csökkentve az eredeti készletet. Írd ki, hogy melyik monitorból mennyi maradt a boltban.
//Vigyázz, hogy nulla darab alá ne mehessen a készlet. Ha az adott monitor éppen elfogyott, ajánlj neki egy másikat (lásd fent).
//10. Írd ki a képernyőre, hogy a vásárlások után van-e olyan monitor, amelyikből mindegyik elfogyott (igen/nem).
//11. Írd ki a gyártókat abc sorrendben a képernyőre. Oldd meg úgy is, hogy a metódus írja ki, és úgy is, hogy a főprogram.
//12. Csökkentsd a legdrágább monitor bruttó árát 10%-kal, írd ki ezt az értéket a képernyőre.
Feladatsor: Dátum- és Időkezelés C#-ban
1. Feladat: Alapok
Írj egy C# programot, amely megjeleníti a jelenlegi dátumot és időt a következő formában: "Az aktuális dátum és idő: [dátum] [idő]."
2. Feladat: Dátumok összehasonlítása
Készíts egy programot, amely két dátumot kér be a felhasználótól, majd megállapítja, hogy melyik dátum van korábban. Az eredményt a képernyőre írd ki.
3. Feladat: Időintervallum kiszámítása
Készíts egy programot, amely két időpontot (kezdeti és végdátumot) kér be a felhasználótól, majd számold ki és írd ki, hány nap telt el közöttük.
4. Feladat: TimeSpan használata
Hozz létre egy TimeSpan objektumot, amely 2 napot, 5 órát és 30 percet reprezentál. Majd írd ki ezt az időtartamot az alábbi formában: "Az időtartam: 2 nap, 5 óra, 30 perc."
5. Feladat: Fájlbeolvasás és írás
Hozz létre egy szöveges állományt ("adatok.txt"), amelyben egy sorban található egy dátum és egy időpont (pl. "2023-09-20 14:30"). Írj egy programot, amely beolvassa ezt az állományt, majd kiírja a konzolra.
6. Feladat: Fájlban tárolt dátumok összegzése
Módosítsd a korábbi programot úgy, hogy beolvassa az "adatok.txt" állományban található dátumokat, majd számold ki és írd ki az összes időtartamot, ami az aktuális idő és a beolvasott dátum között van. Használd a TimeSpan objektumot az időtartamok számításához.
7. Feladat: LINQ használata
Használd a LINQ lekérdezést a "dátumok.txt" állományban található dátumok közötti legkorábbi és legkésőbbi dátum megtalálására, majd írd ki ezeket a dátumokat a konzolra.
8. Feladat: Keresés időtartam alapján
Készíts egy programot, amely egy megadott időtartam alapján keresi meg azokat a dátumokat az "adatok.txt" állományban, amelyek ezen időtartamon belül vannak. Írd ki ezeket a dátumokat a konzolra.
9. Feladat: Összegzés LINQ segítségével
Használj LINQ lekérdezést az "adatok.txt" állományban található dátumok közötti időtartamok összegzésére. Az eredményt írd ki a konzolra.
10. Feladat: Időrendi sorrendezés LINQ segítségével
Használj LINQ-t az "adatok.txt" állományban található dátumok időrendi sorrendezésére, majd írd ki az eredményt a konzolra.
Pékáruk zsír-és szénhidráttartalma
PÉKÁRUK (Adatok 100 grammra) | Zsír gramm | Szénhidrát gramm |
2.3 | 65.0 | |
1.0 | 53.0 | |
2.4 | 46.0 | |
10.4 | 54.0 | |
1.0 | 50.0 | |
10.6 | 38.3 | |
3.6 | 49.6 | |
1.5 | 49.0 | |
1.8 | 56.4 |
txt:
Abonett; 2,3; 65,0
Alföldi kenyér; 1,0; 53,0
Bakonyi barna kenyér; 2,4; 46,0
Briós; 10,4; 54,0
Erzsébet kenyér; 1,0; 50,0
Fánk; 10,6; 38,3
Fehér kenyér; 3,6; 49,6
Félbarna kenyér; 1,5; 49,0
Francia kenyér; 1,8; 56,4
Ebben a táblázatban a pékáruk nevei mellett elsőként az szerepel, hogy hány gramm zsírt tartalmaznak, másodikként pedig az, hogy hány gramm a szénhidráttartalmuk.
- Olvasd be a fájl tartalmát, majd írd ki a képernyőre.
- Írd ki annak a pékárunak a nevét, amelyiknek a legkisebb a zsírtartalma.
- Rendezd növekvő sorba a szénhidráttartalmat, majd írd ki az új sorrendet. A sorbarendezés során ne vesszen el az eredeti sorrend sem. A sorbarendezésre használhatod az Array.Sort() metódust.
- Keresd meg az első 0,7 gramm zsírtartalmú pékárut. Ha van ilyen,írd ki a nevét. Ha van másik is (harmadik, stb.), annak is írd ki a nevét. Készítsd fel ezt a kódot arra, hogy más pékáruk adataival is jól működjön. Ha pl. nincs ilyen érték, akkor adjon hibaüzenetet.- Írd ki a pékáruk az átlagos szénhidráttartalmát. Ehhez először összegezned kell az értékeket, majd elosztani a darabszámmal.
- Írd ki az átlag alatti szénhidráttartalmú pékáruk neveit egy új fájlba.
A következő feladatsor a dolgozatokra készít fel, ahol egészen hasonló feladatokat fogtok kapni. Kérem a hiányzókat is, hogy pótoljanak lehe...