Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu
2
Práce s řetězci OB21-OP-EL-KONP-JANC-M-3-003
3
Znaky mohou být ukládány do proměnné typu char. Jejich délka je 1 byte. Tato proměnná reprezentuje písmena, číslice a jiné znaky, jako znaménko plus, mínus, tečka, čárka, závorky a další. Některé znaky nejsou zobrazitelné (jako např. CR a LF, které zakončují konec řádku v souborech). Znaková konstanta může být v programu vyjádřena znakem uzavřeným mezi znaky ‘ a ‘ (apostrofy) nebo může být vyjádřena číselnou konstantou, před kterou je znak #.
4
Práce s řetězci Jeden znak může být přečten z klávesnice funkcí ReadKey. Ta čeká na stisknutí klávesy, pak hodnotu vloženého znaku vrátí a program pokračuje za příkazem ReadKey. Na rozdíl od čtení dat z klávesnice příkazem readln, funkce ReadKey vložený znak nezobrazí. Řetězce jsou proměnné typu string. Je v nich uložen text skládající se ze znaků. Řetězec může být deklarován dvěma způsoby, bez udání délky a s udáním délky. Není-li v deklaraci udána, je délka řetězce 255 znaků.
5
Práce s řetězci Obr. 1 Uložení řetězce v paměti počítače
6
Práce s řetězci Řetězec je v paměti uložen podobně jako pole typu char (ale není to totéž). Největší počet znaků, který může být v řetězci uložen, je roven jeho deklarované délce, ale řetězec může obsahovat méně znaků. V prvním bajtu na indexu 0 je číslo, které udává skutečný počet znaků v řetězci. V dalších bajtech na indexech 1,2,3,.. jsou znaky řetězce.
7
Práce s řetězci S jednotlivými znaky v řetězci je možné zacházet podobně jako s členy pole typu char. Řetězec může být také prázdný (nulový), neobsahovat žádné znaky. V tom případě hodnota bajtu na indexu 0 je nula. Řetězec může být vyprázdněn (nulován) příkazem jméno_řetězce := ‘’. Mezi apostrofy není žádný jiný znak.
8
Práce s řetězci Pokud dosazovaný řetězec znaků obsahuje více znaků než má cílový řetězec do nehož je dosazováno (na levé straně symbolu přiřazení) deklarováno, jsou nadbytečné znaky odříznuty. To platí i pro čtení znaků z klávesnice.
9
Procedury a funkce pro práci s řetězci Pro práci s řetězci se používají tyto procedury a funkce: Length (řetězec) – délka Funkce vrací skutečný počet znaků, které řetězec obsahuje, bez ohledu na jeho deklarovanou délku. Concat (ŘetězecA, ŘetězecB, …) – spojit Funkce vrací řetezec, který je spojením dvou nebo více řetezců.
10
Procedury a funkce pro práci s řetězci Copy (Řetězec, Poloha, PocZnaků) – kopírovat Funkce vrací řetězec (podřetězec), který je kopírován (vyříznut) z jiného řetězce od hodnoty Poloha. Délka kopírovaného řetězce je Pocznaků. Řetězec, ze kterého jsou znaky kopírovány je nezměněn. Pos (ŘetězecB, ŘetězecA) – pozice, poloha Funkce vrací polohu (počet znaků od začátku) prvního výskytu řetězce B v řetězci A. Poloha prvního znaku je 1. Jestliže se řetězec B v řetězci A nevyskytuje, funkce vrací hodnotu 0.
11
Procedury a funkce pro práci s řetězci Delete (Řetězec, Poloha, PocZnaků) – vymazat, odstranit Procedura vymaže v řetězci znaky od hodnoty Poloha. Počet vymazaných znaků je PocZnaků. Insert (ŘetězecA, ŘetězecB, Poloha) – vložit Procedura vloží řetězec A do řetězce B od hodnoty Poloha (v řetězci B).
12
Procedury a funkce pro práci s řetězci Upcase (Znak) – velká písmena Funkce změní malé písmeno abecedy (‘a’ … ‘z’) na velké (‘A’ … ‘Z”). Ostatní znaky jsou nezměněny. Str (Číslo, Řetězec) – řetězec Procedura provede konverzi Čísla (typ integer nebo real) do Řetězce. Konverze je provedena podle udané formátové specifikace. Je to stejné jako pro výstup dat na obrazovku příkazem writeln.
13
Procedury a funkce pro práci s řetězci Val (Řetězec, Číslo, Status) – hodnota Procedura provede konverzi čísla v Řetězci do Čísla (typu integer nebo real). Aby byla konverze úspěšná, formát čísla v Řetězci musí vyhovovat deklarovanému typu Čísla. Je to stejné jako pro vstup čísla z klávesnice příkazem readln. Proměnná Status indikuje výsledek konverze. Je-li úspěšná, hodnota Číslo = 0 a hodnota Status udává polohu znaku v Řetězci, který problém způsobil. Mezery před číslem v Řetězci jsou ignorovány.
14
Děkuji za pozornost Ing. Ladislav Jančařík
15
Literatura Putz K.: Pascal – učebnice základů programování, Grada Publishing Praha, 2007
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.