Обработка символов.
В 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 символов в Паскаль




