Professional Documents
Culture Documents
G5gttu Dokumentacio
G5gttu Dokumentacio
G5gttu Dokumentacio
07
Nepunt: G5GTTU
balogh.ricsi.felvi@gmail.com
8. csoport
Feladat
Valósítsa meg az egész számokat tartalmazó halmaz típust! Ábrázolja a halmaz elemeit egy
sorozatban! Implementálja a szokásos műveleteket (adott elem betevése, kivétele, valamelyik elem
kiválasztása – de nem kivétele), valamint a halmaz elemeinek összegét visszaadó műveletet (ehhez
célszerű a halmazt reprezentáló sorozat mellett külön eltárolni ezt az összeget, és ezt karbantartani),
továbbá egy halmaz kiírását!
Típusérték-halmaz
Olyan halmazzal szeretnénk dolgozni mely egész számokat, tartalmaz.
Típus-műveletek
1. Elem betevése:
Egy adott elem betevése a halmazba (ha az elem még nem tagja a halmaznak) az utolsó helyre.
2. Elem kivétele:
Egy adott elem kivételi a halmazból (ha az elem megtalálható a halmazban), az elem magadásával.
Egy változóban el van tárolva és karban van tartva a halmaz elemeinek összege.
Reprezentáció
Egy egész elemeket tartalmazó vektor, illetve ezen vektor elemeinek az összege, melyet a
műveleteknél helyesen karbantartunk.
1,2,3,4,5 <v[0],v[1],v[2],v[3],v[4]>
Ennek megfelelően: { v[i] | i0,1..}
Implementáció
Az implementációban az indexelés 0-tól történik!
1. Elem betevése:
_vec vektorrban tároljuk a halmaz elemeit, adott egy indexOfElement: H -> L függvény, melynek az
értéke -1, ha a keresett elem nincs a halmazban, más esetben az elem indexe, a number válltozó
pedig az adott elem, amit be akarunk rakni a halmazba, a _value változó pedig a halmaz elemeinek az
összegét tárolja.
2. Elem kivétele:
_vec vektorrban tároljuk a halmaz elemeit, adott egy indexOfElement: H -> L függvény, melynek az
értéke -1, ha a keresett elem nincs a halmazban, más esetben az elem indexe, a nmb válltozót akarjuk
kivenni a halmazból, a _value változó pedig a halmaz elemeinek az összegét tárolja.
Mivel karbantartottuk a _value adattagját a halmazunknak ezért elegendő, csak a _value értékét
visszaadnánk
setValue = _value
Tesztelési terv
Megvalósított műveletek tesztelése.
Megj: A kiíró operátorok teszteléséhez elég, hogy ezeket a fenti esetek tesztelésénél intenzíven
használjuk.