online kép - Fájl  tube fájl feltöltés file feltöltés - adja hozzá a fájlokat online fedezze fel a legújabb online dokumentumok Kapcsolat
   
 

Letöltheto dokumentumok, programok, törvények, tervezetek, javaslatok, egyéb hasznos információk, receptek - Fájl kiterjesztések - fajltube.com

 

Online dokumentumok - kep
   
kategória
 

Biológia állatok Fizikai Földrajz Kémia Matematika Növénytan Számítógépes
Filozófia
Gazdaság
Gyógyszer
Irodalom
Menedzsment
Receptek
Vegyes

 
 
 
 













































 
 

Elemi adattípusok (adatabrazolas, értéktartomany, konstansok, mûveletek, fontosabb függvények, eljarasok)

számítógépes

Fájl küldése e-mail Esszé Projekt


egyéb tételek

 
Digitalis rendszerek tervezése a VHDL nyelv segítségével
Programozasi eszközök, vezérlési szerkezetek
Grafikai alapfogalmak
Web mail és e-mail IP alapon
A levelezőprogramok alapszolgaltatasai: (OUTLOOK EXPRESS)
A szamítógép-halózatok hasznalata
A szamítastechnika ipari alkalmazasai
Network Monitor A halózati forgalom elemzése - 1. rész, elméleti alapok
A LEGFONTOSABB SZÁLLÍTÓK ÉS TERMÉKEIK ÁTTEKINTÉSE
A C program szerkezete, típusai, konstansok
 
 

Elemi adattípusok (adatábrázolás, értéktartomány, konstansok, mûveletek, fontosabb függvények, eljárások)

A Pascal nyelv erõsen típusos nyelv, azaz minden a programban felhasználásra kerülõ változó típusát elõre meg kell határozni. A nyelv jónéhány elõre definiált standard típust tartalmaz, amelyet kiegészítenek a unit-okban definiált típusok is. Az elõbbiek bármely programban szabadon felhasználhatók, az utóbbiak használata elõtt a Uses utasítás segítségével meg kell hívni a típust tartalmazó unit-ot. A beépített és a unit-ok által rendelkezére bocsátott típusokon kívül lehetõségünk van a deklarációs részben saját típusok definiálására (deklarálására) is. Álalános szabály, hogy a változó bármely ismert típust felveheti, azaz a változó deklarációjának helye elõtt ismertté kell tenni a típust a fordító számára (unit-hívás, típusdeklaráció, ha nem standard típus).
A Turbo Pascal nyelv típusait a következõképpen csoportosíthatjuk:

Egyszerû típusok:
    - Sorszámozott típusok:
        - Egész típusok
        - Karakteres típus
        - Logikai típus
        - Felsorolt típus
        - Résztartomány típus

    - Valós típusok
 
    - String típus
 



Struktúrált (összetett) típusok:
    - Tömb típusok

    - File típusok

    - Record típus

    - Halmaz típus

    - Objektum típus

Mutató típusok
 

A típusok csopor 313i87d tosítása során a szempont az adott típusú változókon végezhetõ mûveletek köre volt, azonos csoportba tartozó típusokon hasonló mûveleteket lehet elvégezni.
 
 

Egyszerû (elemi) adattípusok:

Az elemi adattípsok közös jellemzõje, hogy az ilyen típusú változók egyszerre csak egy értéket képesek tárolni, értelmezési tartományuknak megfelelõen. Az elemi adattípusokat három alcsoportra osztottuk, az egyes alcsoportokba tartozó típusok hasonló jellemzõkkel, tulajdonságokkal rendelkeznek.
A sorszámozott típusoknál az értelmezési tartomány minden egyes eleme esetében egyértelmûen meghatározható az elemet megelõzõ és az elemet követõ elem (Pld: 1, 2, 3 vagy a, b, c).
A valós típusok esetében az elõbbi kijelentés már nem igaz, mivel két valós érték között még végtelen sok valós érték található.
A string típus esetében megoszlanak a vélemények arról, hogy egyszerû adattípus-e egyáltalán. Kezelését tekintve valóban tekinthetõ összetett típusnak (hiszen tulajdonképpen egy tömb, amelynek elemei karakter típusúak), de mivel string típusú változó szerepelhet a függvények paraméterlistájában, általában az egyszerû típusok közé sorolják.

A sorszámozott típusok csoportját további alcsoportokra bonthatjuk:
- numerikus típusok
- karakteres típus
- egyéb típusok (felhasználó által létrehozott típusok)

A numerikus típusok:

Egész típusok:

Numerikus értékek, egész számok tárolására alkalmas típusok (a nevébõl következtetni lehet erre... :-))) ). Valós értékek tárolására alkalmatlanok. Aritmetikai mûveletek során használhatjuk fel ezeket a típusokat.

A Turbo Pascal-ban ötféle elõre definiált egész típus áll rendelkezésre:
 

shortint

-128..127

elõjeles, 8 bites

integer

-32768..32767

elõjeles, 16 bites

longint

-2147483648..2147483647

elõjeles, 32 bites

comp

-263..263-1

elõjeles, 64 bites

byte

0..255

elõjel nélküli, 8 bites

word

0..65535

elõjel nélküli, 16 bites

 

Az egész típusok memóriában történõ tárolása fixpontos ábrázolás szerint történik. Az alábbiakban az Integer típus ábrázolásán keresztül nézzük meg a fixpontos számábrázolás lényegét:

Az Integer típus 2 byte-ot foglal a memóriában. Ez elméletileg 216 féle (65536) szám ábrázolását tenné lehetõvé, de ekkor csak pozitív számokat tudunk ábrázolni. Ebben a legegyszerûbb esetben nem kell mást tennünk, mint a számot átalakítani 2-es számrendszerbe, és kiegészíteni annyi 0-val, amely kitölti a 16 bitet. (A word típus így mûködik.)
Azonban szükségünk van negatív számokra is, melyeknek tárolására már nem megfelelõ az elõbbi módszer (honnan tudjuk, hogy a szám milyen elõjelû lesz?). A negatív számok ábrázolásához alkalmazták az ún. elõjelbitet, azaz a két byte legelsõ bitje határozza meg, hogy a szám milyen elõjelet kap. Ha az elõjelbit 0, akkor a szám pozitív, ha 1, a szám negatív. Az elõjelbit alkalmazása csökkenti az ábrázolható számok értelmezési tartományát, mivel a 16 bitbõl egy az elõjelet határozza meg. Ilyen módon a legnagyobb ábrázolható szám 215-1, azaz 32767 lesz. Ezt a legnagyobb számot a következõképpen ábrázolhatjuk:
01111111111111112=3276710

A pozitív számok tárolása tehát a fentebb vázolt módszerrel történik (azért még késõbb bonyolódni fog). A negatív számok ábrázolása során a gyorsabb számolás érdekében a szám a 16 bit szerinti kettes komplemens formában van tárolva. A kettes komplemens kód képzése során elõször kiszámoljuk a szám kettes számrendszerbeli formájának inverzét, majd az így kapott számhoz hozzáadunk egyet. Nézzünk egy példát:
Ábrázoljunk -18 at kettes komplemes kódban:

18 kettes számrendszerbeli alakja: 0000000000010010
inverze:                                         1111111111101101
hozzáadva 1-et:                            1111111111101110

A legnagyobb 16 biten ábrázolható negatív szám a -1, a legkisebb -32768.

A fixpontos számábrázolás során amennyiben a típus 1 byte-nál nagyobb méretû, a szomszédos byte-okat felcseréljük, az ábrázolás byte-fordított formában történik. A byte fordított forma jellemzõ mind a pozitív, mind a negatív számok ábrázolása során.



Nézzük ezek után az egyes egész típusok jellemzõit.

Shortint:

Értelmezési tartománya -128..127. Elõjeles típus, mérete 1 byte. A negatív számok ábrázolása kettes komplemens kódban történik, a típus méretébõl adódóan a byte-fordított forma nem jellemzõ. :-))

Byte:
Értelmezési tartománya 0..255. Elõjel nélküli típus, mérete 1 byte. A számok ábrázolása normál kettes számrendszerbeli alakjukkal történik, a byte-fordított forma és a kettes komplemens kód nem jellemzõ.

Word:
Értelmezési tartománya 0..65535. Elõjel nélküli típus, mérete 2 byte. A számok ábrázolása kettes számrendszerbeli alakban történik, byte-fordított formában.

Integer:
Értelmezési tartománya -32767..32768. Elõjeles típus, mérete 2 byte. A pozitív számok ábrázolása kettes számrendszerbeli alakjukkal, a negatív számok ábrázolása kettes komplemens kódban történik. Jellemzõ a byte-fordított tárolási forma.

Longint:
Értelmezési tartománya -2147483648..2147483647. Elõjeles típus, mérete 4 byte. A pozitív számok ábrázolása kettes számrendszerbeli alakban, a negatív számok ábrázolása kettes komplemens kódban történik. Jellemzõ a byte-fordított tárolási forma.

Comp:
Ez a típus a kevésbé ismert típusok közé tartozik, elég ritkán használjuk. A legnagyobb méretû egész típus,  értelmezési tartománya -9,22*10-18..9,22*1018. Memóriában történõ tárolása az integer-hez hasonlóan, fixpontos, byte-fordított formában történik. A negatív számokat 64 bit szerinti kettes komplemens kódban tárolja.
Az egészek között ez az egyetlen típus, amely igényli az aritmetikai társprocesszor jelenlétét, illetve ha fizikailag nincs, akkor annak emulációját. (Az N, és szükség esetén az E direktívát be kell kapcsolni.)
A comp típust sokszor a valósak közé sorolják, mert igaz, hogy ábrázolása fixpontosan történik, de legtöbb egész paramétert váró függvény nem fogadja el a comp típust, illetve amikor egy ilyen változó tartalmát alapértelmezés szerint iratjuk ki a képernyõre, az eredmény lebegõpontosan jelenik meg.
 
Valós típusok:
 
Valós számok (tizedestörtek) tárolására használhatjuk ezeket a típusokat. Természetesen tárolhatók egész számok is, de a valós típusú változóban tárolt egész számok teljesen eltérõen viselkednek az elõbbiekben tárgyalt egész típusú változókban tárolt egész számokhoz képest. A valós típusok az aritmetikai mûveletek sokkal szélesebb körét támogatják, mint az egész típusok.

A Turbo Pascal-ban négyféle valós típust használhatunk:
 
 

Típus neve

Teljes mérete

Mantissza mérete

Karakterisztika mérete

Tizedesjegyek száma

Real

6 byte

39 bit

8 bit

11-12

Single

4 byte

23 bit

8 bit

7-8

Double

8 byte

52 bit

11 bit

15-16

Extended

10 byte

64 bit

15 bit

19-20

 

A valós számok ábrázolása a memóriában lebegõpontosan történik (ebbõl kifolyólag más jellemzõket írtam a táblázatba is, mint az egészek esetén). A lebegõpontos ábrázolás során a számot normál alakban tároljuk, tehát a következõ formában:
x=m*2k
ahol x a tárolandó szám, m a mantissza, k a karakterisztika. Az értékek (x, m, k) nyilván 2-es számrendszerbeli formában vannak tárolva. A típus teljes méretét kiszámolhatjuk, ha összeadjuk a mantissza és a karakterisztika tárolásához szükséges biteket, majd a kapott értékhez hozzáadunk egyet, az elõjelbit miatt.
Tehát a negatív számok tárolását itt is egy elõjelbit által oldották meg. Az elõjelbit a mantissza elõjelét tárolja, tehát a teljes szám elõjelét határozza meg. Az elõjelbit a mantissza elõtt alló legelsõ bit lesz.
A karakterisztika tárolási mérete határozza meg a tárolható számok pontosságának mértékét (tizedesjegyek száma). Nyilvánvaló, hogy a 0-hoz közeli számok tárolását a karakterisztika negatív értékével lehet megvalósítani. Ehhez szükség lenne (elméletileg) még egy elõjelbitre, mivel a mantissza és a karakterisztika elõjele egymástól független. Annak érdekében, hogy ne kelljen még egy bitet feláldozni az elõjel tárolásához, a karakterisztika tárolása eltolt ábrázolással történik. Nézzük meg a Real típus esetében hogyan történik az eltolt ábrázolás:
A Real karakterisztikája $80-nal van eltolva. Ha a karaketerisztika értéke 3 lesz (azaz a mantisszát 23-nal kell szorozni), akkor a karakterisztika ábrázolt értéke $83 lesz, tehát a tényleges karakterisztika számításához ki kell vonnunk az ábrázolt értékbõl $80-at. Amennyiben negatív kitevõt szeretnénk ábrázolni, hasonlóképpen kell eljárnunk. Ha a karakterisztika értéke -5 lesz, akkor az ábrázolt érték: $75. Ebbõl kivonva a $80-at, eredményül -5-öt kapunk.
Természetesen a valós típusok esetén is érvényes a byte-fordított tárolási forma, tehát a lebegõpontos ábrázolás során is fel kell cserélni a szomszédos byte-okat a pontos tárolási kép meghatározása során.
A valós típusok közül egyedül a Real típus nem igényli a numerikus processzor (8087) jelenlétét (illetve emulációját), az összes többi valós típusnak szüksége van erre. Amennyiben gépünk tartamaz numerikus processzort, a program elején (legalábbis a valós típusok deklarálása elõtt) az N direktívát be kell kapcsolni, hogy a programunk kihasználhassa a numerikus processzort. Amennyiben ezt nem tesszük meg, a fordító hibaüzenetet fog küldeni a Real-tõl különbözõ valós típusok használata esetén.
Ha gépünkben nincs numerikus processzor, a Turbo Pascal (5.5 és annál újabb változatai) képesek azt emulálni az E direktíva bekapcsolása esetén. Tehát amennyiben van numerikus processzorunk: , amennyiben nincs:
Ha esetleg ebben a formában érthetõbb:


Nézzük ezek után az egyes valós típusok jellemzõit.

Real:

Értelmezési tartománya 2.9*10-39..1.7*1038. Mérete 6 byte. A Turbo Pascal elsõ verziójától használható valós típus, az egyetlen valós típus, amely nem igényli a numerikus processzort. Pontossága 11-12 tizedesjegy. Ezt a típus használjuk leggyakrabban a valós számok tárolásához.

Single:
Értelmezési tartománya 1.4*10-45..3.4*1038. Mérete 4 byte. A Turbo Pascal 4.0 verziójától használható valós típus, igényli a numerikus processzort vagy annak emulációját. Pontossága 7-8 tizedesjegy.

Double:
Értelmezési tartománya 4.9*10-324..1.7*10308. Mérete 8 byte. A Turbo Pascal 4.0 verziójától használható, igényli a numerikus processzort vagy annak emulációját. Pontossága: 15-16 tizedesjegy.

Extended:
Értelmezési tartománya 3.3*10-4932..1.1*104932. Mérete 10 byte. A Turbo Pascal 4.0 verziójától használható, igényli a numerikus processzort vagy annak emulációját. Pontossága: 19-20 tizedesjegy.
 
 

A karekteres típus:

Ebbe a csoportba egyetlen típust szoktunk sorolni, a char típust. Ez a típus egyetlen ASCII karakter tárolását teszi lehetõvé. A típus mérete 1 byte, elõjel nélküli típus. Tehát egy char típusú változóban 28 (256) féle értéket tudunk tárolni. Értelmezési tartománya az ASCII kódtábla elsõ karakterétõl, az utolsó karakteréig tart.
A memóriában történõ tárolása a byte típushoz hasonlóan történik, valójában a karakter ASCII kódjának kettes számrendszerbeli formáját tároljuk. A képernyõn történõ megjelenítéskor a tárolt karakter jelenik meg.
 

A logikai típus:

A Pascal nyelv egyik speciális lehetõsége, hogy beépített logikai típussal rendelkezik, ez a Boolean típus. (Más nyelvek általában egész változókkal oldják meg.) Ez a típus mindössze kétféle érték tárolására képes: logikai igaz (TRUE) és logikai hamis (FALSE). A típus a memóriában 1 byte-on tárolható. A TRUE(=1)FALSE(=0) reláció természetesen igaz. A képernyõn történõ megjelenítés során a változó értéke szöveges formában kerül kiírásra, végig nagybetûvel írva.
 

A felsorolt típus:

A Pascal nyelv lehetõséget ad arra, hogy a program írása során olyan egyedi típusokat deklaráljunk, amelyeknek értékkészletét magunk határozzuk meg. Ezek a típusok mindig sorszámozott típusok, az elemek azonosítóit azonban mi magunk adhatjuk meg. A felsorolt típus elemeinek felsorolása egyben nagyságrendi sorrendet is meghatároz, mivel a fordító automatikusan sorszámot rendel az egyes elemekhez. Ha másképpen nem rendelkezünk, az elsõ elem a 0 sorszámot kapja, a következõ elemek sorszáma pedig mindig eggyel növekszik az elõzõhöz képest. Nézzünk erre egy egyszerû példát:

var Het: (Hetfo, Kedd, Szerda, Csutortok, Pentek, Szombat, Vasarnap);

A fesorolt típus deklarációja során az értékkészlet elemeit kerek zárójelek között, egymástól vesszõvel elválasztva soroljuk fel. A sorszámozás ebben az esetben automatikus, tehát a Hetfo a 0 sorszámot kapta, Pentek pedig a 4-et. Nagyon fontos, hogy az egyedi azonosítókat nem kell aposztrófok közé tenni, mivel nem stringekrõl van szó.
A felsorolt típussal deklarált azonosító csak olyan értéket vehet fel, amely a felsorolásban szerepel.
A felsorolt típus memóriában történõ ábrázolása 1 byte-on történik.
 

A résztartomány típus:

A neve is mutatja ennek a típusnak a jelentõségét. A már ismert sorszámozott típusok egy-egy része, tartománya külö típusként használható a program során. Sokszor hasznos ez a lehetõség, ha tudjuk, hogy a felhasznált értékek milyen intervallumba fognak esni.
A résztartomány típus deklarációja során a típus alsó és felsõ határértékeit kell feltüntetni, intervallum formájában. Például:

Var
Számjegy: '0'..'9';
Nagybetu: 'A'..'Z';
Egyjegyu: 0..9;
Ketjegyu: 10..99;
Haromjegyu: 100..999;

A fenti forma alkalmazható a Var utasítás után. Ha külön típusként szeretnénk felhasználni:

type Szamjegy= '0'..'9';
...
var S: Szamjegy;

A felsorolt típusok memóriabeli mérete a típus felsõ határától függ. Mindig akkora területet használ fel a fordító, amely minimálisan szükséges a felsõ érték tárolásához. Pld: 0..65000 tárolásához két byte szükséges, de 0..66000 tárolásához már négy byte.
A felsorolt típusok tárolása kettes komplemens kódban történik, több byte-os típusok esetén byte-fordított formában.
 

A string típus:
 
Ez a típus szöveges adatok tárolását teszi lehetõvé. Tulajdonképpen karakterek egymáshoz fûzött láncát jelenti. Az egymáshoz fûzött karakterek láncának hossza változó, mindössze a karakterek maximális száma van rögzítve, a legnagyobb hosszúság 255 karakter lehet. A string aktuális hosszán az éppen tárolt karakterek számát értjük. A string típus megítélése során eltérõek a vélemények: mivel karakterekbõl álló tömbrõl van szó, egyesek szerint az összetett típusok közé kellene sorolni. Mivel azonban a string típus a függvény paramétere is lehet, mások az egyszerû típusok közé sorolják. A stringek deklarációja:
Var S1: String;
Ez a deklaráció legegyszerûbb formája, ebben az esetben a string maximális hosszsága 255 karakter lehet. A deklaráció során meg lehet határozni a változóban tárolható szöveg legnagyobb hosszúságát a következõ módon:
Var S2: String[20];
Ebben az esetben a tárolható szöveg maximum 20 karakterõl állhat. A String típusú változók értéke beolvasható a billentyûzetrõl. Amennyiben a felhasználó a deklarált maximális hosszúságnál hosszabb szöveget szeretne megadni, a szövegnek csak az a része kerül tárolásra, amennyit a változó hosszúsága megenged, tehát csonkolás történik.
A string változók maximális hosszúságára vonatozó korlátozás a string típus felépítésében keresendõ. A stringek memóriában történõ tárolása igen egyszerû: minden karakter egy byte-on van ábrázolva, ASCII kódjának kettes számrendszerbeli alakjában, az egyes karakterek egymás után helyezkednek el. A string hosszúsága (memóriabeli mérete) a következõképpen határozható meg: a deklarációban szereplõ maximális hosszúsághoz hozzáadunk egyet. Tehát a Var S: String deklaráció által létrehozott változó a memóriában 256 byte-ot foglal. A stringek 0. byte-ja speciális feladatot lát el a string kezelése során, ez a byte tárolja a string aktuális hosszúságát. A 0. byte-ot általában "nem illik" módosítani.
Tehát egy string tárolását a következõképpen lehet elképzeni:

Var S: String[6];
Begin
    S:= 'AAAA';
End.

Az S string memóriában történõ tárolása:
 

Chr(4)



Chr(65)

Chr(65)

Chr(65)

Chr(65)

határozatlan

határozatlan

0. byte

1. byte

2. byte

3. byte

4. byte

5. byte

6. byte

Tehát látható, hogy a string hosszúságát is egy ASCII karakterként tároljuk a string 0. byte-jában. Mivel a string aktuális hosszúsága 4 karakter, az ötödik és hatodik byte értéke nem meghatározható.

A string típusú változók szoros kapcsolatban állnak a tömbökkel. A string változó egyes byte-jai ugyanúgy érhetõk el, ahogy egy tömb elemei. Nyilván itt is figyelni kell az indexelés határaira. A string minden egyes byte-ja (karaktere) egy karakter típusú értéknek felel meg.

Var S: String[20];
       Ch: Char;
Begin
    S:= 'Pascal';
    Ch:= S[3];
    Writeln(Ch);
End.

A program eredményként az "s" betût fogja kiírni.
 
 

Az egyszerû típusokhoz kapcsolódó eljárások, függvények:
 
Az egyszerû típusokon elvégezhetõ függvények, eljárások a System unit-ban vannak definiálva. Az eljárások, függvények mellett az egyszerû típusok felhasználhatók a Pascal kifejezések operandusaiként is, lásd a 6. tételben.

A függvények, eljárások a hozzájuk kapcsolódó típusok szerint csoportokra oszthatók:

Matematikai függvények, eljárások:
A numerikus típusokhoz kapcsolódó függvények, eljárások. Az eredmény, és a paraméterek jellegétõl függõen valós, illetve egész típusokon alkalmazhatók.

Abs(x)    Az x paraméter abszolút értéke. x: valós, egész. Eredmény: egész.
ArcTan(x)    Az x paraméter arkusztangense (a tangens inverze). x: valós, egész. Eredmény: valós.
Cos(x)    Az x paraméter koszinusza. A szöget radiánban kell megadni. x: valós, egész. Eredmény: valós.
Exp(x)    Az x paraméter e alapú hatványa (exponenciálisa). Eredmény: valós.
Frac(x)    Az x paraméter törtrésze. x: valós, egész. Eredmény: valós.
Int(x)    Az x paraméter egészrésze (kerekítés nélkül). x: valós, egész. Eredmény: egész.
Ln(x)    Az x paraméter 10-es alapú logaritmusa. x: valós, egész. Eredmény: valós.
Odd(x)    Paritás tesztelése (páros szám-e x). x: egész. Eredmény: logikai (False- páros, True- páratlan)
Pi    Pi értéke.
Random    0 és 1 közé esõ véletlenszám elõállítása. Eredmény: valós.
Random(x)    0 és x közé esõ véletlenszám elõállítása. x: egész. Eredmény: egész.
Randomize    A véletlenszám generátor indítása. (Véletlenszám elõállítása elõtt mindenképpen szükséges)
Round(x)    Az x paraméter kerekített értékét adja vissza. x: valós, egész. Eredmény: egész.
Sin(x)    Az x paraméter szinusza. A szöget radiánban kell megadni. x: valós, egész. Eredmény: valós.
Sqr(x)    Az x paraméter négyzete. x: valós, egész. Eredmény: x típusától függ.
Sqrt(x)    Az x paraméter négyzetgyöke. x: valós, egész. Eredmény: x típusától függ.
Trunc(x)    Valós típusú érték 0 felé kerekített egész része, azaz a valós érték tizedespont utáni részét "levágja". x: valós. Eredmény: egész.
 

Sorszámozott típusokhoz kapcsolódó függvények, eljárások:
Ezek az eljárások, függvények kizárólag sorszámozott típusok esetében alkalmazhatók, paraméterük, eredményük egyaránt sorszámozott típus kell legyen.

Dec(x)    Az x paraméter értékének csökkentése 1-gyel.
Dec(x, n)    Az x paraméter értékének csökkentése n-nel.
Inc(x)    Az x paraméter értékének növelése 1-gyel.
Inc(x, n)    Az x paraméter értékének növelése n-nel.
Ord(x)    Az x paraméter sorszámának értéke (pld. Karakterek esetén ASCII kód)
Pred(x)    Az x paramétert megelõzõ érték. (pld. Ch:= Pred('B'); Ch értéke: 'A')
Succ(x)    Az x paramétert követkõ érték. (pld. Ch:= Succ('B'); Ch értéke: 'C')
Chr(x)    Az x paraméter által meghatározott (ASCII kódú) karakter (pld: Ch:= Chr(65); Ch értéke: 'A')
 

Stringekhez kapcsolódó függvények, eljárások:
Ezek az eljárások a karakterláncok kezelését segítik. Található közöttük néhány olyan eljárás, amely egy Pascal kifejezésen kereszül is megoldható, ezekben az esetekben a programozó dönti el, hogy melyik megoldást választja.

Concat(S1, S2, ...)    A függvény összefûzi a paraméterlistában szereplõ stringeket. A paraméterek száma nincs meghatározva.
Copy(S, I, N)    A függvény az S stringbõl kimásol N darab karaktert, az I. karakterõl kezdõdõen. S: String, I, N: Byte.
Delete(S, I, N)    Az eljárás az S stringbõl töröl N darab karaktert, az I. karakterõl kezdõdõen. S: String, I, N: Byte.
Insert(S1, S2, I)    Az eljárás S1 string I. karaktere után beszúrja az S2 stringet.
Length(S)    A függvény visszaadja az S string hosszúságát. Eredmény: egész.
Pos(S1, S2)    A függvény az S2 stringben keresi S1 stringet. Ha megtalálta, akkor egész értékként adja vissza, hol kezdõdik S2-ben S1, ha nem találta meg, 0 értéket ad vissza.
Str(X:W, S)    Az eljárás X egész értéket szöveggé alakítja át W mezõszélességgel. Eredmény: string (S).
Str(X:W:D, S)    Az eljárás X valós értéket szöveggé alakítja át W:D mezõszélességgel (W:D - egészrész : tizedesjegyek) Eredmény: string (S).
UpCase(CH)    Az eljárás a CH karaktert átalakítja nagybetûvé. A CH típusa karakter (Char), csak az angol ABC betûivel mûködik helyesen.
Val(S, V, Code)    Az eljárás S stringet alakítja át numerikus értékké. A numerikus érték típusát a V paraméter típusa határozza meg, egész és valós egyaránt lehet. Ha hiba történt az átalakítás során, a hiba fellépésének helyét a Code egész típusú változó tartalmazza. Hiba nélküli átalakítás esetén Code értéke 0.


Találat: 1845