Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaGizella Gáspár Megváltozta több, mint 6 éve
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
AbsztraktKonkré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)
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Îwx=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
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.