Стандартные функции для целых типов.

Операции.

Стандартные функции для порядковых типов.

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

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