Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
strings.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
654.13 Кб
Скачать

Функция Ord

Function Ord(C: char): LongInt;

Преобразует значение C в его порядковый номер (Order - порядок).

Пример:

C := '!'; {C хранит символ ‘Восклицательный знак’ = #33}

X := Ord(c); {X равен 33 – порядковый номер символа ‘!’

в таблице кодов символов ASCII}

Write('Ord(‘’', c, '’’)=', x); {будет выведено Ord(‘!’)=33}

C := '0'; {C хранит символ ‘Ноль’ = #48}

B := Ord(c); {B хранит значение 48}

Write('Ord(‘’', c, '’’)=', x); {будет выведено Ord(‘0’)=48}

Функция Chr

Function Chr(B: Byte): Char;

Преобразует число B в символ и возвращает его.

Пример использования:

B := 33; { B – это число 33}

C := Chr(B); {C = #33 = ’!’ – C – это символ с кодом 33

– т.е. символ ‘Восклицательный знак’}

Write('Chr(', x, ')=''', c, ''''); {будет выведено

Chr(33)=’!’}

Функция Succ

Function Succ(C: Char): Char;

Возвращает следующий символ, то есть символ, код которого на 1 больше кода символа C.

Пример:

C:='5'; {C хранит символ ‘5’. Его код 53}

C1 := Succ(c); {C1 хранит символ ‘6’ . Его код 54}

C2 := Succ(‘F’); {C2 хранит символ ‘G’ }

Функция Pred

Function Pred(C: Char): Char;

Возвращает предшествующий символ.

Пример:

C:='5'; {C хранит символ ‘5’. Его код 53}

C1 := Pred(c); {C1 хранит символ ‘4’ . Его код 52}

C2 := Pred(‘F’); {C2 хранит символ ‘E’ }

Функция UpCase

function UpCase(Ch: Char): Char;

Преобразует символ Ch в большие буквы. Действует только на латинские буквы.

Пример:

C:=UpCase(‘r’); {c=’R’}

C:=UpCase(‘R’); {c=’R’}

C:=UpCase(‘я’); {c=’я’}

C:=UpCase(‘Я’); {c=’Я’}

Если Вы в своей программе хотите конвертировать русские маленькие буквы в большие или наоборот, то Вам необходимо написать свои собственные функции (смотри пример ниже).

Процедура Inc

Procedure Inc(Ch: Char [; N: LongInt] );

Увеличивает значение символа Ch на N. Используется в двух формах:

  1. Усеченная форма – параметр N отсутствует. В этом случае аргумент увеличивается на 1.

Пример:

C:=‘7’; {c=’7’}

Inc(C); {c=’8’}

Inc(C); {c=’9’}

Inc(C); {c=’:’}

Inc(C); {c=’;’}

  1. Полная форма – параметр N присутствует. В этом случае аргумент увеличивается на N.

Пример:

C:=‘7’; {c=’7’}

Inc(C, 2); {c=’9’}

Inc(C, 8); {c=’A’}

Inc(C, 5); {c=’F’}

Процедура Dec

Procedure Dec(Ch: Char [; N: LongInt] );

Работает аналогично Inc, только в сторону уменьшения - уменьшает значение символа Ch на N. Используется в двух формах:

  1. Усеченная форма – параметр N отсутствует. В этом случае аргумент уменьшается на 1.

Пример:

C:=‘2’; {c=’2’}

Dec(C); {c=’1’}

Dec(C); {c=’0’}

Dec(C); {c=’/’}

Dec(C); {c=’.’}

  1. Полная форма – параметр N присутствует. В этом случае аргумент уменьшается на N.

Пример:

C:=‘7’; {c=’7’}

Dec(C, 7); {c=’0’}

Dec(C, 5); {c=’+’}

Dec(C, 5); {c=’&’}

Примеры использования стандартных процедур и функций обработки символов

Пример 1. Напишем программу, которая печатает таблицу кодов символов:

{Вывод на экран таблицы символов

Размер таблицы 16x16}

var

i: integer; {Номер строки таблицы}

j: integer; {Номер символа в строке - номер столбца}

begin

writeln;

{Формируем таблицу из 16 строк}

for i:=0 to 15 do

begin

{В каждой строке по 16 символов}

for j:=0 to 15 do

write(chr(i*16+j):2); {Код символа получается

как произведение номера строки на 16 плюс

номер символа в строке}

writeln; {строка закончена}

end;

end.

Пример 2. Создадим функцию, которая переводит в большие буквы как латинские, так и русские.

{Функция ToUpper.

Для символа Ch возвращает переведенный в верхний регистр

символ. Работает как с латинскими, так и с русскими буквами.}

function ToUpper(Ch: char): char;

begin

{Если исходный символ Ch является маленькой латинской буквой,

то чтобы она превратилась в большую латинскую букву, ее код

требуется уменьшить на 32(смотри ASCII таблицу кодов)}

if (Ch>='a') and (Ch<='z') then Dec(Ch, 32)

{Если исходный символ Ch является маленькой русской буквой

из интервала от ‘а’ до ‘п’, то чтобы она превратилась в большую

русскую букву, ее код требуется уменьшить на 32 (смотри ASCII

таблицу кодов)}

else if (Ch>='а') and (Ch<='п') then Dec(Ch, 32)

{Если исходный символ Ch является маленькой русской буквой

из интервала от ‘р’ до ‘я’, то чтобы она превратилась в большую

русскую букву, ее код требуется уменьшить на 80 (смотри ASCII

таблицу кодов)}

else if (Ch>='р') and (Ch<='я') then Dec(Ch, 80);

{Если исходный символ Ch не является маленькой буквой, то мы его

значение не изменяем}

{возвращаем из функции вычисленное значение}

ToUpper := Ch;

end;

По аналогии можно создать функцию ToLower для перевода больших русских и латинских букв в маленькие.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]