2. előadásblokk
Utolsó módosítás: 2005. dec. 13. Hanák Péter
a Deklaratív
programozás c. tárgy funkcionális programozásról tartott előadásai - G.
Smolka német nyelvű jegyzetétkövetve - a következő témákról szóltak.
- Artimetikai kifejezések ábrázolása. Rekurzív adattípusok
deklarálása: datatype exp. Komponensek és részkifejezések:
components, subexps.
- Környezetek ábrázolása: type env, eval. Környezetek
egyesítése: adjoin.
- Polimorf típusok deklarálása, pl. lista, verem.
- Meghiúsulás kezelése 'a option típussal. nth,
valOf, isSome. Int.minInt, Int.maxInt,
- Ennesek, aritmetikai kifejezések, listák ábrázolása fával.
- ,,Tiszta'' fák. Példa: datatype tree = T of tree list.
- Elemi és összetett fák.
- Közvetlen részfák: arity, dst.
- Fával ábrázolt aritmetikai kifejezések alakja: shape.
- Fák lexikális rendezettsége: compare.
- Közvetett részfák: subtree. count, linear,
binary.
- Fák csomópontjainak címzése: ast.
- Fák csomópontjainak száma (mérete), fák mélysége: size,
depth.
- Fák preorder és postorder bejárása. Részfák kiválasztása preorder
sorrendű címzéssel: prest, post.
- Fák kiegyensúlyozott volta: forward, depthb,
balanced.
- Címkézett fák: datatype 'a ltr = L of 'a * 'a ltr list,
head, shape, sameshape.
- Címkézett fák preorder és postorder bejárása.
- Struktúra (structure) és szignatúra (signature).
- Szignatúra áttetsző (transzparens) kötése struktúrához.
- Egy struktúra mezői. Összetett azonosítók.
- Absztrakt adatstruktúrák. Példa: halmaz ábrázolása listával.
type és eqtype.
- Bináris fák
- Absztrakció eljárásokkal: determinisztikus és valószínűségi
prímteszt.
- Absztrakció eljárásokkal: gyökök meghatározása
intervallumfelezéssel, függvény fixpontjának meghatározása, általános
Newton-módszer.
- Lusta kifejezés, függvény és lista Alice-ben: a lazy kulcsszó,
headz, tailz, fromz, squarez, addz,
appendz, mapz, filterz, iteratez, randomz.
- Lusta kifejezés, függvény és lista Alice-ben: sievez,
qroot, , pairssz, enumeratez, interleavez.
- Listák alulról fölfelé haladó rendezése és simarendezése.
Figyelem! A félév utolsó három előadásán nem G. Smolka jegyzetét követtük.
Az előadásdiák a szokásos változatokban letölthetők az itt következők
szerint.
Footnotes
- ... jegyzetét
- Lásd
<http://www.ps.uni-sb.de/~smolka/programmierung.html>.
Hanák Péter
2005-12-13