Стандартные функции для целых типов.
Операции.
Стандартные функции для порядковых типов.
К любому значению порядкового типа можно применять стандартные функции:
ORD - возвращает порядковый номер аргумента;
PRED - возвращает предшествующее значение;
SUCC - возвращает последующее значение.
Пример. VAR S : CHAR ;
. . . . . . . . .
S:= '5' ;
Тогда PRED(S) возвращает '4'
SUCC(S) возвращает '6'.
4.6.4 Целые типы.
В ТР имеется пять встроенных целых типов.
Таблица 13.3
тип | диапазон | длина |
Shortint | -128 .. 127 | 1 Б |
Integer | -32768 .. 32767 | 2 Б |
Longint | -2147483648 .. 2147483647 | 4 Б |
Byte | 0 .. 256 | 1 Б |
Word | 0 .. 65535 | 2 Б |
В таблице приведены идентификаторы целых типов, диапазон значений и размер ячейки памяти.
К данным целого типа можно применять следующие арифметические операции: сложение (+); вычитание (-);умножение (*); деление (DIV); и вычисление модуля (Mod).
Результатом операции деления является целое число, остаток отбрасывается, например K Div N при K = 7 и N = 2 дает 3.
Результатом операции Mod является остаток при целочисленном делении, например K Mod N дает 1 .
К данным целого типа можно применять следующие стандартные функции: Abs(X) - возвращает абсолютное значение X;
Sqr(X) - возвращает Х2 ;
Битовые операции. В ТР можно выполнять операции над отдельными битами числа. Результат вычисляется путем применения битовой операции к соответствующим парным битам каждого операнда.
Shl - битовый сдвиг влево (форма А Shl В ) операнд А побитно сдвигается влево на число битов заданных В (младшие правые биты заполняются нулями). Например, если в ячейке для М хранится 00001111 и К = 3 ,то
М Shl К дает в результате 01111000 .
Нетрудно заметить, что действие этой операции эквивалентно умножению числа М на 2К
Shr - битовый сдвиг вправо (форма А Shr В ) операнд А побитно сдвигается вправо на число битов заданных В (старшие левые биты заполняются нулями). Например, если в ячейке для М хранится 01111000 и К = 2,то
М Shl К дает в результате 00011110 .
Нетрудно заметить, что действие этой операции эквивалентно делению числа М на 2К
4.6.5 Булевский тип (Boolean).
Это данные логического типа. Переменные этого типа могут принимать только два значения: False и True (причем False < True ). К данным этого типа можно применять четыре булевские операции:
And - логическое умножение (И).
Or - логическое сложение (ИЛИ).
Not - логическое отрицание (НЕ).
Xor - исключающее ИЛИ. Результат равен True если операнды не равны друг другу, иначе результат равен False.
4.6.6. Символьный тип (Char).
В ТР можно обрабатывать данные в виде одиночных символов. Значениями типа Charявляются элементы набора литер определяемого реализацией языка.
Форма объявления:
Var S1, S2, S3 : Char;
Символьные константы записываются в виде знака, заключенного в апострофы, например, '4' , 'n' .
К данным типа Charможно применять операции присваивания, сравнения, стандартные функции для порядковых типов, а также функцию Chr(к), которая возвращает символ с порядковым номером к.
4.6.7. Тип диапазон (отрезок типа).
Отрезок типа представляет собой диапазон значений из порядкового типа, называемого главным типом. Отрезок типа задается в виде
q . . s ,
где q и s костанты порядкового типа, причем q < s.
Переменная типа диапазон имеет все свойства переменных главного типа, однако ее значения в процессе выполнения программы не должны выходить за пределы заданного интервала. Пример
Type Sm = 'A' . . 'Q';
Var N : 1 .. 50; Ch : Sm; .
4.6.8. Перечислимый тип.
Перечислимый тип определяет упорядоченное множество значений путем перечисления идентификаторов, которые обозначают эти значения. Порядковый номер перечислимой константы, определяется ее позицией в списке идентификаторов при описании. Пример
Type Colour = (red, Green, Blue);
Контрольные вопросы.
Что является разделителем в разделе LABEL | |
1 точка с запятой | 2 запятая |
3 пробел | 4 апостроф |
Что является разделителем в разделе CONST | |
1 точка с запятой | 2 запятая |
3 пробел | 4 апостроф |
Что является разделителем в разделе USES | |
1 точка с запятой | 2 запятая |
3 пробел | 4 апостроф |
С какого слова начинается раздел переменных | |
1 TYPE | 2 USES |
3 VAR | 3 LABEL |
С какого слова начинается раздел меток | |
1 TYPE | 2 USES |
3 VAR | 3 LABEL |
С какого слова начинается раздел констант | |
1 CONST | 2 USES |
3 VAR | 3 LABEL |
Что такое символьная константа | |
1 Последовательность символов, заключенная в фигурные скобки. | 2 Последовательность символов, заключенная в апострофы. |
3 Последовательность символов, заключенная в кавычки. | 4 Последовательность символов, заключенная в круглые скобки. |
Какой тип является вещественным с двойной точностью | |
1 EXTENDED | 2 SINGLE |
3 LONGINT | 4 DOUBLE |
Для какого типа процессор выполняет операции с вещественными числами | |
1 EXTENDED | 2 REAL |
3 LONGINT | 4 DOUBLE |
Какой тип является длинным целым типом | |
1 INTEGER | 2 LONGINT |
3 SINGLE | 4 DOUBLE |