Összetett adattípusok 8/b tétel

Slides:



Advertisements
Hasonló előadás
C# nyelvi áttekintő A „Programozás C# nyelven (Illés Zoltán)”
Advertisements

C++ programozási nyelv Gyakorlat hét
Tömbök C#-ban.
Matematika és Tánc Felkészítő tanár: Komáromi Annamária
LEgyméretű tömbök, vektorok Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 17./0. lVektorok definiálása lVektorok definiálása kezdőértékekkel.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Objective- C Bereczki Gréta Tamara
JavaScript.
© 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.
Adatbázis-kezelés.
Bevezetés a Java programozásba
Bevezetés a Java programozásba
6. előadás (2005. április 5.) Struktúrák Úniók Új adattípus definíálása Dinamikus memória foglalás 1.
5. előadás (2005. március 22.) Függvények definíciója, deklarációja, hívása Enumerációs adattípus 1.
4. előadás (2005. március 8.) Pointerek Pointer aritmetika
Programozás II. 3. Gyakorlat C++ alapok.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 6. Gyakorlat const, static, dinamikus 2D.
Függvények, mutatók Csernoch Mária.
Mutatók, tömbök, függvények
3. LOGIKAI ADATSZERKEZETEK
1 Programozás alapjai GEIAL312B (ANSI C) BSc (Bachelor of Science) / Alap képzés 2005/2006. őszi félév Miskolci Egyetem Általános Informatikai Tanszék.
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
Bevezetés a C++ programozási nyelvbe
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:
Programozás Az adatokról C# -ban.
C nyelv utasításai.
Tömbök Csernoch Mária.
Összetett adattípusok
Programozási Nyelvek (C++) Gyakorlat Gyak 02.
Összetett adattípusok a Pascal nyelvben
Programozási nyelvek Páll Boglárka.
Alprogramok a Pascal nyelvben
Struktúra nélküli adatszerkezetek
Adatszerkezetek 1. előadás
Készítette: Csíki Gyula
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Visual Basic 2008 Express Edition
Egyenesvonalú (lineáris) adatszerkezetek
Objektum orientált programozás
Objektum orientált programozás
Objektum orientált programozás
A Visual Basic nyelvi elemei
Feladatok (értékadás)
Függvények a C nyelvben 1 Függvényeket a következő esetekben szokás írni: Ha ugyanazt a tevékenységet többször is el kell végeznünk ugyanolyan típusú,
C Programozási alapok.
CUDA C/C++ programozás CUDA C bevezetés A segédanyag készítése a TÁMOP A/ Nemzeti Kiválóság Program című kiemelt projekt keretében.
Free pascal feladatok
Grafikus programozás Készítette: Csernok László
Excel programozás (makró)
Programtervezés, programozás I. 2.5 tömbök,stringek
Objektum orientált programozás 4. Mutatók, típusok és struktúrák Nagy Szilvia.
Struktúrák a C nyelvben 1 Akkor használjuk, ha az egy egyedre jellemző különböző típusú adatokat együtt akarjuk tárolni. Lényegében típusdeklaráció. A.
Függvények, mutatók Csernoch Mária. Függvények függvény definíciója az értelmezési tartomány tetszőleges eleméhez hozzárendel egy értéket –függvény helyettesítési.
Informatikai gyakorlatok 11. évfolyam
TÁMOP /1-2F Informatikai gyakorlatok 11. évfolyam Alapvető programozási tételek megvalósítása Czigléczky Gábor 2009.
Elemi adattípusok.
Informatikai gyakorlatok 11. évfolyam
TÖMBÖK – péntek Jordán Sándor.
Programozási nyelvek típusossága.
Készítette: Révész Lajos Bálint
Típusok Halmaz (a világ objektumai közül néhány) Neve van
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
Változók.
Adatszerkezetek.
Informatikai gyakorlatok 11. évfolyam
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Előadás másolata:

Összetett adattípusok 8/b tétel Készítette: Kovács Nándor KONRACB.PTE

Adattípusok

A C++-ban leggyakrabban használt alaptípusok: Egész számok típusa: int, short int, long int Lebegopontos számok típusa: float, double, long double Logikai típus: bool Karakter típus: char Karakterlánc típus: string

Típuskonstrukciók A típuskonstrukciós eszközök lehetőséget biztosítanak arra, hogy az alap típusokból újakat hozzunk létre. Nyelvenként nagyon eltérő, hogy milyen eszközöket használhatunk. Általában besorolhatóak az alábbi csoportosításba: Iterált típus Unió típus Direktszorzat típus

Iterált típus Egy meglévő típus elemeiből szeretnénk halmazokat vagy sorozatokat készíteni. A programozási nyelvek általában több megoldást is kínálnak rá: Vektor (egydimenziós tömb) Többdimenziós tömb Halmaz Lista Hasítótábla Fájl

Iterált típus Vektor Sorszám (index) szerint akarunk hivatkozni az elemekre. Típusértékhalmaz eltérő a nyelvekben: C jellegű nyelvek: Elemszámot kell megadni. 0-tól indexelődik. Pascal jellegű nyelvek: Egy tetszőleges diszkrét típus, tetszőleges nem üres részhalmaza lehet az indexhalmaz.

Iterált típus Vektor Műveletek: Szelekció: Értékadás: V[i], amely viszont lehet balérték is, így rajta keresztül megváltoztatható a vektor. Értékadás: Általában ciklusban kell átadni az egyes értékeket. A Pascal jellegű nyelvek megengedik a vektorok közötti értékadást is.

A tömb típus A tömb típus a tömb absztrakt adatszerkezet megjelenése típus szinten. A tömb statikus és homogén összetett típus, vagyis tartományának elemei olyan értékcsoportok, amelyekben az elemek száma azonos, az elemek azonos típusúak. A tömböt, mint típust meghatározza: - dimenzióinak száma - indexkészletének típusa és tartománya - elemeinek a típusa

Iterált típus Egyes nyelvek (pl. a C) nem ismerik a többdimenziós tömböket. Ezek a nyelvek a többdimenziós tömböket úgy képzelik el, mint olyan egydimenziós tömbök, amelyek elemei egydimenzi-ós tömbök. C jellegű nyelvek: Vektorok vektora int t[42][42] Pascal jellegű nyelvek: Valódi többdimenziós tömbök.

Iterált típus Nyelvi specialitások C és C++: A mutatók és tömbök szoros kapcsoltban vannak egymással. A vektor tulajdonképpen az első elemre mutató mutatóval érhető el, és így is tárolódik. Tetszőleges méretű tömböket adhatunk át az alprogramoknak, mivel tulajdonképpen csak egy mutatót fogunk átadni. A vektor nem ismeri a saját méretét, így azt nekünk kell kezelni.

Iterált típus Halmaz Viszonylag ritkán támogatott típuskonstrukció. Ha egy nyelv támogatja is, akkor szigorú megkötésekkel él az elemtípussal szemben. Diszkrét típusok. Maximált elemszámmal. Pl.: hónapok nevei C-ben: enum Months{ January, February, March, April, May, June, July, August, September, October, November, December };

Címfüggvény Tömbök ábrázolása Általában sorfolytonosan történik. Címfüggvény segítségével tudjuk megmondani egy adott elem tényleges helyét a memóriában. pl.: C nyelven pl. egy tömb címe megegyezik a 0-s indexű elem címével. Int tömb esetén a elemenként egy int-nyit (4 byte) kell hozzáadni a pointer értékéhez.

Unió típus A struktúrához hasonlóan különböző típusú adatok tárolására alkalmas, de egy adott időpillanatban csak egy fajta adata lehet. Akkor használjuk, ha valamiről azonos és különböző típusú adatokat is szeretnénk tárolni. Pl. kerekített ár, pontos ár(fillérrel). A modern programozási nyelvekben kiválthatóak az öröklődéssel és a többalakúsággal.

Unió típus A nyelvek egy része ettől függetlenül biztosít lehetőséget az unió típusok használatára. Használatának helytakarékossági oka lehet, vagy valamilyen konverziós trükk. Deklarációja és használata formailag megegyezik a struktúrával.

Unió típus C nyelven typedef union { int forintos; float filleres; } egyenleg;

Unió típus Jellemzői C-ben A memóriában annyi helyet foglal, amennyit a nagyobbik komponens foglalna el. A szelektorok itt arra szolgálnak, hogy a memóriából a szelektornak megfelelően olvassunk ki. Azaz nem arra, hogy eldöntsük, milyen típusú adattal van dolgunk. Nem kapunk támogatást arra, hogy eldöntsük, tényleg a megfelelő típusú objektum van-e a memóriában. Ez futási hibákhoz, vagy értelmezhetetlen – és nehezen felderíthető – hibákhoz vezethet.

Direktszorzat típus Struktúra: A struktúra egy összetett adatszerkezet, ami arra szolgál, hogy különböző típusú, de valamilyen oknál fogva összetartozó adatokat egy egységként tudjuk kezelni. A struktúrán belül tetszőleges típusokat alkalmazhatunk (kivéve a void és a függvény típust), még struktúrákat is. Azaz bizonyos megszorításokkal egy struktúra lehet rekurzív is.

Direktszorzat típus Deklaráció: struct struktúra_azonosító { típus1 tag1; típus2 tag2; típusN tagN; }; Az adattagok deklarációja a C nyelv szokásos deklarációs szabályai érvényesek: struct struktúra_azonosító struktúra_változó;

Direktszorzat típus Mikor használjuk? Megkötés: Ha valamiről több – akár típusaiban eltérő – adatot akarunk tárolni. Minden egyes hasonló dologról ugyanazokat az adatokat szeretnénk tárolni. Megkötés: Minden dolog esetén az összes tárolandó adatnak rendelkezésre kell állnia.

Direktszorzat típus Direktszorzat ábrázolása Általában a komponensek megadásának sorrendjében tároljuk őket. Az adott komponens típusának megfelelő fizikai formában tároljuk.

Direktszorzat típus Deklaráció C nyelven: typedef struct account { int account_number; char *first_name; char *last_name; float balance; } account;

Direktszorzat típus Változó deklaráció: account szamla; Értékadás: szamla.first_name=„Kovács”; szamla.balance=10000000;