Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Воробьева Соппа Программирование в Паскаль 2006...doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.4 Mб
Скачать

Глава 9. Текстовые данные

В системе Турбо Паскаль текстовая информация может быть представлена двумя типами данных: символьным (char) и строковым (string).

9.1. Символьный тип данных

Значением данных символьного типа является любой символ из набора всех символов компьютера. Каждому символу соответствует порядковый номер (код) в диапазоне 0..255. Для кодировки символов первой половины диапазона (0..127) используется код ASCII (американский стандартный код для обмена информацией). Вторая половина символов с кодами 128..255 может быть различной. Для компьютеров фирмы IBM наиболее распространен альтернативный вариант кодировки символов (см. приложение 2).

При написании программ символьные данные могут быть представлены либо константами, либо переменными.

Символьная константа представляет собой одиночный символ, заключенный в апострофы, например:

Y’ ‘!’ ‘_’ ‘Д

Символьная переменная объявляется в разделе описания переменных, например:

Var

cr: char;

Во внутренней памяти компьютера каждый символ занимает 1 байт.

Ввод-вывод символьных данных

Для ввода символьных данных используется оператор readln. Необходимо помнить, что нажатие любой небуквенной клавиши ([пробел], [Enter] и др.) будет значимым и восприниматься как символ.

Пример 1. Организовать ввод символьных переменных: a=‘i’; b=‘j’; c=‘k’.

Var

a, b, c: char;

Begin

writeln(‘Введите исходные данные’);

readln(a,b,c);

………….

При вводе символы набираются без апострофов:

ijk [Enter]

Символ клавиши [Enter] выходит за пределы списка оператора readln, поэтому он игнорируется.

Для вывода символьных данных используются операторы write и writeln.

Пример 2. Организовать вывод указанных выше переменных на экран в одну строку. Запись операторов вывода будет следующей:

write(a,b,c);

writeln;

На экране будет отображено:

ijk

Второй оператор writeln без списка используется для перевода курсора к началу следующей строки.

Обработка символьных данных

Поскольку символы в системе Турбо Паскаль упорядочены, к ним можно применять операции отношения (>, >=, <, <=, =, <>). Это дает возможность записывать логические выражения с символьными данными в условных операторах. Например, оператор

if ch =’!’ then ch := ‘.’;

заменяет в символьной переменной ch восклицательный знак точкой.

Символьные данные могут использоваться и в операторах цикла for. Так, при выполнении операторов:

for ch := ‘a’ to ‘d’ write(ch);

writeln;

в строку экрана выводится последовательность:

abcd

После вывода строки курсор оператором writeln переводится к началу следующей строки.

Стандартные функции

Библиотека системы Турбо Паскаль содержит стандартные функции обработки символьных данных. Рассмотрим наиболее распространенные стандартные функции.

ord(ch) – функция, возвращающая код символа ch.

Пример. ord(‘a’) = 97.

chr(N) – функция, преобразующая код N (0N255) в соответствующий ему символ.

Пример. chr(97) = ‘a’.

upcase(ch) – функция, преобразующая строчную латинскую букву в прописную.

Пример. upcase(‘a’) = ‘A’.

9.2. Строковый тип данных

Значением данных строкового типа (строка) является любая последовательность символов из набора символов компьютера.

Строковая константа – это строка, заключенная в апострофы, например:

‘Турбо Паскаль 7.0’

Строковая переменная объявляется в разделе описания переменных следующим образом:

Var

st: string [5];

В квадратных скобках указывается максимальное число символов в строке st.

Под значение строковой переменной в памяти компьютера отводится (МАХ+1) байт, пронумерованных от 0 до МАХ, где МАХ – заданный максимальный размер строки. Один байт (с номером 0) дополнительно выделяется для указания текущей длины строки. Это позволяет вводить строки переменной длины (в заданном выше описании от 1 до 5 символов). Разрешается объявлять строковую переменную без указания максимального размера, например:

Var

fam: string;

В этом случае устанавливается предельно допустимая длина строки: МАХ=255 символов.