Перечисляемые типы. Формат представления с фиксированной точкой— это форма записи вида

E3.

Формат представления с фиксированной точкой это форма записи вида:

Sign<N1>.<N2>,

где

Sign — знак числа;

<N1> — цифры целой части числа;

<N2> — мантисса числа.

Например,

. 17,

-0.01,

+324.0.

Логический тип. Значением логического типа boolean является множество из двух упорядоченных элементов FALSE и TRUE. Переменным логического типа могут присваиваться только эти два значения. Про их значения известно, что:

TRUE > FALSE,

SUCC(FALSE) = TRUE,

ORD(FALSE) = 0,

ORD(TRUE) = 1,

PRED(TRUE) = FALSE.

На этом множестве определены одна унарная (один аргумент) и три логические бинарные операции (два аргумента):

NOT (отрицание — изменяет значение на противоположное);

AND (конъюнкция — истина только тогда, когда обе переменные истинны);

OR (дизъюнкция — истина только тогда, когда один из операндов истинен);

XOR (исключение — истина только тогда, когда обе переменные различны).

Работа этих операций для двух переменных представлена в следующей таблице:

a not a   a b a and b a or b a xor b
True False   True True True True False
False True   True False False True True
      False True False True True
      False False False False False

При записи условий используются следующие отношения между величинами: =, <>, >, <, <=, >=, in (принадлежность элемента множеству). Подвыражение, содержащие операции отношение, заключаются в круглые скобки. Операции сравнения дают результат булевского (логического) типа, поэтому его можно присваивать булевской переменной. Например:

с:= a > b.

Такой оператор присваивания называется логическим.

Символьный тип. Значением символьного типа сhar (1 байт памяти) может быть один из 255 упорядоченных элементов множества всех символов, представленных кодами ЭВМ таблицы ASCII (American Standard Code for Information Interchange — американский стандартный код для обмена информацией).

Символы записываются в одинарных кавычках. Например, ’a’, ’@’, ’1’, а при выводе символов на экран апострофы не изображаются.

Допускается использование записи символа через его внутренний код, который записывается после символа #. Внутренний код — это порядковый номер символа в таблице кодов.

Например:

a ’ соответствует записи #97;

z ’ соответствует записи #90.

Допустима операция сложения (сцепления) символов — знак «+», но типом результата уже не будет тип char, результат будет иметь структурированный тип string. Символы можно сравнивать друг с другом, результат будет иметь логический тип. При сравнении считается, что символы равны, если равны их ASCII-коды, и один код больше другого, если его код больше. Таким образом, операций над значениями символьного типа, которые давали бы значение этого же типа, нет. Например:

’a’ > ’A’, так как 97 > 65 (’a’ = #97, ’A’ = #65).

К символьным значениям можно применять стандартные функции (в скобках указан аргумент функции и через двоеточие тип аргумента):

CHR (x:byte):char — возвращает символ ASCII-кода;

ORD (c:char): byte — возвращает ASCII-код символа;

PRED (c:char): char — выдает предшествующий с символ;

SUCC (c:char): char — выдает последующий за с символ.

Не определены значения SUCC(#255) и PRED(#0).

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

Например,


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: