180 likes | 273 Views
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].
E N D
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] ... s[1] s[2] s[3] s[254] s[255] Deklaráció • var s1:string; {255 karakter} • Ábrázolás a memóriában: karakterek aktuális hossz megőrzése
s[0] s[1] s[2] s[3] s[4] s[5] Deklaráció • var s2: string[5];{5 karakter} • Ábrázolás a memóriában: karakterek aktuális hossz megőrzése
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 (=, <>, <, >, <=, >=)
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’;