Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.

Podobné prezentace


Prezentace na téma: "Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu."— Transkript prezentace:

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


Stáhnout ppt "Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu."

Podobné prezentace


Reklamy Google