Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Informatica / lin.doc
Скачиваний:
41
Добавлен:
09.04.2015
Размер:
776.19 Кб
Скачать

Символьные типы

Значениями символьных типов являются элементы набора литер, определяемого реализацией языка. При этом некоторые элементы не имеют графического изображения – это управляющие литеры, которые служат для задания таких действий, как переход к следующей строке, переключение с одного регистра на другой и др. Элементы множества значений символьных типов считаются перенумерованными, начиная с нуля. Номер символа можно определить при помощи функции Ord(C), где C– какой-либо символ.

Символьные типы задают некоторые стандартные схемы коди­рования и декодирования информации для обмена символьными дан­ными. Существуют две схемы: набор 8-битовых символов, известный как расширенный (extended)ANSI-стандарт(American National StandardsInstitute– Американский национальный институт стандартов), и схема, соответствующая международному стандартуUNICODE, представляю­щаянабор 16-битовых символов, в котором первые 256 символов совпадают с символами, определеннымиANSI-стандартом.

В Delphiопределены два физических символьных типа и один общий. Физические типыANSICharиWideCharреализуютANSI-стандарт иUNICODE-схему, соответственно. Общий тип, именуемыйChar, соответствует типуANSIChar.

В Паскале набор символов и способ их упорядочения не фикси­руется, а определяется конкретной реализацией языка. Однако предпола­гается, что в любой его реализации множество значений типа Char обладает следующими свойствами:

  • содержит цифры от 0 до 9, которые упорядочены по возрастанию изображаемых ими чисел, их порядковые номера идут подряд без пропусков, не обязательно начиная с нуля;

  • если строчные (малые) латинские буквы ‘a’..‘z’ допускаются, то они упорядочены по алфавиту; порядковые номера этих литер сохраня­ют указанную упорядоченность, но не обязаны быть последователь­ными целыми числами;

  • то же относится и к прописным латинским буквам ‘A’..‘Z’;

  • отношение порядка между двумя литерами множества значений типа Сhar такое же, как между их порядковыми номерами.

Константой типа Char является одна из допустимых литер, взятая в апострофы. Если апостроф принадлежит множеству значений типаChar, то значение константы апостроф, записывается дважды.

Для прямого и обратного отображения множества литерных зна­чений на подмножество натуральных чисел, являющихся порядковыми номерами этих значений, в Паскале есть две стандартные взаимно обратные функции:

ord(с)– дает порядковый номер литеры в множестве значений типаChar;

chr(i)– дает литеру с порядковым номером i, причем

chr(ord(с))=с ord(chr(i))=i

В Паскале нет операций над значениями типа char, которые давали бы значения этого же типа. Над литерами определены только операции сравнения, при этом с & d эквивалентно ord(с) & ord (d)

Заметим, что обычно ord(‘0’)≠0, поэтому для преобразования цифры в изображаемое ею целое число можно записать, например, так

ord(‘7’) – ord(‘0’) = 7.

Значения символьного типа переменным присваивают, записывая символ в апострофах или используя его порядковый номер.

Пример.x:='f';y: = #70.

Логические типы

Минимальной единицей измерения информации является бит, два значения которого 0 и 1 можно использовать для записи информации о чем-либо, представляющем одно из двух: да(true, истина, 1) илинет(false, ложь, 0). Информация о чем-либо, что можно представить как истина или ложь, хранится в данных логического, или булевского типа. Для совместимости с различными языками программирования и опера­ционными системами вDelphiимеется три булевских типа. Предпочти­тельней использовать общий типBoolean(1 байт). Другие типы имену­ются:ByteBool(1 байт),WordBool(2 байта) иLongBool(4 байта).

Множество значений логических типов содержит всего два зна­чения falseиtrue. Логический тип значений упорядоченfalse < true, их порядковые номера 0 и 1. Константы логического типа– идентифика­торыfalseиtrue, представляющие истинностные значения.

Логические значения дает любая операция сравнения:

= – равно

< – меньше

<= – меньше или равно

<> – неравно

> – больше

>= – больше или равно

Логические операции – not (НЕ, отрицание),and (И, конъюнк­ция), or (ИЛИ, дизъюнкция), xor(ИСКЛЮЧАЮЩЕЕ ИЛИ).

X

Y

X and Y

X or Y

X xor Y

True

True

True

True

False

False

True

False

True

True

True

False

False

True

True

False

False

False

False

False

В Delphiпредусмотрено два варианта вычисления логических выражений:полное {$B+}иукороченное {$B-}. Полное вычисление означает, что выполняются все запрограммированные действия. При укороченном варианте расчеты прекращаются, как только становится известным значение всего выражения.

Соседние файлы в папке Informatica