Значением переменных символьного типа является один символ. Каждому символу соответствует код символа – целое число в диапазоне то 0 до 255. Существует международная таблица ASCII-кодов.
Для описания символьных переменных используют слово char и они занимают 1 байт памяти.
var
c:char;
Над символьными переменными допустимы только две операции: присвоение и сравнение.
число 65 – код заглавной буквы A латинского алфавита.
upcase (c:char):char –
преобразует малые буквы латинского алфавита в заглавные.
Например:
writeln( upcase(‘a’) );
Результат на экране:
заглавная буква A латинского алфавита.
Если аргументом этой функции окажется не малая буква латинского алфавита, то эта функция никаких действий не выполнит.
pred(c:char):char -
возвращает предшествующий символ.
Например:
writeln( pred('B') );
Результат на экране:
заглавная буква A латинского алфавита, код которой на 1 меньше кода буквы B.
succ(c:char):char -
возвращает последующий символ.
Например:
writeln( succ(‘A’) );
Результат на экране:
заглавная буква B латинского алфавита, код которой на 1 больше кода буквы A.
Задача.
Вывести на экран таблицу ASCII-кодов.
program ASCII;
var
i: byte;
begin
for i:=1 to 255 do
writeln (chr(i),'=',i);
end.
Тип char в программах на Паскале часто используют для хранения вводимых с клавиатуры ответов на запросы меню.
Для этого используют функцию readkey. Работу этой функции обеспечивает модуль Crt.
Приведем пример использования:
Program char;
uses
crt;
begin
repeat
…
ch:= readkey
until (ch='n') or (ch='N');
end.
Цикл действий продолжается до тех пор, пока не будет введено с клавиатуры 'n' или 'N'.
Строковые переменные
Строковые переменные используются для хранения любой цепочки символов и занимают 255 байт памяти. Для описания строковых переменных используют служебное слово string.
а) var
s:string;
b) var
t:string[20];
По умолчанию под строковую переменную s будет отведено 255 байт памяти (вариант а), а под строковую переменную t будет отведено 20 байт (вариант b).
Строковые константы задаются в апострофах:
S:=’Москва’;
Ввод строковых переменных осуществляется с помощью оператора - readln, а вывод - writeln.
var
S:string;
begin
readln(s);
…
Ввод цепочки символов завершается нажатием Enter. Если количество введенных символов превышает 255, то «хвост» отбрасывается, и в переменную попадают только первые 255 символов.
Над строковыми переменными допустимы три операции: присвоение, сравнение и «слияние».
Существует два способа обработки строковых переменных:
обработка всей строки как единого целого;
строковые переменные можно рассматривать как одномерный массив символов (элементов типа char) и применять к ним функции символьных переменных.