- •Символьный тип
- •Ввод/вывод символов
- •Код символа
- •Управляющие символы
- •Сравнение символов
- •Сравнение символьных переменных
- •Символьная строка
- •Формат описания строкового типа
- •Фрагмент описания строковых данных
- •Индекс символа в строке
- •Длина строки
- •Максимальная длина строки.
- •Строка определенной длины.
- •Строковые выражения
ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 8
Инструкционно-технологическая карта
ТЕМА: Символьные и строковые величины. Операции над символьными и строковыми величинами.
СОДЕРЖАНИЕ РАБОТЫ
-
Теоретические сведения для выполнения работы
Символьный тип
Переменные в языке Паскаль могут принимать значения не только числовые, но и символьные. Для этого нужно описать переменную специального, символьного, типа. Он называется CHAR.
Ввод/вывод символов
Следующая программа присваивает переменной а значение 'G', читает значение другой переменной из окна ввода/вывода и выводит значения обеих переменных. В окне ввода/вывода этой программы подчеркнуто то, что введено пользователем.
PROGRAM prog1;
VAR a, b: CHAR;
BEGIN
a := 'G';
writeln('Введи символ'); readln(b); writeln(a, b);
END.
Окно ввода/вывода:
Введи символ: Я
GЯ
Код символа
Символьной переменной отводится в памяти машины 1 байт, поэтому количество различных символов ограничено числом 256. Каждому из них ставится в соответствие код – число от 0 до 255. Фактически символ – это изображение, картинка. Машина хранит в переменной символьного типа не саму картинку, а ее код.
Различных наборов из 256 символов можно придумать сколько угодно. Да и один и тот же набор можно закодировать по–разному. Чтобы избежать путаницы, была предпринята попытка стандартизации. Возникло несколько стандартных кодировок. Одна из систем кодировок реализована в виде кодовой таблицы ASCII (American Code for Information Interchange – Американский стандартный код для обмена информацией) имеет основной стандарт и его расширение. Основной стандарт использует шестнадцатеричные коды 00-7F, расширение стандарта – 80-FF. Основной стандарт является международным и используется для кодирования управляющих символов, цифр и букв латинского алфавита; в расширении стандарта используются символы псевдографики и буквы национальных алфавитов.
Управляющие символы
Среди символов есть так называемые управляющие символы. Когда машина встречает их, она не выводит их на экран, а производит какое–то действие. Например, символ с кодом 13 осуществляет перевод курсора на новую строку.
Сравнение символов
Мы можем говорить о порядке символов так же, как и о порядке чисел. Символ считается тем больше, чем больше его код.
То есть '0'<'9'<'A'<'Z'<'a'<'z'. Язык Паскаль «знает» это правило, поэтому в нем допустимо явное сравнение символов, без нахождения их кода.
Никаких операций, кроме сравнения, с переменными типа CHAR производить нельзя (их нельзя, например, складывать или умножать ).
Есть две функции, которые позволяют разнообразить работу с символьными переменными. Рассмотрим примеры символьных функций:
1. c:=CHR(x) – здесь c – переменная типа CHAR, а x – переменная, константа или выражение типа INTEGER. Функция CHR(x) возвращает символ, соответствующий коду x. Например, значение CHR(33) будет равно «!».
2. x:=ORD(c) – функция, обратная CHR, c – переменная, константа или выражение типа CHAR, x – переменная числового типа. Функция возвращает код аргумента.
Следующая программа читает символ и выводит его числовой код.
PROGRAM prog2;
VAR
c: CHAR;
BEGIN
write('Введите символ: '); readln(c);
writeln('Код символа ', c, ' – ', ord(c));
END.
Окно ввода/вывода:
Введите символ: G
Код символа G – 71