4. feladatsor (beadási határidő: 2004. okt. 17.)

1. A II. feladatsor 2. feladata alapján definiáljuk az egy dimenziós határozott integrálok osztályát, melynek tagjai az integrandus, a határok és az integrált kiszámító függvény. Származtassuk ebből az egy dimenziós Fouriertranszformáltak osztályát, amelynek a komplex Fourier-transzformáltat számító függvénye a szülő osztály változóit és függvényeit használja (a függvény visszatérési értéke legyen komplex osztály).

2. A II. feladatsor 6. feladatát oldjuk meg osztályok segítségével. A karakterek gyakoriságának és korrelációjának általános meghatározására alkalmas osztályból származtassuk le az ”eszperente” (a magánhangzók közül csak e-t tartalmazó) szövegekre vonatkozó osztályt, ennek konstruktor függvénye ne engedje meg az osztályon kívüli (nem eszperente) szövegekre való alkalmazást. Alkalmazzuk egy hosszabb eszperente szövegre és határozzuk meg az e-vel legjobban korrelláló karaktert. Példa hosszabb eszperente szövegre:

http://www.renyi.hu/private/ribarik/JavaC++/4.gyakorlat/Hazi_feladatok/eszperente.txt

3. Definiáljuk az n dimenziós négyzetes mátrixok osztályát (n legyen az osztály privát tagja). Dolgozzuk ki az algebrai alapműveletek függvényeit az elvégezhetőség - dimenziók - figyelembevételével (összeadás, kivonás, számmal való szorzás, mátrixszorzás, osztás) és a műveleti jelek túlterhelésével egyszerű jelölésmóddal alkalmazzuk egyszerű példákra.

4. Tagfüggvény paraméterlistája és törzse között a const minősítő azt jelenti, hogy az adott tagfüggvény nem változtathatja meg az objektum állapotát. (Pl. int f(int k) const { }) Ennek felhasználásával hozzunk létre olyan osztályt, amely egy kísérlet eredményeit - pl. fényintenzitás a hullámhossz függvényében- tartalmazza, a konstruktor az objektumot egy fájlban található adatokból felépíti, majd az adatok alkalmas tagfüggvényekkel lekérdezhetők, de nem módosíthatók, kivéve azok, amelyeket mutable minősítővel deklaráltunk.

5. Definiáljuk a tömegpontok osztályát! Adattagok: tömeg, koordináták, sebességkomponensek. Tagfüggvények: mozgásegyenlet megoldása adott erőtérben (idő léptetése az explicit Euler-módszerrel). Származtassuk le ebből az osztályból a merev testek osztályát, amely a tehetetlenségi nyomatékot, a térbeli orientációt (pl. Euler-szögek) és a szögsebességeket is tartalmazza adattagként, továbbá a mozgásegyenletek értelemszerűen változnak.

6. Definiáljunk egy sablonosztályt úgy, hogy a négy alapművelet a műveleti jelek túlterhelésével értelmezve legyen és az osztályt double, complex és matrix sablonparaméterrel egyaránt használhassuk! (A matrix osztály - négyzetes mátrixok osztálya- definíciójához a 3. feladat eredményét használhatjuk.)