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

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

Набор символов в компьютере достаточно велик. Все символы упорядо­чены, т.е. каждый символ имеет свой порядковый номер (код символа).

Символьная константа (литера) – это символ, заключенный в апостро­фы, например: А, +, 7. Символьная константа занимает один байт памяти. Ее можно обозначать именем и задавать в разделе констант, например:

const sim= A; s= *;

Символьная переменная принимает значение одного символа. Она должна быть объявлена в разделе описания переменных так:

имя : char;,

где имя – имя переменной символьного типа; char – ключевое слово обозначения символьного типа, например:

var s1, s2:char;

ch:char;

Переменная символьного типа может получить значение в результате выполнения оператора присваивания или ввода (read, readln) и значение переменной можно вывести (write, writeln).

Если переменная типа char получает значение в результате выполнения операции присваивания, то справа от знака = должно стоять выражение символьного типа, напрмер: s1 := s2; ch := K;

К символьным данным можно применить встроенные функции:

ord(x:char): byte;

– определяет порядковый номер символа х в кодовой таблице, например: ord(R)=82;

chr(n:integer): char;

– по порядковому номеру п в кодовой таблице определяет символ, например: chr(68) = D;

pred(x:char): char;

– определяет предыдущий символ по отношению к х, например:

pred(N) = М;

succ(x:char): char;

– определяет последующий символ по отношению к х, например: succ(R) = S;

Переменную типа char можно сравнить с другой переменной типа char или с символьной константой. Отношение sl > s2 будет иметь значение истина (true), если ord(sl) > ord(s2), и ложь (false) при ord(s1) < ord(s2), например: 0 < 1 — истина, так как код символа 0 48 < 49 – кода символа 1.

Код строчной буквы больше кода прописной. Ниже приведен фрагмента программы, которая преобразует строчную русскую букву в прописную:

read(sl);

case s1 of

a .. n : s1 := chr(ord(sl) – 32);

p .. я : s1 := chr(ord(sl) – 80);

e : s1 := E

end;

2.6.2. Операции над строками

Строка – это последовательность символов кодовой таблицы компьютера. При использовании в выражениях строка заключается в апострофы. Количество символов в строке (длина строки) может динамически изменяться от 0 до 255. Для определения данных строкового типа используется идентификатор string, за которым следует заключенное в квадратные скобки значение максимально допустимой длины строки данного типа. Если это значение не указывается, то по умолчанию дли­на строки равна 255 символам.

Переменную строкового типа можно определить через описание типа в разделе описания типов type или непосредственно в разделе опи­сания переменных. Строковые данные могут использоваться в про­грамме также в качестве констант.

Определение строкового типа устанавливает максимальное коли­чество символов, которое может содержать строка.

type <имя типа> = string [максимальная длина строки];

var <имя переменной> : <имя типа>;

Переменную типа string можно задать и без описания типа:

var <имя переменной> : string [максимальная длина строки];

Примеры описания:

const adres=ул. Короленко, 5; {строковая константа}

type Ast= string [125];

var Fstr:Ast; {описание с заданием типа}

Stl:string; {no умолчанию длина строки = 255}

St2, St3:string [50]; {строка с максимальной длиной 50 символов}

Nazv:string[280]; {ошибка, длина строки превышает 255}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]