Символьный тип Char – представляет собой тип данных, предназначенный для хранения одного символа (буквы, знака или кода). В переменную этого типа может быть помещен любой из 256 символов расширенного кода ASC II. Это буквы ['A'…'Z', 'a'…'z'], ['А'…'Я', 'а'…'я'], цифры ['0'…'9'], знаки препинания и специальные символы. Переменная типа Char в памяти занимает один байт. Этот тип обладает некоторыми особенностями.
В разделе описаний переменных объявляется следующим образом:
Var
сh:char или ch, cb, al:char;
Обычно значения переменных типа Char задаются в апострофах.
Например:
Var
сh:char;
Begin
сh: = 'A';
writeln(ch);
End.
Символьные типы данных относятся к перечисляемым типам, поэтому они могут быть использованы для организации циклов.
Например:
Var
сh:char;
Begin
for сh: = 'a' to 'z' do writeln(ch);
End.
Или
for сh: = 'z' downto 'a' do writeln(ch);
Компьютер воспринимает нажатие клавиш в виде ASC II кода. В Турбо Паскаль предусмотрена работа с символьными типами данных в виде ASC II кода. Для этого перед числом, обозначающим код ASC II нужно поставить знак #.
|
|
Таблица ASC II кода.
Код | Клавиша или комбинация клавиш | Код | Клавиша или комбинация клавиш |
Алфавитно-цифровые клавиши | |||
Backspace (Забой) | Tab (Табуляция) | ||
Enter | Пробел | ||
! | '' | ||
# | $ | ||
% | & | ||
' | ( | ||
) | * | ||
+ | , | ||
– | . | ||
/ | 48…57 | 0…9 | |
: | ; | ||
< | = | ||
> | ? | ||
@ | 65…90 | A…Z | |
[ | \ | ||
] | |||
_ | |||
97…122 | A…z | { | |
| | } | ||
~ | 128…159 | А…Я | |
160…175 | A…п | 224…239 | р…я |
Управляющие клавиши и их сочетания со сдвиговыми | |||
Ctrl – 2 | Shift-Tab | ||
16…25 | Alt – Q…Alt – P (верхний ряд букв) | 30…38 | Alt – A…Alt – L (средний ряд букв) |
044…50 | Alt – Z…Alt – M (нижний ряд букв) | 59…68 | F1 – F10 |
Home | Курсор вверх | ||
RgUp | Курсор влево | ||
Курсор вправо | End | ||
Курсор вниз | PgDn | ||
Ins | Del | ||
84…93 | Shift – F1…Shift – F10 | 94…103 | Ctrl – F1…Ctrl – F10 |
104…113 | Alt – F1…Alt – F10 | Ctrl – PrtScr | |
Ctrl – курсор влево | Ctrl – курсор вправо | ||
Ctrl – End | Ctrl – PgDn | ||
Ctrl – Home | 120…131 | Alt – 1…Alt – = (верхний ряд клавиш) | |
Ctrl – PgUp |
Для ввода символов с клавиатуры обычно используют следующие конструкции:
Var
сh:char;
Begin
…………..
writeln('Введите символ'):
readln(ch):
End.
К типу Char определены операции отношения.
Например.
Var
Сh, сl:char;
Begin
…………..
ch: ='a';
cl: ='b';
if ch < cl then
writeln(ch, '_', cl)
else
writeln(cl, '_', ch);
………………….
End.
В данном случае будет выведена надпись а - b, поскольку b>a, вернее больше ее ASC II код. В операциях отношения сравниваются именно ASC II коды.
Пример:
Программа, выводящая на экран последовательность букв вида:
a
a b
a b c
.....
a b c... x y z
|
|
Program aab;
Var
C, d: char;
Begin
for c:='a' to 'z' do
begin
For d:='a' to 'c' do
write(d, ' ');
writeln;
end;
End.
Пример:
Программа, подсчитывающая число пробелов в последовательности вводимых символов.
Program summprob;
Var
Ch: char;
x, n: integer;
Begin
n:=0;
read(ch);
while ch<>#13 do
begin
if c=#32 then n:=n+1;
read(ch);
end;
write('Число пробелов равно',n);
End.
К типу Char применимы следующие встроенные функции.