Rekord adattípus. Egymásba ágyazott rekordok. With utasítás. Változó rekord. Rekord konstans

Hasonló dokumentumok
Java II. I A Java programozási nyelv alapelemei

Algoritmizálás és adatmodellezés tanítása 1. előadás

Programozás alapjai 6. előadás. Wagner György Általános Informatikai Tanszék

Programozás alapjai. 5. előadás

Programozás alapjai. 10. előadás

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós október 15. Széchenyi István Egyetem, Gy r

Java II. I A Java programozási nyelv alapelemei

Memóriagazdálkodás. Kódgenerálás. Kódoptimalizálás

Operációs rendszerek gyak.

8. Gyakorlat SQL. DDL (Data Definition Language) adatdefiníciós nyelv utasításai:

Fogalmak: Adatbázis Tábla Adatbázis sorai: Adatbázis oszlopai azonosító mező, egyedi kulcs Lekérdezések Jelentés Adattípusok: Szöveg Feljegyzés Szám

Érdekes informatika feladatok

10. gyakorlat Struktúrák, uniók, típusdefiníciók

5. Gyakorlat. struct diak {

Programozás I gyakorlat

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása

MS ACCESS 2010 ADATBÁZIS-KEZELÉS ELMÉLET SZE INFORMATIKAI KÉPZÉS 1

7. Strukturált típusok

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010

1. Egyszerű (primitív) típusok. 2. Referencia típusok

Java programozási nyelv

A C programozási nyelv V. Struktúra Dinamikus memóriakezelés

Készítette: Nagy Tibor István

1. Template (sablon) 1.1. Függvénysablon Függvénysablon példányosítás Osztálysablon

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 C programozási nyelv I. Bevezetés

Gyakorlatok. P (n) = P (n 1) + 2P (n 2) + P (n 3) ha n 4, (utolsó lépésként l, hl, u, hu-t léphetünk).

Occam 1. Készítette: Szabó Éva

A C programozási nyelv I. Bevezetés

A C programozási nyelv III. Pointerek és tömbök.

OOP #14 (referencia-elv)

SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS

Maximum kiválasztás tömbben

A C programozási nyelv III. Pointerek és tömbök.

OOP #1 (Bevezetés) v :39:00. Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj.

Adatmodellezés. 1. Fogalmi modell

ADATBÁZISKEZELÉS ADATBÁZIS

Programozás I gyakorlat

Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez

OOP I. Egyszerő algoritmusok és leírásuk. Készítette: Dr. Kotsis Domokos

Sztringkezelő függvények. A string típusú változók kezelése, használata és szerepük a feldolgozás során

Bevezetés a programozásba. 9. Előadás: Rekordok

Címzett: Kovács Gézáné Szeged, Híd u. 1. Tisztelt Kovács Gézáné! Örömmel értesítjük, hogy Ön megnyerte nyereményjátékunk 1000 Ft-os díját.

A digitális analóg és az analóg digitális átalakító áramkör

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17

Fizikai terv. A fizikai tervezés részei: Adatterv Adatvédelmi terv A rendszer működésének terve Funkciók terve (programspecifikációk) I/O tervek

C programozási nyelv Pointerek, tömbök, pointer aritmetika

Adatszerkezetek I. 1. előadás

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

Készítsen egy adatbázist (egytáblásat) egy számítástechnikai tanfolyam résztvevőiről. Az adattábla rögzítse a következőket:

Mindenki abból a három tantárgyból tesz szigorlatot, amelyet hallgatott.

Adatbázis rendszerek 2. előadás. Relációs algebra

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter

3. Ezután a jobb oldali képernyő részen megjelenik az adatbázistábla, melynek először a rövid nevét adjuk meg, pl.: demo_tabla

Listák, szótárak, fájlok Listák, szótárak, fájlok

Programozási nyelvek a közoktatásban alapfogalmak II. előadás

Operációs rendszerek. 10. gyakorlat. AWK - bevezetés UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

RELÁCIÓS ADATBÁZISSÉMÁK. Egyed-kapcsolat modellről átírás

ALAPOK. 0 és 255 közé eső számértékek tárolására. Számértékek, például távolságok, pontszámok, darabszámok.

A C# programozási nyelv alapjai

Adatbáziskezelés alapjai. jegyzet

A SELECT működése. Ttanar tábla: Tdiak tábla:

Emlékeztető: a fordítás lépései. Szimbólumtábla-kezelés. Információáramlás. Információáramlás. Információáramlás.

A JavaScript főbb tulajdonságai

Objektumok inicializálása

Programozás I gyakorlat

Adatbázis, adatbázis-kezelő

Kifejezések. Kozsik Tamás. December 11, 2016

az Excel for Windows programban

Az SQL nyelv Structured Query Language (Struktúrált lekérdező nyelv)

H N S A d a t K a p c s o l a t

Visual Basic elméleti leti alapok 2.

AWK programozás, minták, vezérlési szerkezetek

Adatbázis és szoftverfejlesztés elmélet

Komputeralgebra rendszerek

Bevezetés a programozásba I 4. gyakorlat. PLanG: Szekvenciális fájlkezelés. Szekvenciális fájlkezelés Fájlok használata

Kézikönyv. Szelekciós jegyzék létrehozása

Komputeralgebra rendszerek

w w w. h a n s a g i i s k. h u 1

Programozás alapjai. 7. előadás

Programozás alapjai. 2. előadás

1. Jelölje meg az összes igaz állítást a következők közül!

Rendezések. A föltöltés nemcsak az r-re vonatkozik, hanem az s-re is. Ez használható föl a további rendezések

Adatmodellek. 2. rész

A gyakorlat során MySQL adatbázis szerver és a böngészőben futó phpmyadmin használata javasolt. A gyakorlat során a következőket fogjuk gyakorolni:

HÁZI FELADAT PROGRAMOZÁS I. évf. Fizikus BSc. 2009/2010. I. félév

3. Határozza meg és írja ki a minta szerint, hogy a forrásállományban hány kémiai elem felfedezési adatai

Informatika terméktervezőknek

... S n. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak.

A verem (stack) A verem egy olyan struktúra, aminek a tetejéről kivehetünk egy (vagy sorban több) elemet. A verem felhasználása

Algoritmuselmélet. 2-3 fák. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 8.

NYILVÁNOS KÖNYVTÁRI KATALÓGUSOK

Gazdasági informatika II (SZIE GTK GVAM 1. évfolyam) 2009/2010. tanév 2. félév

Bevezetés a C++ programozási nyelvbe

Adatbázis Rendszerek II. 3. SQL alapok

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. Függvények. Függvények(2)

A WEBOPAC (online elektronikus katalógus) használata. 1. Keresés az adatbázisban (összetett):

Gregorics Tibor Tanácsok modularizált programok készítéséhez 1

Átírás:

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, adatcsoportokat kell kezelni. Ilyen példp ldául a következk vetkező: Feladat: Készítsünk nyilvántart ntartást az osztályp lypénzről! A következő adatokat kell nyilvántartani: ntartani: Név (max.. 20 karakter) Befizetett összeg Tartozás (egész szám) (egész szám)

A feladat megoldása... Vegyünk mintának nak egy táblt blázatot: Név Befizetett összeg Tartozás Nagy Lajos 350 200 Kis Aladár 100 400 Búza Virág 600 0

Megoldás s tömbt mbök segíts tségével... A tömbt mbök k segíts tségével azonos típust pusú adatokat tudunk tárolni. t Mivel a feladatban ez nem valósul meg, az egyik megoldás s lehet a párhuzamos tömbt mbök használata. Három különbk nböző tömböt t vegyünk fel: Az egyikben a neveket,, a másikban m a befizetett összeget,, a harmadikban a tartozást tároljuk. Osztály ly-név: Tömb T (1.. 40) : szöveg[20] Osztály ly-befizetés: Tömb(1 T.. 40) : egész Osztály ly-tartozás: Tömb(1 T.. 40) : egész

Tárolás s a memóri riában... Ezek a tömbt mbök k a memó-ri riában egymás s után helyezkednek el. Egy adatcsoport mozga-tása ebben a konstruk-ci cióban csak adatonként nt lehetséges ges.. Nagy Lajos... 350... 200... Osztály-Név[1] Osztály-Név[40] Osztály-Befizetés[1] Osztály-Befizetés[40] Osztály-Tartozás[1] Osztály-Tartozás[40]

Megoldás s rekord segíts tségével... A másik m megoldás s a rekord használata. A rekord a különböző típusú,, de összetartozó adatokat összefogja,, azokat egy adatként kezeli. Az ilyen adatcsoportok a memóri riában egymás s után helyezkednek el, és s az egész adatcsoportra egy névvel n lehet hivatkozni. A rekord összetartozó adatait mezőknek nevezzük.

A rekord adattípus deklaráci ciója Type TRekord = Record Mező1 1 : Típus1 T ; Mező2 2 : Típus2 T ;... MezőN : TípusN ; End; Var Elem : TRekord; (Elem egy Tomb : Array[1.. 100] of TRekord Ha vannak azonos típusú mezők, akkor ezeket,-vel választhatjuk el egymástól. Több rekordtípusban szerepelhet ugyanaz a mezőnév, de egy rekordon belül a mezőnévnek egyedinek kell lenni! (Elem egy TRekord típusú változó) (Tomb egy rekordokból álló tömb)

Hivatkozás s a rekord mezőire... A rekord mezőire a következk vetkezőképpen hivatkozhatunk: Elem.Mező1, Elem.Mező2 2... Tomb[1].Mez [1].Mező1, 1, Tomb[1].Mez [1].Mező2,... Tomb[i]. [i].mezőn

A feladat megoldása: Az osztály nyilvántart ntartása: Type Tag = Record Nev : String[20] ; Befizetes, Tartozas : Word ; End; Var Osztaly : Array[1.. 40] of Tag

A tömb t feltölt ltése: For I:=1 to 40 do Begin Write( Kérem rem írja be a nevet: ); Readln(Osztaly Osztaly[ [ I ].Nev Nev); Write( Kérem rem írja be a befizetett összeget: sszeget: ); Readln(Osztaly Osztaly[ [ I ].Befizetes Befizetes); Write( Kérem rem írja be a tartozás s mértm rtékét: t: ); Readln(Osztaly Osztaly[ [ I ].Tartozas Tartozas); End;

A tömb t feltölt ltése más m s módon: m A tömbt mböt úgy is feltölthetj lthetjük, hogy mindig egy rekordba visszük k be az értékeket, majd az adatcsoportot áttesszük k a tömbbe: t For I:=1 to 40 do Begin Readln(Gyerek.Nev Gyerek.Nev); Readln(Gyerek.Befizetes Gyerek.Befizetes); Readln(Gyerek.Tartozas Gyerek.Tartozas); Osztaly[I]:=Gyerek End; ; A Gyerek változó Tag típusú

Az Osztály tömb t elhelyezkedése a memóri riában: Osztály[1] Osztály[2] Osztály[40] Nagy Lajos 350 200... Név Befizetés Tartozás Név Befizetés Tartozás Név Befizetés Tartozás

2. Egymásba ágyazott rekordok Előfordulhat, hogy a rekord mezője szintén rekord típus. Ekkor egymásba ágyazott rekordról beszélünk. A A rekordokat tetszőlegesen egymásba ágyazhatjuk. A A túl t l sok egymásba ágyazástól azonban óvakodjunk, mert a program áttekinthetetlen lesz!

Egymásba ágyazott rekordok Type Tnev = String[20]; Tdatum = Record Ev : Word; Ho : 1.. 12; Nap : 1.. 31; End; Tszemely = Record Nev : Tnev; Szuldatum : Tdatum; Anya : Tnev; End; Var Szemely : Tszemely

Egymásba ágyazott rekordok Előfordulhat, hogy meg kell jegyezni az anya nevét és s szület letési dátumd tumát: t: Tszemely = Record Nev : Tnev; Szuldatum : Tdatum; Anya : Record Nev : Tnev; Szuldatum : Tdatum; End; End;

A deklarált lt adatok struktúrája: Szemely Nev Szuldatum Anya Ev Ho Nap Nev Szuldatum Az elemi adatok a struktúra végein helyezkednek el. A Szemely változó összesen nyolc elemi adatból áll. Pl.: Szemely.Nev, Szemely.Szuldatum.Ev, Szemely.Anya.Szuldatum.Ev Ev Ho Nap

3. With utasítás A rekord használata az előny nyök k mellett egy apró kellemetlenséggel is jár. j A rekord mezőit állandóan minősíteni kell, ami az egyes utasításokat sokat hosszúvá teheti, és sok gépelg peléssel jár. j Ezt küszk szöböli ki a With utasítás, s, mely segíts tségével egy egész utasításcsoport scsoport minden adatát minősíthetj thetjük: With Rekord-azonos azonosító do Utasítás; s; Az utasítás általában összetett utasítás, s, amelyen belül l elegendő csak a mezőneveket megadni.

With utasítás Egy példa p a With utasítás s használat latára: For I:= 1 to 40 do With Osztaly[ [ I ] do Begin Readln(Nev Nev); Readln(Befizetes Befizetes); Readln(Tartozas Tartozas); End; ; Vigyázzunk, nehogy a For elé vigyük a With utasítást, mert akkor az I értéke definiálatlan lenne!

With utasítás A With utasításban sban több t rekord is felsorolható.. A következő két t utasítás s ekvivalens egymással: With R1, R2,..., Rn do Utasítás vagy With R1 do With R2 do... With Rn do Utasítás

With utasítás Egymásba ágyazott rekordok felsorolásakor sakor lényeges azok sorrendje: Pl.: With Szemely,, Anya, Szuldatum jó,, de értelmetlen és s hibás: With Szuldatum, Szemely, Anya

With utasítás Az utasításban sban felsorolt mezőnevekhez a fordító mindig visszafelé illeszti a rekordazonosítókat. kat. Ha az illesztés s nem sikerül, a következk vetkező azonosítót t veszi figyelembe, ha az sem megfelelő a következk vetkezőt, t, és így tovább... Pl: With Szemely, Anya, begin Nev:= := Kiss Virág ; Ev:=1974;..., Anya, Szuldatum do Mivel a Szuldatum-hoz nem tudta illeszteni a Nev mezőt, ezért az Anya-t vette figyelembe.

4. VáltozV ltozó rekord Gyakran merül l fel igényk nyként, nt, hogy a rekord többféle adatcsoportot tudjon tárolni t a feltételnek telnek megfelelően. en. A Pascal lehetőséget ad a változó rekord deklarálására. ra. Ilyenkor a rekord első része mindig egy állandó rész,, melyet a különböző változatok leírása követk vet. A rekord fizikai hosszát t a leghosszabb változatv határozza meg. A programból l bármikor b bármelyik b változatra v hivatkozhatunk, a helyes adattárol rolásra és hivatkozásra a programozónak kell figyelni.

4. VáltozV ltozó rekord A változv ltozó rekord szintaktikája: Type Trekord = Record Mezőlista Case Változó : Típus T of Érték1 : ( Mezőlista1) ; Érték2 : ( Mezőlista2) ;... End; ; Állandó rész Változó rész

Változó rekord Type Tfajta = ( Kor, Teglalap ); Tidom = Record Terulet : Real; szelektormező Case Fajta : Tfajta of Teglalap : ( Alap, Magassag : Real) ) ; Kor : ( Sugar : Real) ) ; End; Var Sikidom : Tidom;... Sikidom := Kor; Sikidom. Sugar := 4; A szelektormező értékétől függ, hogy melyik lista van érvényben.

Változó rekord Az előbbi példp ldában szereplő rekord fizikai hossza: Terulet : 6 byte Fajta: 1 byte Alap : 6 byte Magassag: : 6 byte 12 byte Sugar : 6 byte Tehát t a hossz: 6+1+6+12=19 byte

5. Konstans rekord A rekordot - ugyanúgy mint tömbt mböt - definiálhatjuk kezdőért rtékkel rendelkező rekordként nt. A rekord mezőinek úgy adunk kezdőért rtéket, hogy zárójelben z felsoroljuk az egyes mezők azonosítóit, és s kezdőért rtékeit. Az értékadásokat pontosvesszők k választjv lasztják k el egymást stól.

Konstans rekord Type Tszemely = Record Nev : string[20]; IQ : byte; End; Const Szemely : Tszemely = (Nev( : Kiss Éva ; IQ : 120)

Vége