Скачиваний:
15
Добавлен:
01.05.2014
Размер:
491.01 Кб
Скачать

Описания и области действия

Каждый идентификатор должен быть описан, причём только один раз.

Запрещается использовать в качестве идентификаторов зарезервированные слова.

Описания констант

Описание константы связывает ее идентификатор с ее значением.

Описания типов

Тип данных определяет набор значений, которые могут принимать переменные, константы этого типа, и набор применимых операций. Описания типа связывает идентификатор с типом.

Стандартные типы:

1) Целые типы.

Тип

Диапазон

Формат

короткое целое (shortint)

-128..127

1 байт

целое (integer)

-32768..32767

2 байта

длинное целое (longint)

-2147483648.. 2147483647

4 байта

длиной в байт (byte)

0..255

1 байта

длиной в слово (word)

0..65535

2 байта

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

- если один из операндов имеет тип longint, то другой операнд всегда преобразуется к типу longint;

- если один из операндов имеет тип integer, а другой – типа shortint, или byte, то оба операнда приводятся к типу integer;

- если один из операндов имеет тип integer, а другой – типа word, то оба операнда приводятся к типу longint;

- если один из операндов типа shortint, а другой – типа byte, то оба операнда приводятся к типу integer;

- если один из операндов типа word, а другой – типа shortint, то он приводится к типу longint;

- если один из операндов типа word, а другой – типа byte, то он приводится к типу word;

При выполнении операции присваивания результат приводится к типу переменной слева от знака операции присваивания, при этом возможно преобразование как старшего типа к младшему, так и наоборот.

  • Тип целой константы представляет собой встроенный целочисленный тип с наименьшим диапазоном, включающим значение этой целой константы.

  • Выражение справа в операторе присваивания вычисляется независимо от размера или типа переменной слева.

2) Булевский тип – boolean, переменная этого типа может принимать значения из множества (false, true). Поскольку логический тип является перечислимым, между этими значениями имеет место следующее отношение: False < True.

3) Тип булевских матриц – boolmatr[N, M], где N, M целые без знака, обозначающие размерность матрицы. Каждый из ее элементов это переменная типа boolean. N – обозначает число столбцов, M – число строк.

Описания переменных

Описания переменных определяют идентификатор и тип данных для них.

Выражения

Выражения - конструкции, задающие правила вычисления по значениям констант и текущим значениям переменных других значений путем применения операций и процедур-функций. Выражения состоят из операндов и операций. Круглые скобки могут использоваться для группировки операций и операндов.

Операнды

Операндами могут быть выражения, множители. Множитель – идентификатор переменной, константы, элемент булевской матрицы.

Операции

В выражениях синтаксически различаются семь классов операций с разными приоритетами (порядком выполнения).

Старшинство операций:

Знак

Операции

Название операции

Порядок выполнения

NOT

Логическое отрицание

Справа налево

-

Унарный минус

Справа налево

AND

Логическое И

Слева направо

DIV

Целое от деления

Слева направо

MOD

Остаток от деления

Слева направо

SHL

битовый сдвиг влево

Слева направо

SHR

битовый сдвиг вправо

*

Умножение

Слева направо

OR

Логическое ИЛИ

Слева направо

XOR

Исключающее ИЛИ

Слева направо

+

Сложение

Слева направо

-

Вычитание

Слева направо

<

Меньше

Слева направо

<=

Меньше или равно

Слева направо

>

Больше

Слева направо

>=

Больше или равно

Слева направо

=

Равно

Слева направо

<>

Не равно

Слева направо

*) Операции находящиеся в разных группах имеют разные приоритеты, самый высокий приоритет имеет верхняя группа операций

  1. Логические операции – OR, XOR, AND, NOT.

Эти операции применимы к операндам типа BOOLEAN и дают результат типа BOOLEAN.

Операции над булевскими матрицами выполняются аналогично простым булевским операциям, последовательно по строкам над каждым элементом матрицы (сначала операция выполняется для каждого элемента, начиная с первого, первой строки).

  1. Арифметические операции – +, -, *, DIV, MOD, SHL,SHR, и OR, XOR, AND, NOT, которые для типов отличных от BOOLEAN выполняют побитовые операции.

Эти операции применимы к операндам целого типа и дают результат целого типа.

c) Операции отношения – =, <>, <, <=, >, >=

Операции отношения дают результат типа BOOLEAN.