Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Típusok Halmaz (a világ objektumai közül néhány) Neve van

Hasonló előadás


Az előadások a következő témára: "Típusok Halmaz (a világ objektumai közül néhány) Neve van"— Előadás másolata:

1 Típusok Halmaz (a világ objektumai közül néhány) Neve van
Típushoz tartozási döntés (Real Time Type Information, RTTI) Részei lehetnek (Láthatóság!) Műveletei lehetnek Egyszerű típusok összetett típusok Alaptípusok Véges (korlátos méretű) típusok  nem véges típusok Rekurzív típusok

2 Alaptípusok (skaláris típusok, nincsenek részei)
Felsorolástípusok (SILK/SILAN, UML, Pascal, VB) enumeration Boolean {true, false}; enumeration Tristate {true, false, error};

3 Műveletek: Boolean

4 Típusok: Egész, Szöveg Eljáráshívás: Változó = Valami.Függvény(Params)
Operátorok: i = 1.+(3).*(14) i = (1+3)*14 „alma”.concat(„korte”)

5 Dátum

6 AbsztraktKonkrét típusok
Konkrét típusok: az adott gép, platform, programnyelv megvalósításától (ill. ábrázolási módjától függnek Integer, Long, Byte Char Number, Real, Double Számábrázolás / megcímezhetőség Byte: 8 bit – a memória byte-címzésű Szó (Word): bit/ byte Lebegőpontos ábrázolás, mantissza, exponens Fixpontos (Binary Coded Decimal) 1 char (256 féle) = 1 byte Unicode char/Wide char/wchar: ? 2 Byte vagy több?

7 UML-osztálydiagramok (tudnivalók)
Osztályok (típusok, értékek intenzív/intuitív megadású halmaza) Osztályszerkezet: öröklődés: részhalmaz, információs gazdagítás Kapcsolatok: relációk, direktszorzat halmaz egy részhalmaza Megszorítások: osztályok/kapcsolatok egy részhalmaza Paraméteres típus: típusok egy halmaza Csomagok (package)

8

9 Gyűjteménytípusok (collections)
Öröklődés – alosztály - altípus

10 Collection

11 Clark-féle gyűjteményaxiómák A. Dovier-A. Policriti-G
Clark-féle gyűjteményaxiómák A.Dovier-A.Policriti-G.Rossi Uni (Verona,Udine,Parma): A uniform axiomatic view of lists, multisets, sets and the relevant unification algorithms - Halmazok (Set) – az elemek sorrendje és többszörös előfordulásuk nem lényeges Csomagok (Multiset, Bag) – az elemek sorrendje nem lényeges, de a többszörös előfordulásuk igen Compact Lists – az elemek sorrendje lényeges, de a folyamatos többszörös előfordulásuk nem Vektorok (Sequence, List) – mind az elemek sorrendje, mind a többszörös előfordulásul lényeges

12 Listák (vektorok) N: $z"x(xÏz) létezik olyan lista, amelynek egyetlen eleme sincs (az üres lista, nil) Vagyis: (Skolemizálás) "x (xÏnil) W: "yv$w"x(xÎwx=y Ú xÎv), yv-hez létezik olyan w szerkezet (felépíthető olyan lista), hogy x aKKKor a lista eleme, ha vagy megegyezik az y első elemmel, vagy eleme a v maradék listával. Vagyis: Wl: "yvx(xÎ[y|v]x=y Ú xÎv) Lemma1: NW |– "xy (nil ¹ [x|y]) Def: [nil]0 = nil, [nil]1 = [nil], [nil]2 = [[nil]] … stb. Lemma2: NW |– nil ¹ [x|y] NW |– i ¹ j  [nil]i ¹ [nil]j

13 Listák (például) Listaképző operátor: [x|y] Üres lista: [] … nil
Egyelemű lista: [alma] … [alma|nil] Többelemű lista [alma|[körte]]… [alma,körte] Többdimenziós lista: [[alma|[körte]]|[[kutya|[macska]]]] … [[alma,körte],[kutya,macska]] x y | | alma nil | alma körte nil | | nil | | alma | | kutya körte nil macska nil

14 Listák (tovább) NW eldönthetetlen: Gödel szerint az egész aritmetikában felmerülhetnek eldönthetetlen kérdések. Ha megfeleltetjük [nil]i-t i-nek, akkor NW ezen részhalmaza megfelel az egész számoknak, tehát eldönthetetlen. Érdekességképpen, de bizonyítatlanul: [nil, nil] = [nil] nem vezethető le NW-ből [nil, nil] ¹ [nil] nem vezethető le NW-ből

15 Szabadsági axiómák v. Clark-féle egyenlőségaxiómák
F1: "x1…xn y1…yn(f(x1…xn ) = f(y1…yn )  x1 = y1 Ù ... Ù xn = yn) vagyis ugyanazon függvényszimbólummal csak azonos paraméterekből képezhető ugyanazon kifejezés F2: "x1…xm y1…yn(f ¹ g  f(x1…xm ) ¹ g(y1…yn )) vagyis különböző függvényszimbólumokból csak különböző kifejezések képezhetők F3: "x (x ¹ t[x]), ahol t[x] az x kifejezés valódi részkifejezése (occur check, ciklusmentes fák, rational trees, eleme reláció ciklusmentessége)

16 Listák (folytatás) K axióma (N további megszorítása): "xy1…yn(xÏf(y1…yn)) ahol f különbözik a {[ | ]}, a [[ | ]] és a { | } (gyűjteményképző) operátoroktól

17 Csomagok (Multiset, Bag)
Bag operator: {[x|y]} Wm axióma: "yvx(xÎ{[y|v]}x=y Ú xÎv) Egyenlőségi axióma (permutálhatóság): Epm"xyz {[x,y|z]} = {[y,x|z]} F1 axióma nem érvényes a Bag operátorra: F1’: "x1…xn y1…yn(f(x1…xn) = f(y1…yn )  x1 = y1 Ù ... Ù xn = yn) ahol f különbözik a {[ | ]}, a [[ | ]] és a { | } operátoroktól

18 Kompakt listák Compactlist operátor: [[x|y]]
Wc axióma: "yvx(xÎ[[y|v]]x=y Ú xÎv) Egyenlőség (abszorpciós axióma): Eac"xy [[x,x|y]] = [[x|y]] (ugyanazon elem folyamatos előfordulása lényegtelen)

19 Halmazok (Sets) Halmazoperátor: {x|y}
Ws: "yvx(xÎ{y|v}x=y Ú xÎv) (csak formai változtatással) Egyenlőségi axióma (permutálhatóság) (csak formai változtatással): Eps"xyz {x,y|z} = {y,x|z} Egyenlőségi axióma (absorption): Eas"xy {x,x|y} = {x|y}

20 Összefoglalás Multiset = List + Permutativity
Compact List = List + Absorption Set = Compact List + Multiset


Letölteni ppt "Típusok Halmaz (a világ objektumai közül néhány) Neve van"

Hasonló előadás


Google Hirdetések