progi Flashcards

(104 cards)

1
Q

programozási paradigma

A

Bizonyos tulajdonságok figyelembevételével osztályozzák a programozási nyelveket, segitenek abban, hogy adott esetben eldontsuk, mely programnyelv a legalkalmasabb az adott feladat elvegzesere.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

imperativ nyelv

A

Azokat a programozasi nyelveket foglaljak ossze, amelyekben a programozo lepesrol lepesre megadja azt az utasitassorozatot, amelyet a program vegigjar, kozben valtoztatva az allapotat.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

deklerativ nyelv

A

Azok a nyelvek, amelyben a kivant eredmeny tukajdonsagait rogziti a programozó, nem azt, hogyan is kell azt elerni.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

programozas

A

Valos problemak szamitogepes megoldása.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

algoritmus

A

Adott típusú osszes feladat megoldasara vonatkozo pontos eloiras, amely megmondja, hogy a kezdeti adatokon milyen muveleteket milyen sorrendben kell elvegezni.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

algoritmus szeleskoru

A

Egesz feladatosztalyokra vonatkozik.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

algoritmus veges

A

Veges szamu lepesben fejezodjon be.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

programozasi nyelv

A

Egy olyan nyelv, amely szintaktikai es szemantikai szabalyok osszesege altal egy problemat megoldo algoritmus leirasara szolgal. Magas szintu, alacsony szintu. (KOZEL TAVOL)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

program

A

Egy adott algoritmus adott programozasi nyelven torteno leírása.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Hardver

A

Szamitast vegzo fizikai-technikai rendszer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

szoftver

A

A hardvert mukodteto programok es parancsok osszessege.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

szoftverfejlesztesi modell

A

A programozas egymástól jol elkulonitheto fazisokbol epul fel, amelyek sajatos kolcsonhatasban vannak egymassal, ezt a kapcsolatot fejezi ki a szoftverfejlesztesi modell.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Vízesés modell

A

A feladat lepesei jol elkulonulten, egymas utan mennek vegbe.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Spiral modell

A

A vizeses modellt egesziti ki prototipus-hasznalat resszel valamint a lepesek ismetlesevel, iteraciojaval.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

V-modell

A

Biztonsagkritikus szamitogeprendszerek fejlesztese eseteben terjedt el, itt a vizeses modellhez képest a szoftver ellenorzese is reszletesen ki van bontva, valamint az egyes fázisok kozotti kapcsolatok es tovabblepes is szigorubban szabalyozva van.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

extrem programozas

A

gyors fejlesztesi ciklusokra osztott fejlesztes, ahol elvarjak a kovetelmenyek viselkedes alapu felbontasat, a tesztek elore megadasat, a folyamatos integraciot es refaktoralast.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

követelmény-specifikáció

A

A felhasználó (megrendelő) a saját szakterülete nyelvén megfogalmazza a problémát (problémafelvetés). Ez önmagában még nem elég ahhoz, hogy az algoritmust meghatározzuk, ehhez fel kell mérni, hogy a program bemenő, illetve kimenő adatainak milyen feltételrendszert kell kielégíteniük. Ez a rész a specifikáció.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

algoritmus tervezés

A

amikor felülről lefelé haladó módon megadjuk a probléma megoldását. Ez azt jelenti, hogy a kiindulási P problémát P1, …, Pn részproblémákra bontjuk, majd minden Pi problémára megadjuk annak egy Mi megoldását. Az Mi műveleteket alkalmas módon összetéve a P problémát megoldó algoritmus megoldását kapjuk.

A részproblémákat mindaddig bontjuk kisebb és kisebb részproblémákra, amíg olyan elemi szintű utasításig nem jutunk, ami az adott programozási nyelv egyszerű műveleteivel megvalósítható.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

megvalósítás

A

A megvalósítás során az előbbi fázisban kifejlesztett algoritmusnak megadjuk egy adott programozási nyelven való leírását, azaz lekódoljuk azt. Ekkor elkészül a program. Ebben a fázisban szigorúan követjük az előző fázis leírását, maximum technikai jellegű különbségek lehetnek a megvalósításaink között.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

ellenőrizni, tesztelni

A

Egyfelől meg kell mutatni, hogy az valóban a kiindulási probléma megoldását adja (helyességigazolás), de azt is meg kell mutatni, hogy ezt milyen költséggel teszi meg (memória és időigény).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

fenntartás

A

A fenntartás fázisban elkezdődik a program felhasználása és végrehajtása a megfelelő bemenő adatokra, ugyanakkor ha a használat során hiba jelentkezik, azt orvosolni kell. Illetve ekkor szokott fény derülni olyan hiányosságokra, amelyek már a specifikáció megadása során kimaradtak, ezeket is pótolni kell.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

algoritmus vezérlése

A

Az algoritmus vezérlése az az előírás, amely az algoritmus minden lépésére (részműveletére) kijelöli, hogy a lépés végrehajtása után melyik lépés végrehajtásával folytatódjék (esetleg fejeződjék be) az algoritmus végrehajtása. Az algoritmusnak, mint műveletnek a vezérlés a legfontosabb komponense.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

vezérlési mód

A

A vezérlési mód azt fejezi ki, hogy egyszerűbb műveletekből hogyan építünk fel összetett műveletet és ennek milyen lesz a vezérlése, azaz milyen sorrendben kell végrehajtani az őt felépítő utasításokat, részfeladatokat.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Négy fő vezérlési mód

A

Szekvenciális: véges sok adott művelet rögzített sorrendben egymás után történő végrehajtása.
Szelekciós: véges sok rögzített művelet közül adott feltétel alapján valamelyik végrehajtása.
Ismétléses: adott művelet adott feltétel szerinti ismételt végrehajtása.
Eljárás: adott művelet alkalmazása adott argumentumokra, ami az argumentumok értékének pontosan meghatározott változását eredményezi.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Strukturált nyelv
Strukturált nyelv, aminek lényege, hogy az elvégzendő feladatokat kisebb, egymáshoz meghatározott módon kapcsolódó részfeladatokra kell bontani.
26
C fordítás lépései
preprocessing – előfeldolgozás compilation – fordítás (assembly nyelvre) assembly – fordítás (gépi kódra) linking – szerkesztés, a futtatható állomány előállítása (ehhez szükséges, hogy az összeszerkesztett object állományok egyikében legyen pontosan egy main függvény, ami a program belépési pontja lesz.)
27
file.c
C source file – C forrásfájl
28
file.h
C header file – C fejléc fájl
29
file.i
preprocessed C file – előfeldolgozott C fájl
30
file.s
assembly source file – assembly nyelvű forrásfájl
31
file.o
object file – gépi kódú fájlfile.o object file – gépi kódú fájl
32
a.out
linked executable – szerkesztett futtatható fájl
33
szintaxis
Formai szabályok olyan rendszerét, amely meghatározza, hogy egy adott kommunikációs nyelvben melyek a szabályos jelsorozatok, a nyelv szintaxisának nevezzük.
34
szemantika
Egy nyelv szemantikája pedig azt határozza meg, hogy a szintaktikusan helyes jelsorozatok mit jelentenek.
35
karakter
char Egy karakter (betű, szám, írásjel, . . . ) ábrázolására való.
36
egész
short int, int, long int Egész számok ábrázolására való típusok, értékkészletükben különböznek.
37
valós
float, double Valós számok ábrázolására való típusok, értékkészletükben, pontosságukban különböznek.
38
logikai
Bool C nyelvnek előtt nem volt része a logikai _Bool adattípus, de logikai értéket adó műveletek már akkor is voltak. A szabvány óta létező stdbool.h header fájl pedig tartalmazza a true és false értékekkel rendelkező bool típus definícióját is.
39
numerikus adattípusok
int, float és double
40
numerikus adattípusok értékei
A numerikus adattípusok értékeinek leírására számleírást, röviden számokat használunk
41
kifejezés
A kifejezésen olyan programkomponenst értünk, amely egy adattípus értékének olyan jelölése, amely műveleteket is tartalmazhat. A kifejezés által jelölt értéket a kifejezés kiértékelése határozza meg.
42
természetes nyelvi leírás
A legegyszerűbb a természetes nyelvi leírás, ami szövegesen, mondatokba foglalva írja le az algoritmust. Ez a leírás nagyon távol állhat a "gép" megvalósításától.
43
pszeudó kód
Ez egy programozás nyelv szerű strukturált nyelv, de sokkal szabadabb, mint egy valódi programozási nyelv, hiszen ebben nem kell minden részletet definiálni.
44
strukturált gráffolyamatábra
A folyamatábra egy grafikus, kevésbé strukturált gráf reprezentációja a végrehajtásnak, amely a működési folyamatra koncentrál.
45
szerkezeti ábra
A szerkezeti ábra egy szintén grafikus, strukturált leírása az algoritmus felépítésének leírására, amely leírja a működési folyamatot is.
46
Az (M,F) feletti folyamatábrán olyan irányított gráfot értünk, amelyre teljesül a következő 5 feltétel:
Van egy olyan pontja, ami a Start művelettel van címkézve, és ebbe a pontba nem vezet él. Van egy olyan pontja, ami a Stop művelettel van címkézve, és ebből nem indul ki él. Minden pontja vagy egy M-beli művelet, vagy egy F-beli feltétel a Start és Stop pontokon kívül. Ha egy pont M-beli művelettel van címkézve, akkor belőle egy él indul ki F-beli feltétellel van címkézve, akkor belőle két él indul ki, és ezek az i (igen), illetve n (nem) címkéket viselik. A gráf minden pontja elérhető a Start címkéjű pontból.
47
Szerkezeti ábra
Az algoritmus tervezése során szerkezeti ábrával (structure diagram, struktúradiagram) (is) le tudjuk írni, hogy a problémát milyen részproblémákra bontottuk, és a megoldásukat milyen módon raktuk össze. A szerkezeti ábra egyszerre fejezi ki az algoritmustervezés folyamatát és a kifejlesztett algoritmust is.
48
Szekvenciális vezérlés
Szekvenciális vezérlésről akkor beszélünk, amikor a P probléma megoldását úgy kapjuk, hogy a problémát P1, . . . , Pn részproblémákra bontjuk, majd az ezekre adott megoldásokat (részalgoritmusokat) sorban, egymás után végrehajtjuk.
49
Szelekciós vezérlés
Amikor véges sok rögzített művelet közül véges sok feltétel alapján választjuk ki, hogy melyik művelet kerüljön végrehajtásra, szelekciós vezérlésről beszélünk.
50
a szelekciós vezérlés különböző altípusai
egyszerű szelekciós vezérlés, többszörös szelekciós vezérlés, esetkiválasztásos szelekció, illetve a föntiek kiegészítve egyébként ágakkal.
51
Egyszerű szelekciós vezérlés
Egyszerű szelekció esetén egyetlen feltétel és egyetlen művelet van (amely művelet persze lehet összetett).
52
Többszörös szelekciós vezérlés¶
Előfordulhat, hogy egyetlen feltétel nem elegendő ahhoz, hogy eldöntsük, mit is kellene csinálni, merre kellene haladni a vezérlésnek. Ilyenkor, ha több feltételünk van több művelettel, akkor többszörös szelekcióról beszélünk.
53
Esetkiválasztásos szelekciós vezérlés
Ha a többszörös szelekció valamennyi feltételét átírhatjuk úgy, hogy azok elemek valamilyen halmazokba való tartozását vizsgálja, akkor esetkiválasztásos szelekcióról beszélünk.
54
Eljárásvezérlés
Eljárásvezérlésről akkor beszélünk, amikor egy műveletet adott argumentumokra alkalmazunk, aminek hatására az argumentumok értékei pontosan meghatározott módon változnak meg.
55
függvény
A C-ben használt függvényeket tekinthetjük a matematikai függvények általánosításának.
56
Függvényművelet
Ha egy részprobléma célja egy érték kiszámítása adott értékek függvényében, akkor a megoldást megfogalmazhatjuk függvényművelettel.
57
Eljárásművelet
Eljárásműveleten olyan tevékenységet értünk, amelynek alkalmazása adott argumentumokra az argumentumok értékének pontosan meghatározott megváltozását eredményezi.
58
Bemenő mód
ha a művelet végrehajtása nem változtathatja meg az adott argumentum értékét.
59
Kimenő mód
ha a művelet eredménye nem függ az adott argumentum végrehajtás előtti értékétől, de az adott argumentum értéke a művelet hatására megváltozhat.
60
Be- és kimenő (vegyes) mód
Ha a művelet felhasználhatja az adott argumentum végrehajtás előtti értékét és az argumentum értéke a művelet hatására meg is változhat.
61
blokk
A C nyelvben blokkon egy { és } zárójelpárba zárt programrészt értünk.
62
Sorrendiségi szabály
a program egy adott pontján csak a hivatkozás helyét megelőzően már deklarált azonosítóra hivatkozhatunk. Változó-, függvény- és típus-azonosító a megjelenése helyén deklaráltnak minősül.
63
Egyediségi szabály
egy adott blokkban egy azonosító csak egyszer deklarálható, nem számítva az alárendelt blokkokat.
64
Láthatósági szabály
Egy B1 blokkban deklarált A azonosító akkor és csak akkor látható (hivatkozható) egy B2 blokkban, ha B1 megegyezik B2-vel, vagy B2 alárendeltje B1-nek és az A azonosító előbb van deklarálva, mint B2, és az A azonosító nincs deklarálva egyetlen olyan C blokkban sem, amely alárendeltje B1-nek és amelynek B2 alárendeltje (beleértve azt, hogy B2 megegyezik C-vel).
65
hatáskör
Azon blokkok összességét, amelyből egy a azonosító látható, az a azonosító hatáskörének nevezzük.
66
lokális
Egy azonosítót lokálisnak nevezünk egy blokkra nézve, ha az azonosító az adott blokkban van deklarálva.
67
azonosító globális
Azt mondjuk, hogy egy a azonosító globális egy B blokkra nézve, ha nem B-ben van deklarálva, de látható B-ben.
68
auto
A blokkokban lokálisan deklarált változóknak a veremben foglalódik hely az adott blokk végrehajtási idejére. Többször végrehajtva az adott blokkot, nem garantált, hogy a változó ugyanazt a memóraiterületet kapja meg, amit korábban. Ez a tárolási mód az alapértelmezett, automatikus tárolási mód, amelyet az auto kulcsszóval is jelezhetünk a deklaráció előtt.
69
static
Ha a deklaráció elé betesszük a static kulcsszót, akkor az adott változónak mindenképp statikus, azaz állandó helye lesz a program teljes futási ideje alatt, még akkor is, ha csak egy lokális változóról van szó.
70
extern
Amennyiben a deklaráció előtt az extern (külső) kulcsszó szerepel, akkor ezzel jelezzük a fordítónak, hogy az adott változónak nem kell helyet foglalnia, a változó deklarációja egy olyan programegységben történik meg, amelyet később, a linkelés által fog az adott programkomponens elérni.
71
register
A register változót, ha lehetséges a fordító a számítógép regiszterébe helyezi (ha nem tudja, akkor a változó a memóriában marad). Ezt a tárolási módot akkor célszerű választani, amikor egy adott változó sok számításnak az eleme, ilyenkor a program futásidejét csökkentheti, ha az adott adatot nem kell mindig a regiszterbe mozgatni. Azonban mindig fordító függő, hogy az adott változó a regiszterbe kerül, vagy sem.
72
Rekurzió
Sokszor adódik úgy, hogy egy problémát úgy a legegyszerűbb megoldani, ha a probléma megoldását megpróbáljuk visszavezetni probléma egy egyszerűbb esetére. Az ilyenfajta megoldást rekurziónak nevezzük. A C nyelven bármelyik függvény lehet rekurzív illetve részt vehet rekurzív függvényrendszerben (ahol a függvények nem feltétlenül közvetlenül hívják meg magukat, hanem esetleg más függvényeken keresztül).
73
ismétléses vezérlés
Ha egy adott feltétel szerint egy műveletsort végrehajtását többször megismételjük, akkor ismétléses vezérlésről beszélünk.
74
ismétléses vezérlés 5 fajtája
kezdőfeltételes, végfeltételes, számlálásos, hurok, diszkrét
75
ciklusszervezés
Az ismétléses vezérlés képzését nevezzük így.
76
ciklusmag
Az ismétlésben szereplő művelet.
77
Kezdőfeltételes ismétléses vezérlés
Kezdőfeltételes vezérlésről akkor beszélünk, ha a ciklusmag (ismételt) végrehajtását egy belépési (ismétlési) feltételhez kötjük.
78
Végfeltételes ismétléses vezérlés
Elképzelhető, hogy nem azt kell tesztelnünk, hogy egy adott ciklust adott feltétel szerint újra és újra kiértékeljünk, hanem akkor kell azt megismételnünk, amíg a ciklus végrehajtása nem ér el egy kívánt feltételt. Azaz a ciklusmag elhagyását egy kilépési feltételhez kötjük.
79
Miben különbözik a végfeltételes és a kezdőfeltételes vezérlés?
Ami megkülönbözteti a két vezérlést az az, hogy kezdőfeltételes ismétlés esetén a ciklusmag első végrehajtása is függ a feltételtől, míg végfeltételesnél a ciklusmag legalább egyszer lefut, és csak az ismétlődések számát határozza meg a feltétel.
80
Számlálásos ismétléses vezérlés
Számlálásos ismétléses vezérlésről akkor beszélünk, ha a ciklusmagot végre kell hajtani egy változó sorban minden olyan értékére (növekvő vagy csökkenő sorrendben), amely egy adott intervallumba esik.
81
Hurok ismétléses vezérlés
Amikor a ciklusmag ismétlését a ciklusmagon belül vezéreljük úgy, hogy a ciklus különböző pontjain adott feltételek teljesülése esetén a ciklus végrehajtását befejezzük, hurok ismétléses vezérlésről beszélünk.
82
break
megszakítja a ciklust, a program végrehajtása a ciklusmag utáni első utasítással folytatódik. Ahogy láttuk, ez az utasítás használható a switch utasításban is, hatására a program végrehajtása a switch utáni első utasítással folytatódik.
83
continue
megszakítja a ciklusmag aktuális lefutását, a vezérlés a ciklus feltételének kiértékelésével (while, do while) illetve az inkrementáló kifejezés kiértékelésével (for) folytatódik.
84
Diszkrét ismétléses vezérlés
Diszkrét ismétléses vezérlésről akkor beszélünk, ha a ciklusmagot végre kell hajtani egy halmaz minden elemére tetszőleges sorrendben.
85
adattípus
Az adattípus a programnak egy olyan komponense, amely két összetevője, az értékhalmaz és az értékhalmaz elemein végezhető műveletek által meghatározott. Minden adattípus vagy elemi, vagy összetett, amelyeket más (akár elemi, akár összetett) adat kombinációjaként hozhatunk létre.
86
Az adatkezelés szintjei
Probléma szintje: a felhasználó ezen a szinten fogalmazza meg a megoldandó problémát, a bemenő és kimenő adatokat, valamint a bemeneti-kimeneti feltételt. Szaktudományos és matematikai szint: a probléma megoldásához a kiindulópontot a szaktudomány és/vagy matematikai modell képezi. Ezen a szinten azonban csak arra a kérdésre kapunk választ, hogy milyen adatok szerepelnek a problémában és milyen összefüggések érvényesülnek. Absztrakt adattípus szint: az algoritmustervezés során határozzuk meg, hogy milyen műveleteket kell alkalmazni a problémában szereplő adatokon ahhoz, hogy a megoldást megkapjuk. Ezt a szintet azért nevezzük absztrakt szintnek, mert még nem döntöttünk arról, hogy az adatokat hogyan tároljuk és a műveleteket milyen algoritmusok valósítják meg. A tárolásról és a műveletek megvalósításáról csak akkor szabad dönteni, amikor a tervezésben az összes információ rendelkezésünkre áll ahhoz, hogy a legmegfelelőbb, leghatékonyabb megvalósítást kiválasszuk. Virtuális adattípus szint: a probléma megoldását adó algoritmust valamely programozási nyelven írjuk le. A programozási nyelvet virtuális gépnek tekinthetjük, amely rendelkezik eleve adott adattípusokkal és típusképzésekkel. Az absztrakt adattípusokat tehát virtuális adattípusok felhasználásával valósítjuk meg. Fizikai adattípus szint: az adatokat végső soron fizikai eszköz, a memória tárolja és a műveleteket fizikai gépi műveletek valósítják meg. A memória a legtöbb gép esetében bájtok (bitek) véges sorozata, tehát végső soron minden adattípust e lineáris szerkezetű tárolóval kell reprezentálni.
87
88
összetett adattípusok
Azokat a típusokat, amelyek értékei tovább bonthatóak, illetve további értelmezésük lehetséges, összetett adattípusoknak nevezzük.
89
Dinamikus változó
Dinamikus változónak nevezzük azt a változót, amely bármely blokk aktivizálásától (végrehajtásától) független hozhatunk létre, illetve szüntethetünk meg. Az ilyen dinamikus változók megvalósításának eszköze lesz a pointer típus.
90
pointer típus definiálása
Ha szeretnénk egy pointer típust definiálni, akkor azt a tpyedef típus *pointertípusnév utasítással tehetjük meg.
91
változóhivatkozás
A  változóhivatkozás  szintaktikus egység, meghatározott formai szabályok szerint képzett jelsorozat egy adott programnyelven, tehát egy kódrészlet. Azaz egy p = 3; utasítás esetén maga a p jel(sorozat) a változóhivatkozás.
92
változó
A változó a program futása során a program által lefoglalt memóriaterület egy része, amelyen egy adott (elemi vagy összetett) típusú érték tárolódik. Például egy int p; deklaráció esetén a memóriában lefoglalódik egy int típusú érték tárolására alkalmas hely, és ezen a területen tárolódik majd a változó értéke.
93
malloc függvény
. Ezek használatához includolni kell a  stdlib.h  vagy  memory.h  függvénykönyvtárakat. Ezekben kerül definiálásra a malloc függvény, amely a paraméterében kapott méretű memóriaterületet lefoglalja, és visszatér az adott terület címével, amivel a különböző változóhivatkozások hivatkozhatnak a létrehozott változóra.
94
sizeof
A sizeof megadja, hogy a paraméterében kapott kifejezés vagy típus mekkora helyet foglal a memóriában. 
95
malloc(sizeof(E))
Azaz összességében a malloc(sizeof(E)) hatására memória foglalódik egy E méretű változónak, amely memóriaterület hivatkozható a malloc által visszaadott PE típusú változó által.
96
void* típus
Gyakorlatilag ez a típus egy olyan típus, aminek az értékkészlete 0 elemű. 
97
karakter tömb típus
A karakter tömb típus segítségével tetszőleges hosszú szöveget, sztringet tudunk megadni. 
98
Rekord típusok
A különböző problémák megoldása közben gyakran előfordul, hogy különböző típusú, de logikailag összetartozó adatelemek együttesével kell dolgoznunk. Az ilyen adatok tárolására szolgálnak a rekord típusok, ezek létrehozása pedig a rekord típusképzések.
99
SZORZAT-REKORD ABSZTRAKT ADATTÍPUS
Az egyes adatok típusa különböző, de minden esetben együtt kell őket kezeljük, adott személyhez rendelve. Jó lenne ilyenkor, ha ezek az adatok valahogy össze lennének fogva, és világosan látszódjon, hogy adott név, cím, illetve telefonszám melyik személyhez tartozik. Az ilyen esetek kezelésére való a szorzat-rekord adattípus.
100
EGYESÍTETT-REKORD ABSZTRAKT ADATTÍPUS
Ha az egyes típusú adatokat nem kell tehát egyszerre tárolni, egyesített-rekordról beszélünk.
101
Függvényre mutató pointer
A pointer egy részalgoritmusra is mutathat, amelyet aktuális argumentumokkal végrehajtva a megadott típusú eredményhez jutunk.
102
Halmaz típus
A lényege ennek a típusnak, hogy adott egy univerzum (U), ami tartalmazza a potenciális elemeit a halmaznak (ezeket legtöbbször egész számokkal ábrázoljuk, hisz a lényeg, hogy diszkrét, egymástól jól elkülöníthető elemeket kell definiálnunk)
103
Láncolt lista
Azonban ha sokszor kell törölnünk és beszúrnunk elemeket a tömbbe, látni fogjuk, hogy ez tömbök esetében nem annyira hatákony, különösen ha a tömb mérete nagy.
104
Láncolt lista, virtuális adattípus
A lista egy megvalósítása lehet a láncolt lista, ahol a lista elemeit egymás után láncoljuk