Стандартные функции

Операции

Действия с символами

Типизированные константы

Нетипизированные константы

Все правила задания символов и строк как неименованных констант остаются в силе и при задании именованных нетипизированных констант в специальном разделе const. Например:

const c3 = ''''; {это один символ - апостроф!} s3 = 'This is a string';

Типизированная константа, которая будет иметь тип char или string, задается в разделе const следующим образом:

const c4: char = ''''; {это один символ - апостроф!} s4: string[20] = 'This is a string';

Результатом унарной операции

#<положительная_неименованная_константа_целого_типа>

является символ, номер которого в таблице ASCII соответствует заданному числу. Например,

#100 = 'd'#39 = '''' {апостроф}#232 = 'ш' #1000 = 'ш' {потому что (1000 mod 256)= 232}

Кроме того, к символьным переменным, как и к значениям всех порядковых типов данных, применимы операции сравнения <, <>, >, =, результат которых также опирается на номера символов из таблицы ASCII.

Функция chr(k:byte):char "превращает"; номер символа в символ. Действие этой функции аналогично действию операции #. Например:

c:= chr(48); {c: char}{c = '0'}

Обратной к функции chr() является уже изученная нами функция ord(). Таким образом, для любого числа k и для любого символа с

ord(chr(k)) = k и chr(ord(c)) = c

Надеемся, читатель помнит, что стандартные процедуры и функции pred(), succ(), inc() и dec(), определенные для значений любого порядкового типа4), применимы также и к символам (значениям порядкового типа данных char). Например:

pred('[') = 'Z'succ('z') = '{'inc('a') = 'b'inc('c',2) = 'e'dec('z') = 'y'dec(#0,4) = '№' {#252}

Стандартная функция upcase(c: char):char превращает строчную букву в прописную. Символы, не являющиеся строчными латинскими буквами, остаются без изменения (к сожалению, в их число попадают и все русские буквы).