Harmadik Haskell

A programkód minőségét is fontos (értékelésnél számít):
komment-eljünk,
adjunk "olvasható" neveket a változóknak,
adjuk meg függvények típusait.

Írjunk Haskell függvényeket a következő feladatok megoldására:
  1. Számítsuk ki az e értékét az until függvény használatával.
    Az e szám, a természetes logaritmus alapja, a következő határérték: e = sum_{k,0,inf} 1/k! , ahol k! a k szám faktoriálisát jelöli.
    1
  2. Az until függvény használatával határozzuk meg egy pozitív szám természetes alapú logaritmusának - ln(x)-nek - az értékét.
    Használjuk a következő sorbafejtést:
    ln(1+x) = - sum_{k,0,inf} (-x)^k/k
    Írjuk úgy a kódot, hogy minél hatékonyabb legyen a függvény. Alakítsuk át a divergens sorozatokat a ln(x)=-ln(1/x)összefüggéssel.
    1
  3. Számítsuk ki a Haskell valós precizitását a kettes számrendszerben.
    A precizitás a kettőnek az a legnagyobb negatív hatványa, mely kettővel osztva nullát eredményez. Használjuk az until függvényt.
    1
  4. A bináris fák ábrázolásához tekintsük a következő típust:
    data Ord a => BinFa a =
       Nodus (BinFa a) a (BinFa a)
       | Level
    mely egy bináris fát ábrázol. Írjuk meg a következő függvényeket:
    1. A beszur függvényt, mely egy bináris fába szúr be egy elemet.
    2. A listából függvényt, egy számlistát alakít át bináris fává.
    3. A torol függvényt, mely egy bináris fából egy elemet töröl. Használjuk a MayBe típust a hibakezelésre.
    2
  5. Implementáljuk a 2-3 keresési fákat Haskell-ben. A 2-3 fa minden eleme vagy levél, vagy egy elemet és két oldalágat, vagy két elemet és három ágat tartalmazó struktúra.
    Implementáljuk a bináris keresési fánál definiált műveleteket a 2-3 fákat tartalmazó struktúrára is (a 2-3 fák sajátossága, hogy a beszúrás és törlés műveletek során a fa közelítőleg kiegyensúlyozott).
    3
  6. Definiáljuk a komplex szám adattípust. Írjuk meg a show, az aritmetikai műveleteknek (+,-,*,/,abs) a Haskell kódját.
    2
  7. (opc) Írjunk grafikus felületet a Mandelbrot-halmaz meghatározására.
    3
Vissza!
Levélcím: Lehel _dot_ Csato _at_ cs _dot_ ubbcluj _dot_ ro