Karakterl áncok
description
Transcript of Karakterl áncok
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.
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
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
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}
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
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}
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=‘’}
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}
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}
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’}
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’}
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)
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’}
...
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.
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!’)
...
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!’)
...
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’;