В большинстве применений компьютера алфавитно-цифровая информация используется наряду с числовой информацией. Прежде чем мы сможем написать программу, которая манипулирует алфавитно-цифровыми знаками (литерами), нам потребуется тип данных для их представления. для этих целей в языке Паскаль предусмотрен тип данных char. Переменная типа char может хранить один символ.
Задача. Написать программу, которая считывает две литеры и печатает больше, равна или меньше первая литера второй.
Program primer_char;
Var First, Second : char;
Begin
write ('Введите две литеры через пробел ');
readln (First, Second);
write ('Первая литера ');
if First > Second then write ('больше второй. ')
else if First = Second then write ('равна второй. ')
else write ('меньше второй. ');
Еnd.
Так как char - порядковый тип, то к его значениям применимы следующие функции.
Succ - возвращает следующий символ литерного множества;
Pred- возвращает предыдущий символ литерного множества;
Ord - возвращает значение кода литеры;
Chr - возвращает значение литеры, является обратной по отношению к функции Ord.
Например,
Succ('0')='1' - символ, следующий за символом 0, равен символу 1.
Для обработки строковой информации в Турбо Паскаль введен строковый тип данных. Строкой в Паскале называется последовательность из определенного количества символов. Количество символов последовательности называется длиной строки. Синтаксис:
var s: string[n];var s: string;
n - максимально возможная длина строки - целое число в диапазоне 1..255. Если этот параметр опущен, то по умолчанию он принимается равным 255.
Строковые константы записываются как последовательности символов, ограниченные апострофами. Допускается формирование строк с использованием записи символов по десятичному коду (в виде комбинации # и кода символа) и управляющих символов (комбинации ^ и некоторых заглавных латинских букв).
Пример:
'Текстовая строка'#54#32#61'abcde'^A^M
Пустой символ обозначается двумя подряд стоящими апострофами. Если апостроф входит в строку как литера, то при записи он удваивается.
Переменные, описанные как строковые с разными максимальными длинами, можно присваивать друг другу, хотя при попытке присвоить короткой переменной длинную лишние символы будут отброшены.
Выражения типа char можно присваивать любым строковым переменным.
В Турбо Паскаль имеется простой доступ к отдельным символам строковой переменной: i-й символ переменной st записывается как st[i]. Например, если st - это 'Строка', то st[1] - это 'С', st[2] - это 'т', st[3] - 'р' и так далее.
Строка имеет две разновидности длины:
· Общая длина строки, которая характеризует размер памяти, выделяемый строке при описании;
· Текущая длина строки (всегда меньше или равна общей длине), которая показывает количество смысловых символов строки в каждый конкретный момент времени.
Каждый символ строковой величины занимает 1 байт памяти и имеет числовой код в соответствии с таблицей кодов ASCII.
Код ASCII (American Code for Information Interchange – Американский стандартный код для обмена информацией) имеет основной стандарт и его расширение. Основной стандарт использует шестнадцатеричные коды 00-7F, расширение стандарта – 80-FF. Основной стандарт является международным и используется для кодирования управляющих символов, цифр и букв латинского алфавита; в расширении стандарта используются символы псевдографики и буквы национальных алфавитов.