Programování je neustále spojeno s prací sněkterá data, zejména s řetězci. Řetězcový operátor je definován stejným způsobem ve většině jazyků, včetně Pascal: string. Pascal má ale své vlastní vlastnosti a vlastnosti, které potřebujete znát před zahájením práce.
Co je řetězec v Pascalu?
Než se pustíme do syntaxedatový typ řetězce v Pascalu, měli byste pochopit, co může být řetězec. Ve skutečnosti je v Pascalu řetězec řetězec znaků, z nichž každý může být libovolný prvek z tabulky ASCII. To znamená, že jako řetězec lze použít jakékoli písmeno, číslo, interpunkční znaménko nebo mezeru.
Maximální počet znaků v jednom řádkuje 255 jednotek a každá z nich obdrží odpovídající pořadové číslo. Pokud tedy potřebujete do proměnné zapsat velký text, měli byste vytvořit pole řetězců. Pascal tento požadavek zpracuje správně a lze ukládat mnohem delší textová data.
Typ dat řetězce
Typ String je zodpovědný za řetězce.Pascal umožňuje programátorovi zadat přesný počet znaků nebo ponechat jeho délku ve výchozím nastavení - v tomto případě bude rovna 255. Chcete-li deklarovat řetězcovou proměnnou, která obsahuje stejné argumenty, musíte za dvojtečkou zadat klíčové slovo - řetězec a , je-li to nutné, napište délku do řetězců v hranatých závorkách. Následující příklad určuje řetězec „str“ dlouhý 10 znaků:
var str: string [10].
V kódu řetězcového programu Pascal můžete nastavit libovolné hodnoty - stačí je uzavřít do jednoduchých uvozovek.
Řetězcové operace
V závislosti na jazyce je také určen počet operací, se kterými může řetězec pracovat. Pascal umožňuje porovnávat a slučovat data řetězce.
Operace sloučení (jinými slovy zřetězenínebo zřetězení) se provádí za účelem kombinace více řetězců do jednoho. Implementuje se pomocí přídavného znaménka: „+“. S jeho pomocí můžete vytvořit jednu linii skládající se z řady výrazů, konstant a proměnných.
Stojí za zmínku, že při kombinování slov dovětou zřetězením řetězců, mezi každým prvkem nebude mezera. Chcete-li získat dobře sestavenou strukturu, měli byste výslovně označit přítomnost mezery na správných místech přidáním znaku mezery, například takto: „“.
Další operací podporovanou v Pascalu je porovnání řetězců nebo porovnání řetězců. Používají se také nejjednodušší matematické znaky:
- rovnost (=);
- více / méně (> a <);
- nerovnosti (<>);
- a také větší nebo rovné a menší nebo rovné (> = a <=).
Výsledkem operace relace bude návrat logické hodnoty true nebo false.
Porovnání řetězců se provádí znak po znaku a kdypři zjištění první nekonzistence bude výsledek určen podle kódovací tabulky. Když tedy zjistíte, který řetězec je větší, na místě, kde budou umístěny různé znaky, bude porovnán kód v této tabulce a na základě jeho výsledků bude stanovena odpověď, že se operace vrátí.
Funkce s řetězcovými proměnnými
Jako v každém programovacím jazyce, i v Pascaluexistuje řada funkcí, se kterými lze použít řetězec. Pascal umožňuje kopírovat část proměnné, zřetězit několik řetězců, najít podřetězec a vypočítat jeho délku. To se provádí pomocí následujících 4 funkcí:
- Funkce kopírování je zodpovědná za kopírování části řetězce. Obsahuje tři parametry - název řetězce nebo proměnné, počáteční pozici a počet znaků ke kopírování:
Kopírovat (S, poz, n) - zde S je řetězcová proměnná a poz a n jsou celá čísla.
- Kromě zřetězení řetězců pomocí znaku „+“tuto operaci můžete provést pohodlnějším způsobem pomocí funkce Concat. Jako argumenty se používají všechny řetězce a symbolické výrazy, které je třeba kombinovat:
Concat (s1, s2 ...).
- Často používanou funkcí v Pascalu jeDélka. S jeho pomocí můžete vypočítat délku řetězce - to znamená zjistit počet znaků v něm. Jediným argumentem je samotný řetězec - na výstupu uživatel obdrží celočíselnou hodnotu:
Délka (str).
- A poslední z funkcí v Pascalu je vyhledávánízačátek podřetězce v řetězci - poz. Vrátí číslo znaku, od kterého začíná požadovaný podřetězec, a pokud chybí, výsledkem je 0:
Poz (subS, S).
Rutiny pro řetězce v Pascalu
V Pascalu se používají pouze dva standardní postupy. První umožňuje odstranit část podřetězce a druhá umožňuje vložit do řetězce několik znaků.
Procedura Delete tedy odstraní z vybraného řádku, ze zadané pozice, podřetězec určitého počtu znaků. Každý z těchto parametrů je argumentem pro tuto operaci:
Odstranit (S, poz, n).
A vložte řetězec znaků do řetězcelze provést pomocí Vložit. Procedura má jako parametry tři hodnoty - podřetězec, řetězec a pozici, od které se budou vkládat znaky:
Vložka (subS, S, poz).
Změna datového typu z řetězců
Při plnění úkolů je často nutné se měnittyp proměnných. Zvažte například, jak převést řetězec na celé číslo. Pascal neumožňuje přidávání čísel zapsaných v řetězci, proto k vytvoření součtu musí být změněn jejich typ. K tomu existují speciální postupy:
- Chcete-li převést řetězec na celé číslo v Pascalumusíte použít postup StrToInt. Výslednou celočíselnou hodnotu lze zapsat do proměnné a můžete s ní provádět matematické operace.
- Pokud potřebujete získat číslo s plovoucí desetinnou čárkou z daného řetězce, použijte postup StrToFloat. Stejně jako u celého čísla lze výsledek jeho provedení použít okamžitě.
- Chcete-li provést reverzní operace - převést čísla na řetězec - musíte použít postupy FloatToStr pro čísla s plovoucí desetinnou čárkou a IntToStr pro celočíselné hodnoty.
- Dalším způsobem, jak změnit typ, jepoužití speciálních postupů, které nepotřebují znát počáteční nebo konečný datový typ - Str a Val. První převádí z čísla na řetězec a má jako argument dvě hodnoty - semeno a proměnnou s názvem řetězce. Druhý provádí opačnou operaci a má ještě jeden parametr - kromě číselných a řetězcových hodnot poskytuje procedura kód, který informuje o správnosti převodu. Například při pokusu o zápis zlomkového čísla do celočíselné proměnné bude kód zobrazovat číslo symbolu, na kterém došlo k selhání, a pokud je převod správný, jeho hodnota bude rovna 0.