Обработка символов.

В Pascal существует стандартный тип данных, который называется символьным – char. Элемент такого типа занимает в памяти 1 байт. Этот тип является порядковым, и значения символьных переменных могут сравниваться между собой.

К символьным переменным относятся:

-  все заглавные латинские буквы ‘A’, ‘B’, ‘C’,…, ‘Z’;

-  строчные ‘a’, ‘b’, ‘c’, …, ‘z’;

-  цифры ‘0’, ‘1’, ‘2’, …, ‘9’;

-  знаки препинания;

-  всевозможные скобки;

-  русские буквы и т. д.

В программах их значения всегда заключаются в апострофы. Внутри каждого такого ряда коды символов упорядочены:

-  ‘A’< ‘B’< ‘C’<…< ‘Z’;

-  ‘a’< ‘b’< ‘c’< …< ‘z’;

-  ‘0’< ‘1’< ‘2’< …< ‘9’;

-  ‘А’< ‘Б’< ‘В’<…< ‘Я’;

-  ‘a’< ‘б’< ‘в’< …< ‘я’.

Коды всех строчных букв меньше, чем заглавных.

Для работы с таким типом данных, как и для других порядковых типов, часто используются функции:

функция

Назначение

1

CHR(x:byte): char

Возвращает символ соответствующий числу х по ASCII-коду

2

ORD(x:char): byte

Возвращает число соответствующий символу х по ASCII-таблице

3

UpCase(x:char):char

Преобразует символы из строчных букв в прописные

4

Pred(x:char):char

Возвращает символ, который предшествует символу х в таблице ASCII

5

SUCC(x:char):char

Возвращает символ, который следует за символом х в таблице ASCII

Символьные переменные могут использоваться как переменные цикла, например for i:= ‘Z’ downto ‘A’ do <оператор>; или for i:= ‘A’ to ‘Z’ do <оператор>;

Упражнение №1.

Заполните пустые ячейки таблицы:

Значение х

функция

результат

53

CHR(x);

‘d’

Ord(x)

‘d’

UpCase(x)

‘w’

UpCase(x)

‘a’

Pred(x)

‘A’

Pred(x)

‘я’

Succ(x)

Упражнение №2.

Вывести в одну строку ABBCCC…ZZ…Z.

Program pr1;

uses crt;

var i: char;

k, j: integer;

Begin

clrscr;

k:=1;

for i:= ‘A’ to ‘Z’ do

begin

for j:=1 to k do write (i);

k:=k+1;

end;

readln;

end.

Упражнение №3.

Вывести в одну строку ZYY…AA…A.

Program pr2;

uses crt;

var i: char;

k, j: integer;

Begin

clrscr;

k:=1;

for i:= ‘Z’ downto ‘A’ do

begin

for j:=1 to k do write (i);

k:=k+1;

end;

readln;

end.

Упражнение №4.

Вывести треугольник ABC…Z

BC…Z

…….

Z

Program pr3;

uses crt;

var i, l: char;

j: integer;

Begin

clrscr;

l:= ‘A’;

for j:= 1 to 26 do

begin

for i:= ‘A’ to l do write (‘ ’ );

for i:=l to ‘Z’ do write(i);

writeln;

l:=succ(l);

end;

readln;

end.

Таблица ASCII символов в Паскаль