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

Slides:



Advertisements
Hasonló előadás
Deduktív adatbázisok.
Advertisements

C# nyelvi áttekintő A „Programozás C# nyelven (Illés Zoltán)”
 Megfigyelhető, hogy amikor több elem közötti összehasonlítás történik, akkor szükség van egyszerre több értékre is, főleg akkor, ha ezek az értékek jóval.
Probléma formálisan specifikált: valós világ (domai) (hibás eredmény) ködös határ (félreértés, hiba) formális világ (megoldás) A specifikáció csak nagyvonalakban.
Összetett adattípusok 8/b tétel
Tömbök C#-ban.
Racionális számok számítógépi ábrázolása
ADATBÁZIS KEZELÉS – Adattípusok
Lambda kalkulus.
Determinisztikus programok. Szintaxis: X : Pvalt program változók E : Kifkifejezések B : Lkiflogikai kifejezések C : Utsutasítások.
Adatbányászati technikák (VISZM185)
Készítette: Vadász Péter
1.) A programfejlesztés hagyományos életciklus modellje és adattípus.
© Kozsik Tamás Tömbök, kollekciók és egyéb alaposztályok.
Turbo Pascal Változók.
Csala Péter ANDN #4. 2 Tartalom  C# - ban előre definiált típusok  Változók  Változókkal műveletek  Elágazás  Ciklus.
Bevezetés a Java programozásba
Vizuális modellezés Uml és osztálydiagram UML eszközök
Programozás II. 3. Gyakorlat C++ alapok.
Csernoch Mária Adatábrázolás Csernoch Mária
Mutatók, tömbök, függvények
Reprezentációs függvény. Adva egy adattípus absztrakt és konkrét specifikációja: d a = ( A, F, E a ); d c = ( C, G, E c ); A = {A 0,..., A n };C = {C 0,...,
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
2 tárolós egyszerű logikai gép vázlata („feltételes elágazás”)
Alphabet is a type specification = sorts: alphabet oprs: a:  alphabet,...,z:  alphabet end alphabet; nat is a type specification = sorts:nat oprs:zerus:
A számfogalom bővítése
Szám - számrendszer 564,2 = 5* * * *10-1
Az UML kiterjesztési lehetőségei
PHP I. Alapok. Mi a PHP? PHP Hypertext Preprocessor Szkriptnyelv –Egyszerű, gyors fejlesztés –Nincs fordítás (csak értelmező) Alkalmazási lehetőségek:
Fixpontos, lebegőpontos
SQL, Relációs adatmodell
Programozás Az adatokról C# -ban.
Programozási Nyelvek (C++) Gyakorlat Gyak 02.
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
Alprogramok deklarációja, definíciója és meghívása Páll Boglárka.
Karakterláncok Páll Boglárka.
Programozási nyelvek Páll Boglárka.
Ismétlés A pascal program szerkezete: program programnev; Programfej
Karakterláncok Páll Boglárka. Karakterláncok Karakterlánc olyan karakterek sorozata amelyek az ASCII táblázatban találhatók. Maximális hossza rögzített,
Kifejezések a Pascalban Páll Boglárka. Ismétlés: Ahogy algoritmikából láttuk, a kifejezések a Pascal nyelvben is operátorokból és operandusokból állnak.
Hernyák Zoltán XML Schema sémadefiníció.
Scala KOVÁCS VINCENT. Gyűjtemények – Collections  Scala több féle gyűjteménnyel rendelkezik:  Listák (Lists)  Halmazok (Sets)  Maps  Tuple  A gyűjtemények.
Adatbázis-kezelés.
Koncepció: Specifikáció: e par exp i = eb imp bod ib Specifikáció elemzése: tulajdonságok felírása a koncepció alapján + tulajdonságok bizonyítása.
Egyenesvonalú (lineáris) adatszerkezetek
A Visual Basic nyelvi elemei
1 Mivel foglalkoz(t)unk a laborokon? 1.hét: Word dokumentumok 1.hét: Word dokumentumok tagolása, tartalomjegyzék, ábrák számozása, hivatkozások, egyenlet-szerkesztő.
Adatbáziskezelés. Adat és információ Információ –Új ismeret Adat –Az információ formai oldala –Jelsorozat.
Free pascal feladatok
1 Mivel foglalkoz(t)unk a laborokon? 1.Labor: Word alapok Excel alapok: Excel alapok: Cellahivatkozás, munkalapfüggvény, diagram varázsló, trendvonal 2.
Halmazok Érettségi követelmények:
Kiterjesztések szemantikája: Szemantikai tartomány : Adatoknak, vagy értékeknek egy nem üres halmazát szemantikai tartománynak nevezzük. Jelölése: D. Egy.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás I. 3. gyakorlat.
Paraméterátadó-morfizmus diagramja: p: tartalmazás SPEC SPEC 1 h : SPEC  SPEC' h 1 : SPEC 1  SPEC 1 ' SPEC' SPEC 1 ' p': tartalmazás SPEC: paraméter.
Példa. Az ábrázolás szemléltetése.  = ({stack, elem },{ create :  stack; push : stack elem  stack}),  = ( {vector, nat, elem}, { create c :  vector.
Adatbázisszintű adatmodellek
INFOÉRA 2006 Nagypontosságú aritmetika III.
A szoftver mint komplex rendszer: objektumorientált megközelítés.
Script nyelvek előadás
Elemi adattípusok.
Informatikai gyakorlatok 11. évfolyam
Kifejezések C#-ban.
Példa: Dinteger = {..., -1,0,1,...}; Dboolean = {true, false};
VB ADATTÍPUSOK.
Adatszerkezetek.
Egy egyszerű gép vázlata
Bevezetés a matematikába I
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
A számítógép működésének alapjai
Függvénysablonok használata
Előadás másolata:

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

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};

Műveletek: Boolean

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”)

Dátum

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): 8-16-32-64 bit/1-2-4-8 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?

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)

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

Collection

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

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

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

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

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)

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

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

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)

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}

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