G5gttu Dokumentacio

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

Balogh Richárd 7. Feladat 2020.03.

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!

Egész számokat tartalmazó halmaz


típus
A feladat lényege egy felhasználói típusnak az egész számokat tartalmazó halmaz típusnak
megvalósítása.

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.

3. Utolsó elem kiválasztás:

Ha nem üres a halmaz, akkor ez a metódus visszaadja a halmaz utolsó elemét.

4. Halmaz elemeinek összege:

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] | i0,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.

3. Utolsó elem kiválasztás:

Visszaadjuk az utolsó elemet, ha létezik, de nem vesszük ki a halmazból.

Tehát: checkElement = _vec[_vec.size()-1]

4. Halmaz elemeinek összege:

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.

1) Különböző méretű halmazok létrehozás:


a) 0,3,6 elemű halmazok.
2) A halmaz elemmel való bővítése:
a) Olyan elem berakása mely nem létezik.
b) Több elem berakása.
c) Üres halmaz bővítése.
3) A halmaz utolsó elemének lekérdezése:
a) A halmazban több elem van.
b) A halmazban egy elem van.
4) A halmaz elemmel való szűkítése:
a. Több elemű halmaz szűkítése.
b. Egy elemű halmaz szűkítése.
c. Több elemű halmaz kiürítése.
5) értékadó operátor tesztelése:
a. Üres konstruktor tesztelése.
b. Konstruktor kipróbálása egy adott értékkel.

Megj: A kiíró operátorok teszteléséhez elég, hogy ezeket a fenti esetek tesztelésénél intenzíven
használjuk.

Tesztesetek a kód alapján (fehér doboz tesztelés):

1. Minden lehetséges kivétel generálása és elkapása.

You might also like