Adatszerkezetek -- Típusok

Slides:



Advertisements
Hasonló előadás
Programozási feladatok
Advertisements

C++ programozási nyelv Gyakorlat hét
Determinisztikus programok. Szintaxis: X : Pvalt program változók E : Kifkifejezések B : Lkiflogikai kifejezések C : Utsutasítások.
Programozási alapismeretek 5. előadás. ELTE Szlávi - Zsakó: Programozási alapismeretek 5.2/  Programozási tételek.
Programozási alapismeretek 6. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 6.2/  Rekordok/struktúrák.
Algebrai specifikációk Szlávi Péter ELTE IK Média- és Oktatásinformatikai Tanszék
1.) A programfejlesztés hagyományos életciklus modellje és adattípus.
Copyright, 2009 © Szlávi Péter A kupac és a prioritási sor típuskonstrukciók Szlávi Péter ELTE IK Média- és Oktatásinformatikai Tanszék
Kocsisné Dr. Szilágyi Gyöngyi. Elérehet ő ség: aszt.inf.elte.hu/~szilagyi/ aszt.inf.elte.hu/~szilagyi Fogadó óra: hétf ő
Programozási alapismeretek 4. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 4.2/  A szöveg A szöveg.
Programozási alapismeretek 2. előadás. ELTE Szlávi - Zsakó: Programozási alapismeretek 2.2/  Adatokkal kapcsolatos.
Programozási alapismeretek 3. előadás
Programozási alapismeretek
Programozási alapismeretek 1. előadás
Programozási alapismeretek 5. előadás. ELTE 2/  Programozási tételek – a lényeglényeg  Sorozatszámítás Sorozatszámítás.
Programozási alapismeretek 8. előadás. ELTE 2/  További programozási tételek További programozási tételek 
Programozási alapismeretek 12. előadás. ELTE  Tapasztalatok a rendezésről Tapasztalatok a rendezésről  Keresés rendezett sorozatban Keresés rendezett.
Halmazok, relációk, függvények
Programozáselmélet Logikák és módszerek a programhelyesség bizonyításához.
Készítette: Pető László
ELTE Szlávi - Zsakó: Programozási alapismeretek 5.1/ Keresés Specifikáció:  Bemenet: N:Egész, X:Tömb[1..N:Valami]
ELTE Szlávi-Zsakó: Programozási alapismeretek 8.1/ Kiválogatás Specifikáció:  Bemenet: N:Egész, X:Tömb[1..N:Valami]
ELTE Szlávi-Zsakó: Programozási alapismeretek 10.1/ Összegzés mátrixra Feladat: Egy mátrix elemeinek összege.
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,...,
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
5. előadás Parametrikus polimorfizmus. Generikus programozás. Az Ada sablonok.
ELTE Szlávi - Zsakó: Programozási alapismeretek 5.1/ Sorozatszámítás Specifikáció (a végleges) :  Bemenet:
ELTE Szlávi-Zsakó: Programozási alapismeretek Szlávi-Zsakó: Programozási alapismeretek 3. 1/
Alphabet is a type specification = sorts: alphabet oprs: a:  alphabet,...,z:  alphabet end alphabet; nat is a type specification = sorts:nat oprs:zerus:
Copyright, 1999 © Szlávi Péter Prioritási sor típuskonstrukció Szlávi Péter ELTE Informatika Szakmódszertani Csoport
Copyright, 1999 © Szlávi Péter Verem típuskonstrukció Szlávi Péter ELTE IK Média- és Oktatásinformatikai Tanszék
A számfogalom bővítése
A problémamegoldás lépései
ELTE Adatokkal kapcsolatos fogalmak  Konstans: az az adat, amely a műveletvégzés során nem változtat(hat)ja meg értékét, mindvégig ugyanabban az „állapotban”
Természetes és formális nyelvek Jellemzők, szintaxis definiálása, Montague, extenzió - intenzió, kategóriákon alapuló gramatika, alkalmazások.
3.2. A program készítés folyamata Adatelemzés, adatszerkezetek felépítése Típus, változó, konstans fogalma, szerepe, deklarációja.
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.
Copyright, 1999 © Szlávi Péter Sor típuskonstrukció Szlávi Péter ELTE IK Média- és Oktatásinformatikai Tanszék
Egyenesvonalú (lineáris) adatszerkezetek
Podoski Péter és Zabb László. Bevezető Algoritmus-vizualizáció témakörében végeztünk kutatásokat és fejlesztéseket Felmértük a manapság ismert eszközök.
Copyright, 1999 © Szlávi Péter Szövegfeldolgozás 1.
Algoritmizálás, adatmodellezés tanítása 2. előadás.
File- típus-konstrukciók Szlávi Péter ELTE Informatika Szakmódszertani Csoport
Programozás, programtervezés
Programozási alapismeretek * A Zh-írás módszertana.
Programozási alapismeretek 8. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 8.2/  További programozási.
Algoritmizálás, adatmodellezés
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.
5. előadás Parametrikus polimorfizmus. Generikus programozás. Az Ada sablonok.
Programozási alapismeretek 2. előadás. ELTE Szlávi - Zsakó: Programozási alapismeretek 2.2/  Adatokkal kapcsolatos.
Algoritmizálás, adatmodellezés tanítása 6. előadás.
Geometriai feladatok programozása Geometriai programozás Szlávi Péter ELTE IK Média- és Oktatásinformatika Tanszék 2010.
Copyright, 1999 © Szlávi Péter Táblázat típuskonstrukció Szlávi Péter ELTE IK Média- és Oktatásinformatikai Tanszék
Félcsoport (semigroup) = ({s},{ *: s s  s [infix]}. semigroup is a type specification = sorts: s oprs: *: s s  s [infix] eqns: m 1, m 2, m 3  s (m 1.
Adatszerkezetek és algoritmusok 2008/ Algoritmus Az algoritmus szó eredete a középkori arab matematikáig nyúlik vissza, egy a i.sz. IX. században.
Példa. Az ábrázolás szemléltetése.  = ({stack, elem },{ create :  stack; push : stack elem  stack}),  = ( {vector, nat, elem}, { create c :  vector.
2. gyakorlat INCK401 Előadó: Dr. Mihálydeák Tamás Sándor Gyakorlatvezető: Kovács Zita 2015/2016. I. félév AZ INFORMATIKA LOGIKAI ALAPJAI.
Hatékony-e a rekurzió? FÉLEGYHÁZI TAMÁS GÁBOR 1 Kovács Magda-díj pályázat 2015/16.
Programstruktúrák. Program A program utasítások olyan sorozata, amely a számítógépen önállóan képes megoldani egy feladatot. A program háttértáron futtatható.
Programozási alapok.
Programozási nyelvek típusossága.
Compiler illetve interpreter nyelvek
Programozási nyelvek alapfogalmai
Programozási tételek általánosítása 1.
Gráfok 2. Szlávi Péter ELTE IK Média- és Oktatásinformatikai Tanszék
Algoritmus készítés.
Rekurzió 3. Szlávi Péter ELTE Informatika Szakmódszertani Csoport
Absztrakt problémák Q  I  S, az absztrakt probléma kétváltozós reláció az esetek (I) és a megoldások (S) halmazán Példa: legrövidebb út Eset: gráf és.
Előadás másolata:

Adatszerkezetek -- Típusok Pap Gáborné -- Szlávi Péter ELTE Informatika Szakmódszertani Csoport papne@ludens.elte.hu, szlavi@ludens.elte.hu http://izzo.inf.elte.hu/

Adatszerkezetek -- Típusok Tartalom 0. Bevezetés 1. Mi a típus 2. A típus algebrai specifikációjáról 3. A modul 4. Záró gondolatok 5. Irodalom 2019.04.16. Adatszerkezetek -- Típusok

Adatszerkezetek -- Típusok 0. Bevezetés Amiről szó lesz: hogyan tanítjuk… ELTE, informatika tanári szak, Programozásmódszertan tárgy, 2. félév Központi fogalom: a típus Előzmények: szerény absztrakciós készség 1. félév: algoritmikus absztrakció elemei Célok: absztrakciós készségnövelés moduláris programozás objektum-elvű programozás Ad Központi fogalom: A típus egy nélkülözhetetlen eszköze a programépítésnek. Csak jó eszközzel lehet jó terméket gyártani. Tehát fontos jól, megbízhatóan elkészíteni eszt az eszközt. Ad 1. félév: Egy „absztrakt” algoritmikus nyelv és egy „konkrét” programozási nyelv (Pascal). Strukturált programozás elve(i) és módszertana (programépítés lépései). Programozási tételek, programtranszformációk fogalma, és építkezés általuk. (Elő-utófeltételes) feladat és programspecifikáció fogalma, és kapcsolatuk a programépítés egyes lépéseivel. 2019.04.16. Adatszerkezetek -- Típusok

Megengedett értékek halmaza 1. Mi a típus A típus egy „adatuniverzum”, amelyet meghatároz: az értékhalmaza + az asszociált műveletei (+ megvalósítása) Megengedett értékek halmaza operáció Ad adatuniverzum – hasonlatok: Egy „üres keret”, amely „betölthető” odaillő adategyedekkel; vagy egy szabályrendszer, amely leírja a hozzáilleszkedő adatokat. 2019.04.16. Adatszerkezetek -- Típusok

Megengedett értékek halmaza 1. Mi a típus Amit a típusról tudni kell: operátor-szignatúra – „szintaktika” operátor-működés – szemantika Megengedett értékek halmaza operáció operáció operáció 2019.04.16. Adatszerkezetek -- Típusok

Adatszerkezetek -- Típusok 1. Mi a típus Szintaxis-definiálás: absztrakt – függvényként konkrét – „használati felület” (export modul) Op:DR Pl.: Push:VxEV Nyelvfüggő. Pl.: (Pascal-szerűen) Procedure Push(Var v:TVerem; e:TElem) 2019.04.16. Adatszerkezetek -- Típusok

Adatszerkezetek -- Típusok 1. Mi a típus Szemantika-definiálás: kapcsolat – algebrai specifikáció egyedi leképezés – (implicit) algoritmikus specifi-káció (export modul) megvalósítás – explicit algoritmikus specifikáció (reprezentációs-implementációs modul) Megjegyzések: 1. Mindegyik ugyanarról „szól”, de más absztrak-ciós szinten. 2. Célszerűen egymásra épülően definiálni a típus „biztonságos” definiálása érdekében. Hasznos analógia: feladat/program-specifikáció  típus-specifikáció   algoritmikus program  típusmegvalósítás = modul. 2019.04.16. Adatszerkezetek -- Típusok

2. A típus algebrai specifikációjáról Szintaktikai minta: Szintaktikai „minta” Magyarázat Axiómák: objektum: Típus(paraméterek) = értelmező megjegyzés … 1o az axióma megnevezése (esetleg informális szövege) a formalizált axióma 2o ……   Az operációk kapcso-latát leíró axiómák, és a bennük fölhasznált ob-jektumok „deklarációi”. Esetleg kibővítve fontos bizonyítható, bizonyí-tandó következmény-állításokkal. Típus TípusKonstrukció(paraméterek): Asszociált műveletek: Operáció(értelm.tart.):Ért.készl. A definiálandó típus-konstrukció fejsora. Operációinak szigna-túrája (értelmezési tar-tománya, értékkészlete) Ad Típuskostrukció: Paraméterezetten típusok „családja” A „családtagok” hasonlatossága, közös jellegzetességei egyszer tisztázandók. Ad Asszociált műveletek: A típus korábban emlegetett értékhalmazát a 0-változós konstans operációk alkotják, valamint a belőlük a konstrukciós műveletekkel transzformálható további elemek alkotják. Tehát az értékhalmaz konstruktív, az előbbi értelemben. Ad Axiómák: * Állítások (és bizonyításuk) is idekerülnek. 2019.04.16. Adatszerkezetek -- Típusok

2. A típus algebrai specifikációjáról Példa: Típus TNap: Asszociált műveletek: Hétfő,Kedd,Szerda,Csütörtök,Péntek,Szombat,Vasárnap, Min,Max:TNap Számosság:Egész Létrehoz:TNap Következő(TNap):TNap  {NemDef} Előző(TNap):TNap  {NemDef} Sorszám(TNap):Egész TNap(Egész):TNap  {NemDef} <(TNap,TNap):Logikai =(TNap,TNap):Logikai Típus TNap: Asszociált műveletek: Hétfő,Kedd,Szerda,Csütörtök,Péntek,Szombat,Vasárnap, Min,Max:TNap Számosság:Egész Létrehoz:TNap Következő(TNap):TNap  {NemDef} Előző(TNap):TNap  {NemDef} Sorszám(TNap):Egész TNap(Egész):TNap  {NemDef} <(TNap,TNap):Logikai =(TNap,TNap):Logikai Általában a típusokhoz rendelt operációk: Min, Max, < – minden rendezett típushoz hozzásrendeljük Számosság – minden véges típushoz hozzásrendeljük ‘=‘ – minden típushoz hozzárendeljük Sorszám, Típus – általános konverziós függvények Ad Konstans operóciók: Ritka pillanat, amikor a típus értékhalmazát explicite adjuk meg, elemeinek felsorolásával. Axiómák: a:TNap n:Egész Axiómák: a:TNap n:Egész 2019.04.16. Adatszerkezetek -- Típusok

2. A típus algebrai specifikációjáról Példa: (folytatás) 0o Konstans-axióma Számosság=7  Min=Hétfő  Max=Vasárnap 1o Létrehozás-axióma a=Létrehoz  a=Hétfő 2o Előző-Következő axióma Előző(a)  Következő(Előző(a))=a  Következő(a)  Előző(Következő(a))=a 3o Előző-Következő hiba-axióma Előző(Hétfő)=NemDef  Következő(Vasárnap)=NemDef 4o Sorszám-axióma Sorszám(Hétfő)=0  Sorszám(Vasárnap)=6 5o Sorszám-TNap axióma n[0..Számosság)  Sorszám(TNap(n))=n  TNap(Sorszám(a))=a 0o Konstans axióma Számosság=7  Min=Hétfő  Max=Vasárnap 1o Létrehozás axióma a=Létrehoz  a=Hétfő 2o Előző-Következő axióma Előző(a)  Következő(Előző(a))=a  Következő(a)  Előző(Következő(a))=a 3o Előző-Következő hiba-axióma Előző(Hétfő)=NemDef  Következő(Vasárnap)=NemDef 4o Sorszám axióma Sorszám(Hétfő)=0  Sorszám(Vasárnap)=6 5o Sorszám-TNap axióma n[0..Számosság)  Sorszám(TNap(n))=n  TNap(Sorszám(a))=a Ad példa: a műveletek szignatúrájának információtartalma. (Pl. a Létrehoz értelmezési tartomány nélküli függvény, amely a „semmiből” kreálja meg az adott típusú adatot.) a NemDef egy típusfüggetlen konstans (tiltott művelet végrehajtásához). (implicit error-axióma). 2019.04.16. Adatszerkezetek -- Típusok

2. A típus algebrai specifikációjáról Példa: (folytatás) 6o TNap hiba-axióma n[0..Számosság)  TNap(n)=NemDef 7o Következő-axióma Következő(Hétfő)=Kedd  Következő(Kedd)=Szerda … 8o Rendezési axióma a<b  Sorszám(a)<Sorszám(b) … 9o Azonosság-axióma a=b  Sorszám(a)=Sorszám(b) … 10o Következő-Sorszám axióma Következő(a)  Sorszám(Következő(a))=Sorszám(a)+1 1. Állítás: Sorszám(Kedd)=1  … Bizonyítás: … 2. Állítás: (Min<a  Min=a)  (a<Max  a=Max) Bizonyítás: … 6o TNap hiba-axióma n[0..Számosság)  TNap(n)=NemDef 7o Következő-rendezési axióma Következő(Hétfő)=Kedd  Következő(Kedd)=Szerda … 8o Rendezési axióma a<b  Sorszám(a)<Sorszám(b) … 9o Azonosság-axióma a=b  Sorszám(a)=Sorszám(b) … 10o Következő-Sorszám axióma Következő(a)  Sorszám(Következő(a))=Sorszám(a)+1 1. Állítás: Sorszám(Kedd)=1  … Bizonyítás: … 2. Állítás: (Min<a  Min=a)  (a<Max  a=Max) Ad példa: a NemDef egy típusfüggetlen konstans (tiltott művelet végrehajtásához). (implicit error-axióma). a 8o axiómában visszavezetjük a <TNap rendezést a <Egész rendezésre. A 9o-ben pedig a =TNap rendezést a =Egész azonosságra. Másik példa 2019.04.16. Adatszerkezetek -- Típusok

2. A típus algebrai specifikációjáról Megjegyzés: Az algebrai leírás „legfőbb” pedagógiai haszna, hogy jól elemezhetővé válik általa a típus: műveleteinek elégségessége, teljessége, ellent-mondásmentessége, s esetleges minimalitása. 2019.04.16. Adatszerkezetek -- Típusok

Adatszerkezetek -- Típusok 3. A modul Túl a (típus-) specifikáción: útban a megvalósítás felé: „Felületes” tudnivalók – export modul Részletezés – reprezentációs-implementációs modul A modulok tulajdonságai Szintaktikai mintaadás (hogyan használható?) Szemantikamegadás (mit csinál?) Szemantikamegvalósítások (hogyan működik?) 2019.04.16. Adatszerkezetek -- Típusok

3. A modul Export modul – szintaktika: exportálandó fogalmak „értelmesen” csoportosított felsorolása Export modul – szintaktika: ExportModul TípusNév(InputParaméterek): Típus Tip1,Tip2,... Konstans Kons1,Kons2,... Függvény Fv1(FormParam): FvTip1 Ef: … előfeltétel … Uf: … utófeltétel … … Eljárás Elj1(FormParam) Ef: … előfeltétel … Uf: … utófeltétel … … Modul vége. az operációk „fejsorai” és működésük leírása Az InputParaméterek lehetnek típust jellemző konstansok, de –típuskonstrukció esetén– típusok is. (Szokás e paramétereket ’generic parameter’-nek nevezni.) A modulfej egyben a felhasználás „mintájául” is szolgál. 2019.04.16. Adatszerkezetek -- Típusok

Adatszerkezetek -- Típusok 3. A modul Megjegyzések: InputParaméterek: típust jellemző konstansok, vagy típusok. (’generic parameter’) A „fő típuson” kívüli egyéb típusok exportálására ritkán van szükség. Ez esetben is csak azonosítókat kell felsorolni, a definíciók nem része az export modulnak! A modulfej a felhasználás „mintájául” is szolgál. Pl.: ExportModul Verem(Típus TElem) …  Változó zsák:Verem(Szöveg) 2019.04.16. Adatszerkezetek -- Típusok

Adatszerkezetek -- Típusok 3. A modul Fontos alapelvek: Az elő-utófeltételekben ne hivatkozzunk más operációkra (elkerülendő a -rekurzió)! Ne kössük meg kezünket se a reprezentáció, se az implementáció tekintetében! Szükséges (bár sokszor szokatlan) bővítések: Egyenlőség-vizsgálat Értékadás I/O Hibaflag-kezelés Létrehozás Lerombolás 2019.04.16. Adatszerkezetek -- Típusok

Példa a felhasználás szintaxisára: 3. A modul Példa: ExportModul TNap: [kiindulási alap az algebrai leírás] Konstans Hétfő,Kedd,Szerda,Csütörtök,Péntek,Szombat, Vasárnap:TNap Operátor Min:TNap Másnéven Min’TNap Ef: – Uf: Min=Hétfő Operátor Max:TNap Másnéven Max’TNap Ef: – Uf: Max=Vasárnap Az ún. típusattribútum függvények speciális szintaxisú operátorok. Erre utal a ‘Másnéven’ kulcs-szó, ahol kiderül a használat szintaxisa is. Példa a felhasználás szintaxisára: Ciklus n:=Min’TNap-tól Max’TNap-ig 2019.04.16. Adatszerkezetek -- Típusok

Adatszerkezetek -- Típusok 3. A modul Példa: (folytatás) Operátor Számosság:Egész Másnéven Számosság’TNap Ef: – Uf: Számosság=7 Függvény Következő(Változó x:TNap):TNap Ef: xVasárnap Uf: Következő(Hétfő)=Kedd  … Függvény Előző(Változó x:TNap):TNap … Függvény Sorszám(Konstans x:TNap):Egész … Függvény TNap(Konstans x:Egész):TNap … Ad Kiemelt ‘Változó’ kulcs-szó: A TNap típus megváltozhat az által is, ha csak hibásan hajtható végre a művelet: változik a hibaflag értéke. 2019.04.16. Adatszerkezetek -- Típusok

Kivételes elvtelenség! 3. A modul Példa: (folytatás) Operátor Be(Változó x:TNap) Másnéven Be:x Ef: Input{’hétfő’,’kedd’,’szerda’…} Uf: Input=’hétfő’  x=Hétfő  Operátor Ki(Konstans x:TNap) Másnéven Ki:x Ef: – Uf: x=Hétfő  Output=’hétfő’  Infix Operátor Kisebb(Konstans x,y:TNap):Logikai Másnéven x<y Ef: – Uf: Sorszám(x)<Sorszám(y) Ad Be/Ki operátorok: Két probléma: Kűlvilággal való kapcsolattartás leírása. Megoldás: Input/Output kulcs-szóval jelölt puffer (Szöveg-típusú objektum). Szöveg–TNap típuskonverzió. Kivételes elvtelenség! 2019.04.16. Adatszerkezetek -- Típusok

Adatszerkezetek -- Típusok 3. A modul Példa: (folytatás) Infix Operátor Azonos(Konstans x,y:TNap):Logikai Másnéven x=y Ef: – Uf: Sorszám(x)=Sorszám(y) Függvény Hibás?(Változó x:TNap):Logikai [teszteli, hogy volt-e hibásan elvégzett művelet (pl. amelynek az előfeltétele nem teljesült) az adott TNap típusú adatra; majd inicializálódik a hibaflag] Modul vége. Ad Másik példa: A példából körvonalazódik egy nyelv, a „sorozatnyelv”, amely jól alkalmazható a „saját hatáskörben” történő leíráshoz. Másik példa 2019.04.16. Adatszerkezetek -- Típusok

Adatszerkezetek -- Típusok 3. A modul (Reprezentációs-implementációs) Modul – szintaktika: Modul TípusNév(InputParaméterek): Reprezentáció … [a típusábrázoláshoz szükséges adatleíró „kellékek”] Implementáció … [itt szerepelnek az export-modulban „megjósolt” tevékenységek operációinak implementálása …] Inicializálás … [egy ilyen típusú adat létrehozása az itt leírt utasításokkal történik] Modul vége. Megjegyzés: elő-utófeltétel párok „értelmesen” igazítva a repre-zentációhoz 2019.04.16. Adatszerkezetek -- Típusok

3. A modul Példa: Modul TNap: [kiindulási alap az export modul] Reprezentáció Változó felsKód:Egész hiba:Logikai Konstans Hétfő:(0,Hamis) Kedd:(1,Hamis) … Vasárnap:(6,Hamis) L. Axiomatikus leírás 4o axiómáját! L. Axiomatikus leírás 1. állítását. L. Axiomatikus leírás 4o axiómáját! 2019.04.16. Adatszerkezetek -- Típusok

Az elő-utófeltétel változatlan: kihagyható. 3. A modul Példa: (folytatás) Az elő-utófeltétel változatlan: kihagyható. Implementáció Operátor Min:TNap Másnéven Min’TNap Min.felsKód:=Hétfő.felskód Operátor vége. … Függvény Következő(Változó x:TNap):TNap Ef: felsKódVasárnap.felskód Uf: felsKód=Hétfő.felskód  Következő(x).felsKód=Kedd.felskód  … Ha felsKód=Vasárnap.felskód akkor hiba:=Igaz különben Következő.felsKód:=felsKód+1 Függvény vége. L. Axiómatikus leírás 10o axiómát. 2019.04.16. Adatszerkezetek -- Típusok

Adatszerkezetek -- Típusok 3. A modul Példa: (folytatás) … Függvény Hibás?(Változó x:TNap):Logikai Hibás?:=hiba; hiba:=Hamis Függvény vége. Inicializálás hiba:=Hamis; felsKód:=Hétfő.felskód Modul vége. 2019.04.16. Adatszerkezetek -- Típusok

Adatszerkezetek -- Típusok 3. A modul A tervezés után a kódolás következik. Ezt a lépést a programozási nyelvek a különféle módon támogatják. Lingua franca: Turbo Pascal nyelv. Probléma: a modul számára kínálkozó unit fogalom paraméterezhetetlen volta. Kikerülhető ez a hiányosság az include lehetőség felhasználásával, vagy az objektum-osztály fogalmának bevezetésével. 2019.04.16. Adatszerkezetek -- Típusok

Adatszerkezetek -- Típusok 4. Záró gondolatok Ezen elvi alapokon nyugszanak az alábbi adatszer-kezetek oktatása (is): Lista Tömb Verem Sor Táblázat File-ok Rekurzió Gráfok Ad Rekurzió: Hasznos előzetes tapasztalat szerezhető ez által a funkcionális nyelvekhez. A 3., ill. 4. félévben… 2019.04.16. Adatszerkezetek -- Típusok

Adatszerkezetek -- Típusok 4. Záró gondolatok A programozás folyamatának szemlélete szerint Szoros kapcsolatok vannak az egyes lépések között. Így növelhető a program biztonsága. Sokszor formálisan is bizonyítható a továbblépés jósága. De ha nem, akkor is igényt épít ki a precízségre. Jótékony mellékhatás: az absztrakciós képesség növekedése. 2019.04.16. Adatszerkezetek -- Típusok

Adatszerkezetek -- Típusok 5. Irodalom [SzZs1] Szlávi Péter, Zsakó László: Programozási bevezető. ELTE TTK Informatikai Tanszékcsoport, 1995 [Sz1] Szlávi Péter : Programozási tételek szerepe a gyakorlati programozásban. <http://izzo. inf.elte.hu/szlavi/ProgModsz/SpAlKo.pdf>, 1996 [SzZs2] Szlávi Péter, Zsakó László: Programozási tételek. ELTE TTK Informatikai Tanszékcsoport, 1996 [Sz2] Szlávi Péter: Programtranszformációk. <http://izzo.inf.elte.hu/szlavi/ProgModsz/Progtran.pdf>, 2001 [HSzZs] Harangozó É.-Szlávi P.-Zsakó L.: Joining Programming Theorems, a Practical Approach to Program Building. Annales Universitatis Scientiarum Budapestinensis. Sectio Computatorica 17, 155-172 , 1998 [KV] Kozma László, Varga László: Adattípusok osztálya. ELTE TTK Informatikai Tanszékcsoport, 2001 2019.04.16. Adatszerkezetek -- Típusok

Adatszerkezetek -- Típusok 5. Irodalom [Sz3] Szlávi Péter: Programok, programspecifikációk. <http://izzo.inf.elte.hu/szlavi/ProgModsz/progspec.doc> Informatika a Felsőoktatásban '99, Debrecen, 1999. augusztus 27-29. [MM] A. McMonnies, S. McSporran: Developing Object-Oriented Data Structures Using C++. McGraw-Hill, 1995 [SW] D. Stubs, N. Webre: Data Structures with Abstract Data Types and Pascal. Brooks/Cole Publishing Co., 1985 [W] Wayne Amsbury: Data Structures. Wadsworth Publishing Co., 1985 [PSzZs] Pap Gáborné, Szlávi Péter, Zsakó László: Adattípusok. ELTE TTK Informatikai Tanszékcsoport, 1998 [SzZs3] Szlávi Péter, Zsakó László: Gráfok, gráfalgoritmusok. ELTE TTK Informatikai Tanszékcsoport, 2000 [SzZs4] Szlávi Péter, Zsakó László: Adatfeldolgozás. ELTE TTK Informatikai Tanszékcsoport, 1996 2019.04.16. Adatszerkezetek -- Típusok