Difference between revisions of "Record/hu"
m |
m (Fixed syntax highlighting; removed categories included in template) |
||
Line 2: | Line 2: | ||
− | + | = Rekord = | |
− | |||
A rekord (''record'') [[Type|típus]] egy magasan szervezett adatszerkezet [[Pascal]]-ban. | A rekord (''record'') [[Type|típus]] egy magasan szervezett adatszerkezet [[Pascal]]-ban. | ||
Line 13: | Line 12: | ||
Lássuk a telefonkönyves példánkat a gyakorlatban: | Lássuk a telefonkönyves példánkat a gyakorlatban: | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
type | type | ||
TCim = record | TCim = record | ||
Line 29: | Line 28: | ||
Minden egyes mezőt a rekordnév utáni pont operátorral érhetünk el: | Minden egyes mezőt a rekordnév utáni pont operátorral érhetünk el: | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
a.csaladNev := 'Kovacs'; | a.csaladNev := 'Kovacs'; | ||
a.keresztNev := 'Istvan'; | a.keresztNev := 'Istvan'; | ||
Line 37: | Line 36: | ||
A pont operátor használatával mélyebb szintekre is eljuthatunk a rekordban, például a cím megadásánál: | A pont operátor használatával mélyebb szintekre is eljuthatunk a rekordban, például a cím megadásánál: | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
a.cim.iranyitoSzam := 1234; | a.cim.iranyitoSzam := 1234; | ||
a.cim.varos := 'Peldavaros'; | a.cim.varos := 'Peldavaros'; | ||
Line 46: | Line 45: | ||
Egy másik módszer, amely leegyszerűsíti a mezők értékadását, a [[With|with]] szerkezet használata: | Egy másik módszer, amely leegyszerűsíti a mezők értékadását, a [[With|with]] szerkezet használata: | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
with a do | with a do | ||
begin | begin | ||
Line 57: | Line 56: | ||
A rekordot a program egy önálló entitásként kezeli, ezért a rekordok másolhatók - feltéve, hogy a két változó azonos típusú: | A rekordot a program egy önálló entitásként kezeli, ezért a rekordok másolhatók - feltéve, hogy a két változó azonos típusú: | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
var | var | ||
a, b: TSzemely; | a, b: TSzemely; | ||
Line 69: | Line 68: | ||
A rekordokat széleskörűen használják a Pascal-ban logikailag összefüggő adatok csoportosítására. | A rekordokat széleskörűen használják a Pascal-ban logikailag összefüggő adatok csoportosítására. | ||
− | |||
− | |||
− |
Latest revision as of 08:22, 25 February 2020
│
Deutsch (de) │
English (en) │
español (es) │
suomi (fi) │
français (fr) │
magyar (hu) │
polski (pl) │
português (pt) │
русский (ru) │
Rekord
A rekord (record) típus egy magasan szervezett adatszerkezet Pascal-ban.
Míg az egyszerű adatszerkezetek, mint a tömb, vagy a set, egyforma típusú elemekből állnak, addig a rekord többfajta elemből állhat, és nagy bonyolultságú lehet. A rekord egyes részeit mezőknek nevezzük.
Egy rekordnak tekinthető például a való életben a telefonkönyv névjegyzékének egy eleme. Ebben az esetben egy adott rekord egy ember nevét, címét, telefonszámát tartalmazza. Már itt jól látható, hogy különböző típusú mezők vannak felhasználva: a név String típusú, a telefonszám Integer típusú, a cím pedig lehet String vagy szintén rekord típusú - ebben az esetben a címet tovább finomíthatjuk irányítószám, utca, házszám, lépcsőház, stb. formában.
Lássuk a telefonkönyves példánkat a gyakorlatban:
type
TCim = record
iranyitoSzam, hazSzam: Integer; { Irányító- és házszám mezők. }
varos, utca: String; { Város- és utcanév mezők. }
end;
TSzemely = record
csaladNev, keresztNev : String; { A személy családnevét, és keresztnevét tartalmazó mezők. }
cim: TCim; { A személy címét tartalmazó mező - szintén rekord. }
telefonSzam: Integer; { A telefonszámot tartalmazó mező. }
end;
Minden egyes mezőt a rekordnév utáni pont operátorral érhetünk el:
a.csaladNev := 'Kovacs';
a.keresztNev := 'Istvan';
a.telefonSzam := 789534;
A pont operátor használatával mélyebb szintekre is eljuthatunk a rekordban, például a cím megadásánál:
a.cim.iranyitoSzam := 1234;
a.cim.varos := 'Peldavaros';
a.cim.utca := 'Kossuth Lajos utca';
a.cim.hazSzam := 56;
Egy másik módszer, amely leegyszerűsíti a mezők értékadását, a with szerkezet használata:
with a do
begin
csaladNev := 'Kovacs';
keresztNev := 'Istvan';
telefonSzam := 789534;
end;
A rekordot a program egy önálló entitásként kezeli, ezért a rekordok másolhatók - feltéve, hogy a két változó azonos típusú:
var
a, b: TSzemely;
begin
{ értékmegadások az 'a' rekordhoz }
...
...
b := a;
end;
A rekordokat széleskörűen használják a Pascal-ban logikailag összefüggő adatok csoportosítására.