Karakterl áncok

18
Karakterláncok Páll Boglárka

description

Karakterl áncok. Páll Boglárka. Karakterláncok. Karakterlánc olyan karakterek sorozata amelyek az ASCII táblázatban találhatók. Maximális hossza rögzített, Pascalban egy karakterlánc legtöbb 255 karakter hosszú lehet Gyakorlatilag egy karakter típusú elemekből álló vektornak felel meg. s[0]. - PowerPoint PPT Presentation

Transcript of Karakterl áncok

Page 1: Karakterl áncok

Karakterláncok

Páll Boglárka

Page 2: Karakterl áncok

Karakterláncok Karakterlánc olyan karakterek

sorozata amelyek az ASCII táblázatban találhatók.

Maximális hossza rögzített, Pascalban egy karakterlánc legtöbb 255 karakter hosszú lehet

Gyakorlatilag egy karakter típusú elemekből álló vektornak felel meg.

Page 3: Karakterl áncok

Deklaráció

var

s1:string; {255 karakter}

s[1] s[2]s[0] s[3] s[255]s[254]...

• Ábrázolás a memóriában:

aktuális hossz megőrzése

karakterek

Page 4: Karakterl áncok

Deklaráció

var

s2: string[5]; {5 karakter}

s[1] s[2]s[0] s[3] s[4] s[5]

• Ábrázolás a memóriában:

aktuális hossz megőrzése

karakterek

Page 5: Karakterl áncok

Tulajdonságok A Pascal nyelv a karakterláncokat automatikusan

képes kiírni, beolvasni, értéket adni (:=) és összevonni (+)

var csnev:string[15]; knev:string[10];

nev:string; ...

csnev:=‘Kiss’; knev:=‘Andras’; nev:= csnev + knev; {KissAndras}

nev[5]:= ‘+’; {Kiss+ndras}

Page 6: Karakterl áncok

Relációs műveletek karakterláncokon

A karakterláncokat összehasonlíthatjuk a relációs operátorok segítségével (=, <>, <, >, <=, >=)

Relációs kifejezés Eredmény

‘A’ > ‘B’ False

‘jan’ > ‘Jan’ True

‘2599’ < ‘270’ True

‘Alma’ = ‘Alma’ True

‘Korte’ <> ‘KORTE’ True

‘B’#66‘B’ = ‘BBB’ True

Page 7: Karakterl áncok

Karakterlánc kezelő függvények

Length(karlánc) visszaadja a karakterlánc hosszát

var s: string; h:byte; ... s:=‘Pascal’;

h:=length(s); {h=6}

Page 8: Karakterl áncok

Karakterlánc kezelő függvények

Copy(karlánc,poz,hossz) visszaadja a karakterlánc egy részláncát a poz pozíciótól kezdve, amelynek a hosszúsága hossz.

var

s1,s2: string[20];

...

s1:=‘Pascal’;

s2:= copy(s1,3,4) {s2=‘scal’}

s2:= copy(s1,7,2) {s2=‘’}

Page 9: Karakterl áncok

Karakterlánc kezelő függvények

Concat(karlánc1,...,karláncn) Sorban összefűzi a megadott

karakterláncokat

var s:string;

...

s:=Concat(‘Pa’,‘sca’,‘l’);{s=Pascal}

Page 10: Karakterl áncok

Karakterlánc kezelő függvények

Pos(karlánc1,karlánc2) Megadja a karlánc1 első

előfordulásának kezdőpozicióját a karalanc2-ben. (Ha nincs 0-t térít vissza)

var p:byte; ... p:=pos(‘a’,‘Pascal’);

{p=2}

Page 11: Karakterl áncok

Karakterlánc kezelő függvények

Delete(karlánc,poz,hossz) Kitöröl a karakterláncból a poz pozíciótól

kezdődően hossz darab karaktert.var

s: string[20];

...

s:=‘Pascal’;

Delete(s,2,4) {s2=‘Pl’}

Page 12: Karakterl áncok

Karakterlánc kezelő függvények

Insert(karlánc1,karlánc1,poz) Beszúrja a karlánc1 karakterláncot a poz

pozíciótól kezdődően a karlánc2-be.var

s: string[10];

...

s:=‘Paal’;

Insert(‘sc’,s,3) {s2=‘Pascal’}

Page 13: Karakterl áncok

Egyszerűbben

Length(karlánc) Concat(karlánc1,...,karláncn) Copy(miből,honnan,hányat) Delete(miből,honnan,hányat) Pos(mit,miben) Insert(mit,miben,honnan)

Page 14: Karakterl áncok

Számok karakterláncá alakítása

str(szám, karakterlánc) a számot karakterlánccá alakítja a szám lehet egész vagy valós paraméter

Pl: var n:real;

s:string;

...

n:=3;

str(n,s)?; {s= ‘3’}

...

Page 15: Karakterl áncok

Karakterláncok számmá alakítása

val(karakterlánc, szám, kód) a karakterláncot számmá alakítja a kód paraméter jelzi, hogy sikerült-e

az átalakítás a kód kötelezően integer ha az átalakítás sikereses volt akkor a

kód értéke 0.

Page 16: Karakterl áncok

Példa:

var s: string[10];

n, kod: integer;

...

s:= ‘100’;

val(s,n,kod); {n=100, kod=0}

if kod<> 0 then

write(‘az atalakitas sikertelen!’)

...

Page 17: Karakterl áncok

Példa:

var s: string[10];

n, kod: integer;

...

s:= ’10x0’;

val(s,n,kod); {n=0, kod=3}

if kod<>0 then

write(‘az atalakitas sikertelen!’)

...

Page 18: Karakterl áncok

Egyéb függvények:

ord(x) – az x karakternek megfelelő ASCII kódot Pl: i:=ord(‘a’); i=97;

chr(x) – az x ASCII kódnak megfelelő karaktert Pl: c:=chr(97); c=‘a’;