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

Операнды

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

Операции

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

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

Знак

Операции

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

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

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.

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

Операторы

  1. Оператор присваивания: старое значение переменной заменяется новым значением, которое получается в результате вычисления выражения.

  2. Оператор перехода: метка в операторе перехода должна быть предварительно описана и должна встречаться в блоке один раз.

  3. Условный оператор: Вычисляется логическое выражение. Если значение логического выражения «истина», то выполняется оператор, следующий за ключевым словом then, в противном случае выполняется оператор, следующий за ключевым словом else. Если после слова then следует условный оператор, то он должен заключатся в beginend для избежания неопределенности типа: if <выр> then if <выр> then <оператор> else <оператор>

  4. Оператор цикла:

  1. Выполняются операторы, за ключевым словом repeat.

  2. Вычисляется логическое выражение за ключевым словом until, если выражение истинно, то происходит выход из цикла, если ложно, то повторяется п.1.

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

  2. Операторы вывода, если среди параметров встречается выражение, то оно вычисляется, далее список параметров последовательно выводится на консоль.