Prmea2_ Az a jelsorozat, amellyel hivatkozhatunk a tartalmára, amely által módosíthatjuk tartalmát. Például:
|
|
- Ildikó Bodnárné
- 6 évvel ezelőtt
- Látták:
Átírás
1 1. ADATOK JELLEMZŐI PROGRAMOZÁSMÓDSZERTAN 1. ELŐADÁS 2005 (VÁZLAT) Megjegyzés [SzP1]: Módszere s programozás Programozási bevezető (µlógia 18) [55-67, 68-74] Módszeres programozás Adattípusok (µlógia 34) [10-16, 17-35] 1.1. Azonosító Az a jelsorozat, amellyel hivatkozhatunk a tartalmára, amely által módosíthatjuk tartalmát. Például: i, j, n, a változók nevei (szimbolikus nevek) π, -128, 3.14, "Eredmény=", IGAZ konstansokat azonosító jelsorozat Megjegyzés: x x+1 címhivatkozás értékhivatkozás vagy Feldolgoz(x) eljáráshívásnál nem látszik, hogy x az adat címét vagy értékét jelenti Eljárás Feldolgoz( x:tx): Ez már világos beszéd! 1.2. Hozzáférési jog Adatokat módosítani, illetve értéküket lekérdezni, használni lehet; eszerint egy adat hozzáférés szempontjából négyféle lehet: módosítható lekérdezhető Független Nem Nem Független Input Nem Igen Output Igen Nem Virgin I/O Igen Igen Háttértár-adat Memória-adat 1.3. Kezdőérték A születéskor hozzárendelt érték. knál deklarációban kaphat értéket, vagy eleve van típushoz rendelt kezdőérték, esetleg speciális nem definiált érték, s így akkor mód van hivatkozás ellenőrzésre is (virgin)! 1.4. Hatáskör A programszöveg azon tartománya, amelyben az adathoz a hozzáférés lehetséges. 1
2 Gondoljunk a blokkstruktúrájú programozási nyelvek egymásba ágyazódó adatdeklarációira! Így beszélhetünk: globális és lokális (sőt saját) adatokról. A hatáskört színezi a láthatóság kérdése: ha egy adat azonosítója megegyezik egy olyan adatéval, amelynek hatáskörébe esik, akkor azt elérhetetlenné teszi a saját hatáskörében, hiszen az adott név alatt neki van elsősége Élettartam x:tx y:ty() [itt az x TX, az y TY típusú] Eljárás E1( x:tx2): y:ty2 [itt az x TX2, az y TY2 típusú] Eljárás vége. [itt az x TX, az y TY típusú] A futási időnek az az intervalluma, amelyben az adat azonosítója mindvégig ugyanazt az objektumot jelöli. Meggondolandó a hatáskörrel való kapcsolat! (Globális, lokális adatok hatásköre és élettartama, továbbá a dinamikus, azaz futásközben a programozó döntése szerint születő és megszűnő adatok. L. később!) 1.6. Értéktípus Az adatoknak az a tulajdonsága, hogy értékei mely halmazból származnak (értékhalmaz) és tevékenységeknek (eljárások, függvények, operátorok) mely készlete, amely létrehozza, felépíti, lerombolja és részekre bontja, alkalmazható rá (asszociált műveletek). 2. AZ ÉRTÉKTÍPUS 2.1. Az értéktípusról általánosságban Összetettség (strukturáltság) szempontjából: skalár (vagy strukturálatlan) összetett (más szóval strukturált) 2
3 Adatstrukturálási módok: Strukturálási mód Adatszerkezet Keresztszorzat A B Rekord (Megkülönböztetett) A B (C D E F ) Alternatív rekord egyesítés Halmazképzés 2 A Halmaz Iterált-képzés A * Sorozatfélék 2.2. Az asszociált műveletek osztályozása Az asszociálható műveleteket csoportosítjuk: értékadás (azonos típusúak közötti adatmozgatás: másolatkészítés, értékmegosztás), TPont=Rekord(x,y,z:Valós) Origó,Egys:TPont Eltol(Origó,Egys) Eljárás Eltol( p:tpont; :TPont): [értékmegosztás jön létre a p és az aktuális paraméterpárja között, -ba az aktuális paraméterpár másolata kerül] p.x:+.x; p.y:+.y; p.z:+.z [ tiszta értékmásolások] Eljárás vége. típusátviteli függvények: o Konstrukciós műveletek (strukturált érték létrehozása) TPont=Rekord(x,y,z:Valós) TVárakozók=Sor(TEmber) [l. később] TPMut=TPont Mutató [l. később] p,q:tpont v:tvárakozók pm:tpmut ptpont(1.0,0.0,0.0) Üres(v) [l. később] Létrehoz(pm,p); qtpmut(pm) [l. később] 3
4 o o o Szelekciós operációk hosszsqrt(p.x^2+p.y^2+ p.z^2) vevősorból(v) [l. később] Azonosság és más relációk TNap=(hétfő,kedd,szerda,csütörtök,péntek, szombat,vasárnap) [l. később] napszám:egész(számosság TNap) [l. később] TNapNév=Tömb(1..napSzám:Szöveg) SNapHu:TNapNév= ( hétfő, kedd, szerda, csütörtök, péntek, szombat, vasárnap ) SNapEn= ( Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday ) nn:tnapnév mn:tnap c:karakter Ha c= E és nn=snaphu akkor nnsnapen Ciklus amíg mn péntek Számosság-függvény TNap=(hétfő,kedd,szerda,csütörtök,péntek, szombat,vasárnap) napszám:egész(számosság TNap) SNap:Tömb(1..napSzám:Szöveg)= ( hétfő, kedd, szerda, csütörtök, péntek, szombat, vasárnap ) 4
5 o o o Min- és Max-függvény, amelyek értelemszerűen csak rendezett típusok esetén léteznek. TNap=(hétfő,kedd,szerda,csütörtök,péntek, szombat,vasárnap) SNap:Tömb(Min TNap..Max TNap:Szöveg)= ( hétfő, kedd, szerda, csütörtök, péntek, szombat, vasárnap ) Sorszám- (vagy Rend-) függvény elsősorszám(hétfő) [első0] utsósorszám(vasárnap) [utsó6] A_KódSorszám( A ) [A_Kód65] Be/Ki műveletek (konverzió az input/output és belsőábrázolás között) nap:tnap Be: nap [nap<max TNap] Ki: Következő(nap) Transzformációs (a típuson értelmezett, a típusra képező függvények) TPont=Rekord(x,y,z:Valós) kövnap,nap:tnap p,q:tpont kövnapkövetkező(nap) távhossz(p)-hossz(q) [Hossz a programozó által definiált fv.] egyéb függvények. 5
6 3. EGYSZERŰ ADATTÍPUSOK Alábbiakban definiáljuk az eredendően szerkezetnélküli ún. skalár típusokat, megadva ezek értékhalmazát, a hozzátapadó műveletek, relációk halmazát. Két típus lóg ki ezek közül. A szöveg (string) és a mutató típus. A szöveg típust azért soroljuk ide, mert a programozási nyelvek majd mindegyike fölkínálja, s így hozzátartozik az ún. elemi (natív) típusokhoz, másrészt abban jócskán eltér a későbbiekben tárgyalt összetettektől (s így oda még kevésbé illik), hogy elemeinek típusa nem választható meg szabadon. A mutató típus valóban szerkezet nélküli, hisz értékhalmaza a memóriacímek egy részhalmaza (ezért tárgyaljuk itt), de az is kétségtelen, hogy oly szorosan tapad valamely összetett típushoz, amely címét tartalmazza, hogy anélkül értelme sem lenne bevezetni. A tárgyalt típusokról a következőket adjuk meg: Értékhalmaz Kezdőérték, amit az ilyen típusú objektum létrejövetelekor kap. 1 Asszociált műveletek (s esetleg) tipikus ábrázolása(i) (s néhány esetben) példa. A rövid leírás kedvéért időnként alkalmazni fogjuk a Típ jelölést az éppen tárgyalt típusra való hivatkozásra. (Értelemszerűen akkor, amikor a típus nevét a programozó feladata megadni.) Származtatott típus esetén pedig gyakorta a TB az ún. bázistípusra (amelyből kiindulunk) utal Elemi adattípusok Egész Értékhalmaz Z (Min Egész..Max Egész) Kezdőérték 0 Műveletek +, -, *, Div (egészosztás), Mod, - (unáris mínusz), ^ (pozitív egészkitevős hatványozás) =, <,,, >, Ábrázolás ún. kettes komplemens kódú Megjegyzés: A programozási nyelvek többféle értékhalmazzal is felkínálnak efféle típusokat. Pl. a Turbo Pascal megkülönböztet BYTE, SHORTINT (8 bites); INTEGER, WORD (16-bites); LONGINT (24 bites) Ennek ellenére nem tartjuk fontosnak az algoritmikus 1 És most legkevésbé sem hagyjuk magunkat befolyásolni olyan programozási nyelvektől, amelyben a változók létrejöttét nem kíséri automatikus kezdőértékadás. 6
7 nyelvben ezeket megkülönböztetni, annál is inkább szükségtelennek gondoljuk, mert ha kell a szélsőséges értékeire tudunk hivatkozni a Min Egész és Max Egész típusfüggvénnyel anélkül, hogy letennénk a voksunkat bármelyik konkrét értékhalmaz mellett Valós Értékhalmaz???..??? R (Min Valós..Max Valós) Kezdőérték 0.0 Műveletek +, -, *, /, - (unáris mínusz), ^ =, <,,, >, Ábrázolás ún. lebegőpontos ábrázolás (pontosabb lenne, ha e típust racionálisnak neveznénk, mert csak racionális számot képes ábrázolni), vagy ún. pakolt decimális ábrázolás Megjegyzések: Vegyük észre, hogy ugyanazok a műveleti jelek most ha hasonló jelentéssel is, de mégsem egészen ugyanazzal a jelentéssel bírnak. (Polimorfizmus.) Itt már föl sem vállaltuk az értékhalmaz pontosítását, mivel ez sokkal inkább implementáció-függő, mint az egész számoké Logikai Értékhalmaz Hamis..Igaz L (Min Logikai..Max Logikai) Kezdőérték Hamis Műveletek nem, és, vagy =, <,,, >, Ábrázolás 0 Hamis, 1 Igaz azaz (valamely) egész típusra visszavezetés; néha 1 Igaz ekkor 1 bites az ábrázolás 7
8 Karakter Értékhalmaz kódú jelek (Min Karakter..Max Karakter) Kezdőérték Min Karakter Műveletek Karakter(.) Karakter: Egész Karakter Sorszám(.) Sorszám: Karakter Egész (belső kód) =, <,,, >, Ábrázolás Valamely kódrendszer szerinti kód, mint előjelnélküli szám. (Fix bitszámú kód.) Megjegyzés: Sokfajta kód rendszer létezik (legismertebbek: ASCII, UNICODE). Többségük fix bitszámú (ASCII 8 bites, UNICODE 16 bites), de elképzelhető változó bitszámmal dolgozó is. (L. Huffman-kódolás.) (Absztrakt)Felsorolástípus Értékhalmaz (konstans 1, konstans 2,..., konstans N ) (Típ jelölje a típus azonosítóját) (Min Típ=konstans 1..Max Típ=konstans N ) Kezdőérték Min Típ vagy NemDef Műveletek Következő(Típ-típusbeli kifejezés), Következő: Típ Típ U {NemDef} Előző(Típ-típusbeli kifejezés), Előző: Típ Típ U {NemDef} Sorszám(Típ-típusbeli kifejezés), Sorszám: Típ Egész Típ(egész típusú kifejezés), Típ: [0..Sorszám(Max Típ)] Tip =, <,,, >, (a felsorolás sorrendje egyben rendezés is) Ábrázolás A minimálisan szükséges bitszámú ( log 2 (Számosság Típ)) kód, mint előjelnélküli szám. Megjegyzések: Az értékhalmazban szereplő ismétlődés nélküli, szimbolikus nevek (a típus konstansai) nem lehetnek más típus (pl. egy másik felsorolástípus) értékhalmazában, ez a feltétel amiatt szükséges, mert a fordítóprogram így mindig egyértelműen el tudja dönteni a konstans hovatartozását. Természetesen nem szerepelhet a felsorolásban, mivel a fordítónak nincsenek előzetes elképzelései arról, hogy mik lehetnének ott a felsorolásban. Mindazon típusokat, amelyek értékkészletét konstansainak egyszerű fölsorolásával adhatunk vagy adhatnánk meg diszkrét típusnak hívjuk. Tehát ilyen az Egész, a Logi- 8
9 kai, a Karakter, de lehet bármilyen a program írója által kreált absztrakt konstansokat tartalmazó fenti absztrakt felsorolástípus is. TNap=(hétfő, kedd, szerda, csütörtök, péntek, szombat, vasárnap) tegnap,ma,holnap: TNap ünnepnap: TNap(vasárnap) Ha ma=min TNap akkor tegnapmax TNap különben holnapelőző(ma) Ha ma=max TNap akkor holnapmin TNap különben holnapkövetkező(ma) elsősorszám(hétfő) [első0] utsósorszám(vasárnap) [utsó6] (Rész)Intervallumtípus Csak diszkrét típusból származtatható egyszerű típus. Jelöljük a bázistípust TB-vel. Értékhalmaz konstans 1..konstans 2 TB (Min Típ=konstans 1..Max Típ=konstans 2 ) Kezdőérték Műveletek Ábrázolás Min Típ vagy NemDef TB-vel megegyező műveletek (korlátozva persze az értékhalmazra) TB-vel megegyező ábrázolás TNap=(hétfő, kedd, szerda, csütörtök, péntek, szombat, vasárnap) TMunkanap=hétfő..péntek THétvége=szombat..vasárnap tegnap,ma,holnap: TNap ünnepnap: TNap(vasárnap) Ha ma=min TNap akkor tegnapmax TNap különben holnapelőző(ma) Ha ma=max TNap akkor holnapmin TNap különben holnapkövetkező(ma) elsősorszám(hétfő) [első0] utsósorszám(vasárnap) [utsó6???] Megjegyzés [SzP2]: A Sorszám(vasárnap) melyik típushoz asszociált függvény a vasárnap helyen? (a TNap-é vagy a THétvégé-é) 9
10 Megjegyzések: 1. Érdekes anomáliára vezet a Sorszám és Típ típuskonstrukciós függvény következetes bevezetése. Miért? 2. Ha a diszkrétségtől eltekintünk, kiterjeszthető a Valósakra is az intervallumtípusképzés. Ez persze csak azzal a többlettel képzelhető el, hogy egy lépésközt is megadunk a származtatáshoz (amelyre vannak persze elvárások). 3. További általánosítás lehetséges: nem első és utolsó elem által meghatározott része egy értékhalmaznak, hanem valamilyen (predikátummal definiált) tulajdonságnak eleget tevő elemeinek részhalmaza. TTermSzám=Egész [invariáns: i:ttermszám : i>0] TPrímek=TTermSzám [invariáns: n:ttermszám : Prím?(n)] Függvény Prím?( x:egész):logikai Függvény vége Szövegtípus Értékhalmaz MaxHossz darabnyi jelből álló karakterláncok halmaza Karakter * (Min Szöveg..Max Szöveg) alfabetikus rendezés szerinti első (=üres szöveg); az utolsó erősen reprezentáció-függő, ezért nem definiáljuk. Kezdőérték azaz üres-szöveg (Min Szöveg) Műveletek +, Hossz(.), Balrész(.), Jobbrész(.), Jele(.) =, <,,, >, Ábrázolás Rekord(hossz:Egész, jel:tömb(1..maxhossz:karakter)) Pascal-stílusú Karakter * SzövegVégJel C-stílusú 3.2. Mutató típusok Az alcímbeli többes szám jogos, mert valójában tetszőleges (többnyire összetett) típushoz, mint bázistípushoz (TB) szervesen tartozhat egy-egy ilyen típus. Egy konkrét mutató típusú objektum csak egyfajta (nevezetesen TB-típusú) elemek kezdőcímeit hordozhatja. E szigorúság oka: az ellenőrizhetőség, biztonságosság. 10
11 Értékhalmaz Kezdőérték Memóriacím, amely valamely TB-típusú elem kezdőcíme, vagy Sehova (rendezésnek nincs értelme Sehova Min Típ, Max Típ) Műveletek Lefoglal( m:típ, e:tb) az eljárás létrehoz a memóriában egy TB-elemet, amelynek értéke éppen e, és a címét teszi m -be; ha nincs elegendő hely, akkor m -be Sehova érték kerül. Elhagyható a kezdőértéket definiáló paraméter, ekkor a TB-beli iniciális értékű elem keletkezik. Típ( m:típ):tb a függvény az m -beli címnél kezdődő TB-elemet adja vissza értékként Felszabadít( m:típ) az eljárás felszabadítja a memória m -ben lévő címtől kezdődő TB-elemnyi tartományát, majd m -be a Sehova érték kerül. =,, <,,, > Ábrázolás Memóriacím Megjegyzések: A Lefoglal művelet fent taglalt szemantikája is indokolja a szigorú típusosság kívánalmát! A Pascal-beli Lefoglal művelet, a New, nem foglalkozik kezdőértékadással, sőt a helyfoglalás sikertelenségét sem közli a Sehova, vagyis a Nil értékkel. A Felszabadít, Dispose művelet sem törli a mutatót. TBlokk=Tömb(1..MaxM:TElem) TBMut=TBlokk Mutató TBlokkok=Tömb(1..MaxN:TBMut) e:telem; i:egész b:tblokk; bk:tblokkok; bm:tbmut Ciklus i=1-től MaxN Div 2-ig Lefoglal(bm) [bm-be kerül a lefoglalt TBlokk-nyi terület címe, és a bm-nél kezdődő tömb elemei TElem-kezdőértékűek] bk(i)bm [bk i. eleme a dinamikusan lefoglalt tömb címe; értékmegosztás] [a bk(i) tömbbe értékek kerülnek] Ciklus vége btblokk(bk(1)) [az első blokk b-be] bmbk(1) [az első blokk címe bm-be] 11
12 Ciklus i=1-től MaxM-ig TBlokk(bm)(i)e [TBlokk(bm) bm-nél kezdődő blokk mint tömb, TBlokk(bm)(i) a tömb i. eleme] Ciklus vége [vajon milyen értékek vannak a bk(2..maxn) elemekben; és mit mondhatunk a TBlokk(bk(2..MaxN)) értékéről?] 4. ÖSSZETETT ADATTÍPUSOK TÍPUSKONSTRUKCIÓK Helyesebb összetett típusok helyett típuskonstrukciókról beszélni, mivel valahány összetevő típusból hozunk létre, konstruálunk egy újat; s az ilyeneket létrehozni képes eszközöket típuskonstrukciós eszközöknek hívni. Többnyire nem magától értetődő az ilyen struktúrák rendezése, ezért sem a Min, sem a Max típusfüggvényt nem jelezzük. (Megjegyezzük: természetesen nem elképzelhetetlen sőt!, hogy utólag valamilyen rendezést rájuk is definiáljuk. Erről később még szó esik.) A korábbi szokásos mondanivalók mellé bekerül a konstrukció, amelyben tisztázzuk az alkalmazás szintaxisát. Rövidítés miatt a bázistípusokat sorszámozzuk és így jelöljük: TB 1, TB 2, 4.1. Összetett típusok osztályozásai A bázistípusok sokfélesége szerint Heterogén (rekord, alternatív rekord) Homogén (sorozatfélék: tömb, lista, halmaz; rekurzív típusok: lista, fa; gráf) Rákövetkezési reláció az elemei között Nincs (értelmetlen: rekord, alternatív rekord; lehetne, de nincs: halmaz) Egyértelmű, kivéve a szélső elemeket (sorozatfélék: tömb, lista,) Többszörös (rekurzív típusok közül a fa; gráf) 12
13 4.2. Rekord Konstrukció Rekord(mező 1 : TB 1, mező 2 : TB 2 ) Értékhalmaz TB 1 TB 2 Kezdőérték Az egyes komponensekhez tartozó kezdőérték. Műveletek Típ( m 1 : TB 1, m 2 : TB 2 ) létrejön egy Típ típusú konstans m 1, m 2 mezőértékekből (konstrukciós operáció) objtip.mező i :TB i a szokatlan szintaxisú művelet értéke az adott Típ típusú objektum (objtip) mező i mezőjének értéke (szelekciós operáció) objtip.mező i :TB i e i a szokatlan szintaxisú értékadás eredménye az adott Típ típusú objektum (objtip) mező i mezőjének értékül adja e i -t =, Ábrázolás A mezők folytonos memóriaterületre képezve, a felsorolás sorrendjében Alternatív rekord Olyan rekordféléről van szó, amelynek valamely mezőjétől (mezőitől) függ további mezőinek típusbesorolása. Konstrukció Értékhalmaz Kezdőérték Műveletek Ábrázolás Rekord( mező 1 : TB 1, mező K : TB K, Alternatívák felt 1 (mező 1,) esetén (mező-k sorozata), felt m (mező 1,) esetén (mező-k sorozata) Alternatívák vége) TB 1 TB K (i=1..m) TB i,1 TB i,k i A nem egyértelműsége miatt NemDef. A rekordhoz hasonlóan. A mezők folytonos memóriaterületre képezve, a felsorolás sorrendjében, a hosszat a leghosszabb alternatívával számolva. ffi: Egész(1) nő : Egész(2) TDátum=... TNem=ffi..nő 13
14 TKontroll=Függvény(TNem,Dátum,0..999):0..9 Függvény Kontroll( n:tnem d:tdátum x:0..999):0..9 [Kontroll: egy TKontroll típusú konkrét függvény] Függvény vége. TSzemSzám=Rekord( nem:tnem szülidő:tdátum sorszám:egész ellenőr:tkontroll [itt csak olyan fv-típus képzelhető el, amely értelmezési tartománya: TNem TDátum Egész; értékkészlete most nincs megkötve]) TSzemély=Rekord( szsz:tszemszám név:szöveg Alternatívák nem=nő esetén (lnév :Szöveg) nem=ffi esetén (katsz:egész) Alternatívák vége) Jézus:TSzemély((ffi, , 123, Kontroll) [szsz mező tartalma], Jézus Krisztus [név mező], (123456) [nem=ffi katsz mező]) 4.4. (Hatvány-)Halmaz Csak diszkrét (többnyire nagyon is korlátozott számosságú) típusnak definiálhatjuk a hatványhalmaz-típusát. 14
15 Konstrukció Halmaz(TB) (Min Típ=..Max Típ=TB-értékhalmaz, a tartalmazás alapján rendezve) Értékhalmaz TB * Kezdőérték Üres halmaz Műveletek (eleme), (metszet), (egyesítés), \ (különbség), vagy Üres (üres halmaz létrehozás), Üres? (logikai értékű függvény) =, < ( ), ( ), ( ), > ( ), Ábrázolás Tömb(TB:Logikai) azaz bitvektor az adott elem tartalmazása vagy nem tartalmazása szerint; Lista(TB) tartalmazott elemeinek felsorolása [l. később] TÓra=0..23 TNap=Halmaz(TÓra) ma,holnap:tnap munkanap:tnap(7..12,14..20) Üres(ma) [ma nincs kötött program ma szabad ] Ha Üres?(holnap) akkor mamunkanap 15
16 4.5. Tömb Konstrukció Értékhalmaz Kezdőérték Műveletek Ábrázolás Tömb(TIndex: TElem) TElem Számoság(TIndex) TElem típus kezdőértékei objtip(i) (a Típ típusú objtip tömb i. TElem típusú eleme), objtip(i)e (a Típ típusú objtip tömb i. eleme legyen e értékű) =, Az elemek folytonos memóriaterületre képezve, növekvő index sorrendben. (L. később) 5. SOROZATTÍPUSOK Sorozattípusnak hívjuk azt a típust, amely 1. homogén (azaz elemei egyetlen bázistípushoz tartoznak), 2. egyértelmű rákövetkezési reláció van elemei között (az adott elemét legfeljebb egy elem követheti), 3. egyetlen olyan eleme van, amelyet nem előz meg másik, s egyetlen olyan, amelyet nem követ Sorozatműveletek Nagyon sokféle sorozattípus alkotható meg, mégha nem különböztetjük meg a különböző bázistípusúakat egymástól (azaz a strukturálisan azonosakat). Jellegzetes művelet-együttest rendelve hozzájuk kapjuk a későbbiekben tárgyalt egyes, fontos alosztályait. A legfontosabb műveletei, halmozva, a következők: Művelet Tevékenység-leírás Üres Létrehoz, elemek nélkül. Létrehoz Létrehoz, struktúrától függő elemekkel. Üres?/Teli? Ellenőrzi, hogy van-e eleme, ill. hogy bővíthető lenne-e? ElemSzám Hány eleme van? Beilleszt Struktúrától függő helyre új elemet illeszt. Kihagy Struktúrától függő helyről elemet hagy el. Első/Utolsó Első, utolsó elemének értékét adja. Elejéről/Végéről Leválasztja a sorozat első, utolsó elemét, értékét is visszaadja. ElsőUtániak/UtolsóElőttiek Eldobja az első, utolsó elemet. Elejére/Végére A sorozat első eleme elé, utolsó eleme mögé illeszt egy újat. Elem Struktúrától függően meghatározott elemének értékét adja vissza. 16
17 ElemMódosít Struktúrától függően meghatározott elemének új értéket ad. Elsőre/Utolsóra A struktúra első, utolsó elem lesz az aktuális (ha volt ilyen). Előzőre/Következőre A struktúra aktuális eleme (ha volt ilyen) legyen az eddigit megelőző/követő. Aszerint, hogy mely műveleteket engedjük meg egy sorozatfélénél beszélhetünk az alábbi típuskonstrukciókról. Nem jelöljük az altípus-osztályokat, továbbá a tevékenységeket nem a hagyományos nevükön említjük. konstrukció Tömb Lista Sor Verem Táblázat InputSzekvenciálisFile OutputSzekvenciálisFile DirektFile AsszociatívFile Tevékenységhalmaz (Létrehoz, ElemSzám,) Elem, ElemMódosít Üres, Üres?, Teli?, Beilleszt, Kihagy, Elsőre, Utolsóra, Előzőre, Következőre, Elem, ElemMódosít Üres, Üres?, Teli?, ElemSzám, Első, Elejéről, Végére Üres, Üres?, Teli?, ElemSzám, Első, Elejére, Elejéről Üres, Üres?, Teli?, ElemSzám, Elem, ElemMódosít Létrehoz, Üres?, Elejéről Üres, Üres?, Teli?, Végére Üres, Létrehoz, Üres?, Teli?, ElemSzám, Elem, ElemMódosít Üres, Üres?, Teli?, ElemSzám, Elem, ElemMódosít 5.2. Sorozatok ábrázolásának lehetőségei Folytonos ábrázolás, amikor az elemeket a memóriában a kezdőcímtől szorosan egymásután helyezzük el. Memória Elemsorszám: N. kezdőcím Láncolt ábrázolás, amelynél az elemek a memóriában elszórva helyezkednek el, a rákövetkezést mutatóval biztosítjuk. Blokkolt ábrázolás ötvözi az előbbi kettőt úgy, hogy láncot hoz létre az elemek egy adott számú elemet tartalmazó tömbjéből. 17
18 TARTALOM ProgramozásMódszertan 1. előadás 2005 (vázlat) Adatok jellemzői Azonosító Hozzáférési jog Kezdőérték Hatáskör Élettartam Értéktípus Az értéktípus Az értéktípusról általánosságban Az asszociált műveletek osztályozása Egyszerű Adattípusok Elemi adattípusok Egész Valós Logikai Karakter (Absztrakt)Felsorolástípus (Rész)Intervallumtípus Szövegtípus Mutató típusok Összetett adattípusok típuskonstrukciók Összetett típusok osztályozásai Rekord Alternatív rekord (Hatvány-)Halmaz Tömb Sorozattípusok Sorozatműveletek Sorozatok ábrázolásának lehetőségei
Adatszerkezetek I. 1. előadás
Adatszerkezetek I. 1. előadás Adatok jellemzői ismétlés 1. Azonosító Az a jelsorozat, amellyel hivatkozhatunk a tartalmára, amely által módosíthatjuk tartalmát. 2. Hozzáférési jog Adatokat módosítani,
Algoritmizálás és adatmodellezés tanítása 4. előadás
Algoritmizálás és adatmodellezés tanítása 4. előadás Típusok osztályozása Összetettség (strukturáltság) szempontjából: skalár (más szóval elemi vagy strukturálatlan) összetett (más szóval strukturált)
Algoritmusok és adatszerkezetek I. 1. előadás
Algoritmusok és adatszerkezetek I 1 előadás Típusok osztályozása Összetettség (strukturáltság) szempontjából: elemi (vagy skalár, vagy strukturálatlan) összetett (más szóval strukturált) Strukturálási
Algoritmizálás és adatmodellezés tanítása 1. előadás
Algoritmizálás és adatmodellezés tanítása 1. előadás Algoritmus-leíró eszközök Folyamatábra Irányított gráf, amely csomópontokból és őket összekötő élekből áll, egyetlen induló és befejező éle van, az
Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez
Pásztor Attila Algoritmizálás és programozás tankönyv az emeltszintű érettségihez 3. ADATTÍPUSOK...26 3.1. AZ ADATOK LEGFONTOSABB JELLEMZŐI:...26 3.2. ELEMI ADATTÍPUSOK...27 3.3. ÖSSZETETT ADATTÍPUSOK...28
Algoritmizálás, adatmodellezés 1. előadás
Algoritmizálás, adatmodellezés 1. előadás Algoritmus-leíró eszközök Folyamatábra Irányított gráf, amely csomópontokból és őket összekötő élekből áll, egyetlen induló és befejező éle van, az induló élből
Programozási nyelvek a közoktatásban alapfogalmak II. előadás
Programozási nyelvek a közoktatásban alapfogalmak II. előadás Szintaxis, szemantika BNF szintaxisgráf absztrakt értelmező axiomatikus (elő- és utófeltétel) Pap Gáborné. Szlávi Péter, Zsakó László: Programozási
Algoritmizálás és adatmodellezés 2. előadás
Algoritmizálás és adatmodellezés 2 előadás Összetett típusok 1 Rekord 2 Halmaz (+multialmaz, intervallumalmaz) 3 Tömb (vektor, mátrix) 4 Szekvenciális fájl (input, output) Pap Gáborné, Zsakó László: Algoritmizálás,
Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája
Adatszerkezetek Összetett adattípus Meghatározói: A felvehető értékek halmaza Az értékhalmaz struktúrája Az ábrázolás módja Műveletei Adatszerkezet fogalma Direkt szorzat Minden eleme a T i halmazokból
Algoritmizálás, adatmodellezés 1. előadás
Algoritmizálás, adatmodellezés 1. előadás Algoritmus-leíró eszközök Folyamatábra Irányított gráf, amely csomópontokból és őket összekötő élekből áll, egyetlen induló és befejező éle van, az induló élből
Java II. I A Java programozási nyelv alapelemei
Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 02. 19. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve az annak
Struktúra nélküli adatszerkezetek
Struktúra nélküli adatszerkezetek Homogén adatszerkezetek (minden adatelem azonos típusú) osztályozása Struktúra nélküli (Nincs kapcsolat az adatelemek között.) Halmaz Multihalmaz Asszociatív 20:24 1 A
Készítette: Nagy Tibor István
Készítette: Nagy Tibor István A változó Egy memóriában elhelyezkedő rekesz Egy értéket tárol Van azonosítója (vagyis neve) Van típusa (milyen értéket tárolhat) Az értéke értékadással módosítható Az értéke
A C programozási nyelv V. Struktúra Dinamikus memóriakezelés
A C programozási nyelv V. Struktúra Dinamikus memóriakezelés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv V. (Struktúra, memóriakezelés) CBEV5 / 1 A struktúra deklarációja 1.
Programozás alapjai. 5. előadás
5. előadás Wagner György Általános Informatikai Tanszék Cserélve kiválasztásos rendezés (1) A minimum-maximum keresés elvére épül. Ismétlés: minimum keresés A halmazból egy tetszőleges elemet kinevezünk
Programozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism)
Programozás alapjai C nyelv 8. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.07. -1- Mutatók és címek (ism.) Minden változó és függvény
Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása
Tömbök kezelése Példa: Vonalkód ellenőrzőjegyének kiszámítása A számokkal jellemzett adatok, pl. személyi szám, adószám, taj-szám, vonalkód, bankszámlaszám esetében az elírásból származó hibát ún. ellenőrző
Algoritmizálás + kódolás C++ nyelven és Pascalban
Algoritmizálás + kódolás nyelven és ban Motiváció A Programozási alapismeretek tárgyban az algoritmizáláshoz struktogramot, a kódoláshoz nyelvet használunk, a Közismereti informatikában (a közoktatásban
Java II. I A Java programozási nyelv alapelemei
Java2 / 1 Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2009. 02. 09. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve
Mutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában
Programozás alapjai C nyelv 8. gyakorlat Szeberényi mre BME T Programozás alapjai. (C nyelv, gyakorlat) BME-T Sz.. 2005.11.07. -1- Mutatók és címek (ism.) Minden változó és függvény
Bevezetés a C++ programozási nyelvbe
Bevezetés a C++ programozási nyelvbe Miskolci Egyetem Általános Informatikai Tanszék CPP0 / 1 Története A C++ programozási nyelv a C programozási nyelv objektum orientált kiterjesztése. Az ANSI-C nyelvet
C programozási nyelv Pointerek, tömbök, pointer aritmetika
C programozási nyelv Pointerek, tömbök, pointer aritmetika Dr. Schuster György 2011. június 16. C programozási nyelv Pointerek, tömbök, pointer aritmetika 2011. június 16. 1 / 15 Pointerek (mutatók) Pointerek
Programozás alapjai. 10. előadás
10. előadás Wagner György Általános Informatikai Tanszék Pointerek, dinamikus memóriakezelés A PC-s Pascal (is) az IBM PC memóriáját 4 fő részre osztja: kódszegmens adatszegmens stackszegmens heap Alapja:
Bánsághi Anna 2014 Bánsághi Anna 1 of 33
IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 7. ELŐADÁS - ABSZTRAKT ADATTÍPUS 2014 Bánsághi Anna 1 of 33 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív
Algoritmusok és adatszerkezetek I. 4. előadás
Algoritmusok és adatszerkezetek I. 4. előadás A lista olyan sorozat, amelyben műveleteket egy kiválasztott, az ún. aktuális elemmel lehet végezni. A lista rendelkezik az alábbi műveletekkel: Üres: Lista
5. SOR. Üres: S Sorba: S E S Sorból: S S E Első: S E
5. SOR A sor adatszerkezet is ismerős a mindennapokból, például a várakozási sornak számos előfordulásával van dolgunk, akár emberekről akár tárgyakról (pl. munkadarabokról) legyen szó. A sor adattípus
Adatszerkezetek I. 7. előadás. (Horváth Gyula anyagai felhasználásával)
Adatszerkezetek I. 7. előadás (Horváth Gyula anyagai felhasználásával) Bináris fa A fa (bináris fa) rekurzív adatszerkezet: BinFa:= Fa := ÜresFa Rekord(Elem,BinFa,BinFa) ÜresFa Rekord(Elem,Fák) 2/37 Bináris
Programozási tételek általánosítása 2. Szlávi Péter 2015
Programozási tételek általánosítása 2. Szlávi Péter szlavip@elte.hu 2015 Tartalom 1. Az általánosítás lehetőségei a) Sorozatok A Tömb-típuskonstrukcó b) Sorozatok A tömb indexmentesítése c) A Tulajdonság-függvények
Adatszerkezetek 1. előadás
Adatszerkezetek 1. előadás Irodalom: Lipschutz: Adatszerkezetek Morvay, Sebők: Számítógépes adatkezelés Cormen, Leiserson, Rives, Stein: Új algoritmusok http://it.inf.unideb.hu/~halasz http://it.inf.unideb.hu/adatszerk
Már megismert fogalmak áttekintése
Interfészek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Polimorfizmus áttekintése Interfészek Interfészek kiterjesztése Eseménykezelési módszerek 2 Már megismert fogalmak
A félév során előkerülő témakörök
A félév során előkerülő témakörök rekurzív algoritmusok rendező algoritmusok alapvető adattípusok, adatszerkezetek, és kapcsolódó algoritmusok dinamikus programozás mohó algoritmusok gráf algoritmusok
Algoritmizálás és adatmodellezés tanítása 6. előadás
Algoritmizálás és adatmodellezés tanítása 6. előadás Összetett típusok 1. Rekord 2. Halmaz (+multihalmaz, intervallumhalmaz) 3. Tömb (vektor, mátrix) 4. Szekvenciális file (input, output) Pap Gáborné,
Interfészek. PPT 2007/2008 tavasz.
Interfészek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Polimorfizmus áttekintése Interfészek Interfészek kiterjesztése 2 Már megismert fogalmak áttekintése Objektumorientált
A C programozási nyelv I. Bevezetés
A C programozási nyelv I. Bevezetés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv I. (bevezetés) CBEV1 / 1 A C nyelv története Dennis M. Ritchie AT&T Lab., 1972 rendszerprogramozás,
5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix
2. Adattípusonként különböző regisztertér Célja: az adatfeldolgozás gyorsítása - különös tekintettel a lebegőpontos adatábrázolásra. Szorzás esetén karakterisztika összeadódik, mantissza összeszorzódik.
Sorozatok határértéke SOROZAT FOGALMA, MEGADÁSA, ÁBRÁZOLÁSA; KORLÁTOS ÉS MONOTON SOROZATOK
Sorozatok határértéke SOROZAT FOGALMA, MEGADÁSA, ÁBRÁZOLÁSA; KORLÁTOS ÉS MONOTON SOROZATOK Sorozat fogalma Definíció: Számsorozaton olyan függvényt értünk, amelynek értelmezési tartománya a pozitív egész
8. gyakorlat Pointerek, dinamikus memóriakezelés
8. gyakorlat Pointerek, dinamikus memóriakezelés Házi ellenőrzés Egy számtani sorozat első két tagja A1 és A2. Számítsa ki a sorozat N- dik tagját! (f0051) Egy mértani sorozat első két tagja A1 és A2.
Egyirányban láncolt lista
Egyirányban láncolt lista A tárhely (listaelem) az adatelem értékén kívül egy mutatót tartalmaz, amely a következő listaelem címét tartalmazza. A láncolt lista első elemének címét egy, a láncszerkezeten
Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé.
HA 1 Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) HA 2 Halmazok HA 3 Megjegyzések A halmaz, az elem és az eleme fogalmakat nem definiáljuk, hanem alapfogalmaknak
KOVÁCS BÉLA, MATEMATIKA I.
KOVÁCS BÉLA, MATEmATIkA I. 4 IV. FÜGGVÉNYEk 1. LEkÉPEZÉSEk, függvények Definíció Legyen és két halmaz. Egy függvény -ből -ba egy olyan szabály, amely minden elemhez pontosan egy elemet rendel hozzá. Az
ADATSZERKEZETEK TANTÁRGY, 1. FÉLÉV 2. ELŐADÁS 2009 (VÁZLAT)
ADATSZERKEZETEK TANTÁRGY, 1. FÉLÉV 2. ELŐADÁS 2009 (VÁZLAT) 1. MODULTESZT Azt vizsgáljuk, miként lehetne meggyőződni egy típus megvalósításának helyességéről. Erre ugyan van mód formális, matematikai eszközökkel,
Amortizációs költségelemzés
Amortizációs költségelemzés Amennyiben műveleteknek egy M 1,...,M m sorozatának a futási idejét akarjuk meghatározni, akkor egy lehetőség, hogy külön-külön minden egyes művelet futási idejét kifejezzük
A C programozási nyelv I. Bevezetés
A C programozási nyelv I. Bevezetés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv I. (bevezetés) CBEV1 / 1 A C nyelv története Dennis M. Ritchie AT&T Lab., 1972 rendszerprogramozás,
1. tétel. 1. Egy derékszögű háromszög egyik szöge 50, a szög melletti befogója 7 cm. Mekkora a háromszög átfogója? (4 pont)
1. tétel 1. Egy derékszögű háromszög egyik szöge 50, a szög melletti befogója cm. Mekkora a háromszög átfogója? (4 pont). Adott az ábrán két vektor. Rajzolja meg a b, a b és az a b vektorokat! (6 pont)
C++ programozási nyelv Konstruktorok-destruktorok
C++ programozási nyelv Konstruktorok-destruktorok Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. szeptember A C++ programozási nyelv Soós Sándor 1/20 Tartalomjegyzék
Kifejezések. Kozsik Tamás. December 11, 2016
Kifejezések Kozsik Tamás December 11, 2016 Kifejezés versus utasítás C/C++: kifejezés plusz pontosvessző: utasítás kiértékeli a kifejezést jellemzően: mellékhatása is van például: értékadás Ada: n = 5;
Függvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3)
Programozás alapjai C nyelv 7. gyakorlat Szeberényi Imre BME IIT Függvények C program egymás mellé rendelt függvényekből áll. A függvény (alprogram) jó absztrakciós eszköz a programok
1. előadás: Halmazelmélet, számfogalom, teljes
1. előadás: Halmazelmélet, számfogalom, teljes indukció Szabó Szilárd Halmazok Halmaz: alapfogalom, bizonyos elemek (matematikai objektumok) összessége. Egy halmaz akkor adott, ha minden objektumról eldönthető,
OOP. Alapelvek Elek Tibor
OOP Alapelvek Elek Tibor OOP szemlélet Az OOP szemlélete szerint: a valóságot objektumok halmazaként tekintjük. Ezen objektumok egymással kapcsolatban vannak és együttműködnek. Program készítés: Absztrakciós
Programozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2)
Programozás alapjai C nyelv 7. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.05. -1- Függvények C program egymás mellé rendelt függvényekből
Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter
Adatszerkezetek Tömb, sor, verem Dr. Iványi Péter 1 Adat Adat minden, amit a számítógépünkben tárolunk és a külvilágból jön Az adatnak két fontos tulajdonsága van: Értéke Típusa 2 Adat típusa Az adatot
5. előadás. Programozás-elmélet. Programozás-elmélet 5. előadás
Elemi programok Definíció Az S A A program elemi, ha a A : S(a) { a, a, a, a,..., a, b b a}. A definíció alapján könnyen látható, hogy egy elemi program tényleg program. Speciális elemi programok a kövekezők:
Az informatika kulcsfogalmai
Az informatika kulcsfogalmai Kulcsfogalmak Melyek azok a fogalmak, amelyek nagyon sok más fogalommal kapcsolatba hozhatók? Melyek azok a fogalmak, amelyek más-más környezetben újra és újra megjelennek?
C++ programozási nyelv
C++ programozási nyelv Gyakorlat - 13. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. december A C++ programozási nyelv Soós Sándor 1/10 Tartalomjegyzék Objektumok
Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1
Halmazok 1 Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 2 A fejezet legfontosabb elemei Halmaz megadási módjai Halmazok közti műveletek (metszet,
Algoritmusok és adatszerkezetek I. 2. előadás
Algoritmusok és adatszerkezetek I. 2. előadás Verem Verem= speciális sorozattípus Műveletei: Üres, üres?, Verembe, Veremből, tető Üres: Verem üres?(verem): Logikai tető(verem): Elem {NemDef} Verembe(Verem,Elem):
A szemantikus elemzés helye. A szemantikus elemzés feladatai. A szemantikus elemzés feladatai. Deklarációk és láthatósági szabályok
A szemantikus elemzés helye Forrásprogram Forrás-kezelő (source handler) Lexikális elemző (scanner) A szemantikus elemzés feladatai Fordítóprogramok előadás (A, C, T szakirány) Szintaktikus elemző (parser)
1. Egyszerű (primitív) típusok. 2. Referencia típusok
II. A Java nyelv eszközei 1. Milyen eszközöket nyújt a Java a programozóknak Korábban már említettük, hogy a Java a C nyelvből alakult ki, ezért a C, C++ nyelvben járatos programozóknak nem fog nehézséget
Adatszerkezetek 1. Dr. Iványi Péter
Adatszerkezetek 1. Dr. Iványi Péter 1 Adat Adat minden, amit a számítógépünkben tárolunk és a külvilágból jön Az adatnak két fontos tulajdonsága van: Értéke Típusa 2 Adat típusa Az adatot kódoltan tároljuk
C programozás. 6 óra Függvények, függvényszerű makrók, globális és
C programozás 6 óra Függvények, függvényszerű makrók, globális és lokális változók 1.Azonosítók A program bizonyos összetevőire névvel (azonosító) hivatkozunk Első karakter: _ vagy betű (csak ez lehet,
Diszkrét matematika I.
Diszkrét matematika I. középszint 2014. ősz 1. Diszkrét matematika I. középszint 3. előadás Mérai László diái alapján Komputeralgebra Tanszék 2014. ősz Relációk Diszkrét matematika I. középszint 2014.
Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós október 11. Széchenyi István Egyetem, Gy r
Programozás alapjai (GKxB_INTM023) Széchenyi István Egyetem, Gy r 2018. október 11. Függvények Mi az a függvény (function)? Programkód egy konkrét, azonosítható, paraméterezhet, újrahasznosítható blokkja
OOP #14 (referencia-elv)
OOP #14 (referencia-elv) v1.0 2003.03.19. 21:22:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_14-1 - E jegyzet
1.1. A forrásprogramok felépítése Nevek és kulcsszavak Alapvető típusok. C programozás 3
Darvay Zsolt Típusok és nevek a forráskódban Állandók és változók Hatókörök és az előfeldolgozó Bevitel és kivitel Kifejezések Utasítások Mutatók Függvények Struktúrák és típusok Állománykezelés C programozás
Occam 1. Készítette: Szabó Éva
Occam 1. Készítette: Szabó Éva Párhuzamos programozás Egyes folyamatok (processzek) párhuzamosan futnak. Több processzor -> tényleges párhuzamosság Egy processzor -> Időosztásos szimuláció Folyamatok közötti
Rendezések. A rendezési probléma: Bemenet: Kimenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat
9. Előadás Rendezések A rendezési probléma: Bemenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat Kimenet: a bemenő sorozat olyan (a 1, a 2,,a n ) permutációja, hogy a 1 a 2 a n 2 Rendezések Általánosabban:
Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar
Algoritmizálás Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu 0.1. Az algoritmikus tudás szintjei Ismeri (a megoldó algoritmust) Érti Le tudja pontosan
C memóriakezelés. Mutató típusú változót egy típus és a változó neve elé írt csillag karakterrel hozhatjuk létre.
C memóriakezelés Ez a kis segédanyag az adatszerkezetek órán használt eszközök megértését hivatott elősegíteni. A teljesség igénye nélkül kerül bemutatásra a mutató típus és a dinamikus memóriakezelés.
A programozás alapjai előadás. A C nyelv típusai. Egész típusok. C típusok. Előjeles egészek kettes komplemens kódú ábrázolása
A programozás alapjai 1 A C nyelv típusai 4. előadás Híradástechnikai Tanszék C típusok -void - skalár: - aritmetikai: - egész: - eger - karakter - felsorolás - lebegőpontos - mutató - függvény - union
Rekord adattípus. Egymásba ágyazott rekordok. With utasítás. Változó rekord. Rekord konstans
Témakörök: k: Rekord adattípus Egymásba ágyazott rekordok With utasítás Változó rekord Rekord konstans 1. A rekord adattípus Sokszor találkozunk lkozunk olyan feladattal, melyben összetartozó adatokat,
Függvények. Programozás I. Hatwágner F. Miklós november 16. Széchenyi István Egyetem, Gy r
Programozás I. Széchenyi István Egyetem, Gy r 2014. november 16. Áttekintés kel kapcsolatos fogalmak deklaráció Több, kompatibilis változat is elképzelhet. Meg kell el znie a fv. hívását. Mindenképp rögzíti
Hatékonyság 2. előadás
Hatékonyság 2. előadás Alapelv: a tárolt elemek száma vagy egy elemének mérete kevesebb legyen! Helyfoglalás=memória (kód+adat) + háttértár (kód+adat) 2.1 Sorozatok hosszcsökkentése 2.1.1 Sorozat kiküszöbölése
Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós április 4. Széchenyi István Egyetem, Gy r
Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. április 4. Számok rendezése Feladat: Fejlesszük tovább úgy a buborék rendez algoritmust bemutató példát, hogy a felhasználó adhassa meg a
Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós március 3. Széchenyi István Egyetem, Gy r
Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. március 3. Függvények Mi az a függvény (function)? Programkód egy konkrét, azonosítható, paraméterezhet, újrahasznosítható blokkja Miért
A C# programozási nyelv alapjai
A C# programozási nyelv alapjai Tisztán objektum-orientált Kis- és nagybetűket megkülönbözteti Ötvözi a C++, Delphi, Java programozási nyelvek pozitívumait.net futtatókörnyezet Visual Studio fejlesztőkörnyezet
Programozás I. - 11. gyakorlat
Programozás I. - 11. gyakorlat Struktúrák, gyakorlás Tar Péter 1 Pannon Egyetem M szaki Informatikai Kar Rendszer- és Számítástudományi Tanszék Utolsó frissítés: November 16, 2009 1 tar@dcs.vein.hu Tar
Matematika alapjai; Feladatok
Matematika alapjai; Feladatok 1. Hét 1. Tekintsük a,, \ műveleteket. Melyek lesznek a.) kommutativok b.) asszociativak c.) disztributívak-e a, műveletek? Melyik melyikre? 2. Fejezzük ki a műveletet a \
Láncolt Listák. Adat1 Adat2 Adat3 ø. Adat1 Adat2 ø Adat3
Láncolt Listák Adatszerkezetek Adatszerkezet: Az adatelemek egy olyan véges halmaza, amelyben az adatelemek között szerkezeti összefüggések vannak Megvalósítások: - Tömb, Láncolt lista, Fa, Kupac, Gráf,
FUNKCIONÁLIS PROGRAMOZÁS
FUNKCIONÁLIS PROGRAMOZÁS A funkcionális programozás néhány jellemzője Funkcionális programozás 1-2 Funkcionális, más néven applikatív programozás Funkcionális = függvényalapú, függvényközpontú Applikatív
Halmaz típus Értékhalmaz:
Halmaz, multihalmaz Halmaz féleségek 1. Halmaz Gyümölcsök: {alma,körte,szilva,barack} 2. Multihalmaz Állatok: {(macska,4),(rigó,2),(galamb,3)} 3. Intervallumhalmaz diszjunkt Óráim: {[8-10],[13-14],[16-20)}
10. gyakorlat Struktúrák, uniók, típusdefiníciók
10. gyakorlat Struktúrák, uniók, típusdefiníciók Házi - (f0218) Olvass be 5 darab maximum 99 karakter hosszú szót úgy, hogy mindegyiknek pontosan annyi helyet foglalsz, amennyi kell! A sztringeket írasd
Komputeralgebra Rendszerek
Komputeralgebra Rendszerek Programozás Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék 2014. február 23. TARTALOMJEGYZÉK 1 of 28 TARTALOMJEGYZÉK I 1 TARTALOMJEGYZÉK 2 Értékadás MAPLE -ben SAGE -ben 3
Bevezetés az informatikába
Bevezetés az informatikába 6. előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Matematikus BSc - I. félév / 2008 / Budapest Dr.
Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar
Programozás I. 3. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 1 Primitív típusok Típus neve Érték Alap érték Foglalt tár Intervallum byte Előjeles egész 0 8 bit
4. VEREM. Üres: V Verembe: V E V Veremből: V V E Felső: V E
4. VEREM A mindennapokban is találkozunk verem alapú tároló struktúrákkal. Legismertebb példa a névadó, a mezőgazdaságban használt verem. Az informatikában legismertebb veremalkalmazások az eljáráshívások
tétel: különböző típusú adatokat csoportosít, ezeket egyetlen adatként kezeli, de hozzáférhetünk az elemeihez is
A tétel (record) tétel: különböző típusú adatokat csoportosít, ezeket egyetlen adatként kezeli, de hozzáférhetünk az elemeihez is A tétel elemei mezők. Például tétel: személy elemei: név, lakcím, születési
Bevezetés a Programozásba II 2. előadás. Adattípusok megvalósítása egységbe zárással. Adattípusok megvalósítása egységbe zárással
Pázmány Péter Katolikus Egyetem Információs Technológiai és Bionikai Kar Bevezetés a Programozásba II 2. előadás Adattípusok megvalósítása egységbe zárással 2014.02.17. Giachetta Roberto groberto@inf.elte.hu
A C programozási nyelv IV. Deklaráció és definíció
A C programozási nyelv IV. Deklaráció és definíció Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv IV. (Deklaráció és definíció) CBEV4 / 1 Definíció és deklaráció Definíció: meghatározza
5. Gyakorlat. struct diak {
Rövid elméleti összefoglaló 5. Gyakorlat Felhasználó által definiált adattípusok: A typedef egy speciális tárolási osztály, mellyel érvényes típusokhoz szinonim nevet rendelhetünk. typedef létező_típus
Memóriagazdálkodás. Kódgenerálás. Kódoptimalizálás
Kódgenerálás Memóriagazdálkodás Kódgenerálás program prológus és epilógus értékadások fordítása kifejezések fordítása vezérlési szerkezetek fordítása Kódoptimalizálás L ATG E > TE' E' > + @StPushAX T @StPopBX
Algoritmizálás és adatmodellezés tanítása 9. előadás
Algoritmizálás és adatmodellezés tanítása 9. előadás Szöveges típusok (ismétlés) karakter típus szöveg típus szövegfájl típus (input, illetve output szövegfájl) 2018. 01. 2/30 Karakterábrázolás fix kódhossz
Programozási alapismeretek. Bevezető
Programozási alapismeretek Tananyag: Problémamegoldási stratégiák, az informatikai problémamegoldás alapjai. A problémák megoldásához szükséges informatikai eszközök és módszerek. Programkészítési elvek.
Hatékonyság 1. előadás
Hatékonyság 1. előadás Mi a hatékonyság Bevezetés A hatékonyság helye a programkészítés folyamatában: csak HELYES programra Erőforrásigény: a felhasználó és a fejlesztő szempontjából A hatékonyság mérése
SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS
SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS 2.ELŐADÁS A VB programozási nyelv Az Excel programozása 2 A VB programozási nyelv Adattípusok Adatok kezelése Vezérlőszerkezetek Adattípusok és műveletek Egész adattípusok
Algoritmusok és adatszerkezetek I. 2. előadás
Algoritmusok és adatszerkezetek I. 2. előadás Verem Verem= speciális sorozattípus Műveletei: Üres, üres?, Verembe, Veremből, tető Üres: Verem üres?(verem): Logikai tető(verem): Elem {NemDef} Verembe(Verem,Elem):
Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból
ÜTEMTERV Programozás-elmélet c. tárgyhoz (GEMAK233B, GEMAK233-B) BSc gazdaságinformatikus, programtervező informatikus alapszakok számára Óraszám: heti 2+0, (aláírás+kollokvium, 3 kredit) 2019/20-es tanév
Hardver leíró nyelvek (HDL)
Hardver leíró nyelvek (HDL) Benesóczky Zoltán 2004 A jegyzetet a szerzıi jog védi. Azt a BME hallgatói használhatják, nyomtathatják tanulás céljából. Minden egyéb felhasználáshoz a szerzı belegyezése szükséges.
Láncolt listák. Egyszerű, rendezett és speciális láncolt listák. Programozás II. előadás. Szénási Sándor
Láncolt listák Egyszerű, rendezett és speciális láncolt listák előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Láncolt
ALGORITMIKUS SZERKEZETEK ELÁGAZÁSOK, CIKLUSOK, FÜGGVÉNYEK
ALGORITMIKUS SZERKEZETEK ELÁGAZÁSOK, CIKLUSOK, FÜGGVÉNYEK 1. ELÁGAZÁSOK ÉS CIKLUSOK SZERVEZÉSE Az adatszerkezetek mellett a programok másik alapvető fontosságú építőkövei az ún. algoritmikus szerkezetek.
Adatbázis- és szoftverfejlesztés elmélet
Adatbázis- és szoftverfejlesztés elmélet Informatikai rendszergazda 10. évfolyam Készítette: Nagy Zsolt Készült: 2015 Tartalom Bevezető... 4 Futtatható program elkészítése.... 5 IDE... 5 Adattípusok jellemzői...