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

Алфавит

Алфавит языка Delphi включает буквы, цифры, шестнадцатеричные цифры, специальные символы, пробелы и зарезервированные слова.

Буквы- это буквы латинского алфавита от а до z и от А до Z, а также знак подчеркивания (_). В языке нет различия между прописными и строчными буквами алфавита, если только они не входят в символьные и строковые выражения.

Цифры- арабские цифры от 0 до 9.

Каждая шестнадцатеричная цифраимеет значение от 0 до 15. Первые 10 значений обозначаются арабскими цифрами 0…9, остальные шесть — латинскими буквами A…F или a…f.

Специальные символы Delphi:

+ — * / = , ‘ . : ; [ ] ( ) { } @ $ #

К специальным символам относятся также следующие парысимволов:

= := (* *) (. .) //

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

Символы (. и .) могут употребляться соответственно вместо [ и ].

Особое место в алфавите языка занимают пробельные символы, к которым относятся любые символы в диапазоне кодов от 0 до 32 (включая собственно пробел, а также символ табуляции). Эти символы рассматриваются как ограничители идентификаторов, констант, чисел, зарезервированных слов.

Несколько следующих друг за другом пробелов считаются одним пробельным символом (последнее не относится к строковым константам).

В Delphi имеются следующие зарезервированные слова:

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

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

Стандартные директивыпервоначально связаны с некоторыми стандартными объявлениями в программе.

К ним относятся:

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

Как и зарезервированные слова, стандартные директивы в окне кода Delphi выделяются жирным шрифтом, тем не менее, вы можете переопределить любую стандартную директиву, то есть объявить одноименный идентификатор.

Слова private, protected, public, publishedи automatedсчитаются зарезервированными внутри объявления класса и стандартными директивами — вне объявления.

Идентификаторы

Идентификаторы в Delphi — это имена констант, переменных, меток, типов, объектов, классов, свойств, процедур, функций, модулей, программ и полей в записях.

Идентификаторы могут иметь произвольную длину.

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

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

Константы

В качестве констант в Delphi могут использоваться целые, вещественные и шестнадцатеричные числа, логические константы, символы, строки символов, конструкторы множеств и признак неопределенного указателя NIL.

Целые числа записываются со знаком или без него по обычным правилам и могут иметь значение в диапазоне от -263 до +263-1.

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

Вещественные числа записываются со знаком или без него с использованием десятичной точки и/или экспоненциальной части. Экспоненциальная часть начинается символом е или Е, за которым могут следовать знаки «+» или «-» и десятичный порядок.

Символ е (Е) означает десятичный порядок и имеет смысл «умножить на 10 в степени».

Например

3.14Е5 — 3,14 умножить на 10 в степени 5;

-17е-2 — минус 17 умножить на 10 в степени минус 2.

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

Шестнадцатеричное числосостоит из шестнадцатеричных цифр, которым предшествует знак доллара $ (код символа — 36). Диапазон шестнадцатеричных чисел — от $FFFFFFFFFFFFFFFFдо $7FFFFFFFFFFFFFFF.

Логическая константа- это либо слово False (ложь), либо слово True (истина).

Символьная константа- это любой символ ПК, заключенный в апострофы:

‘z’ — символ «z»;

‘Ф’ — символ «Ф».

Если необходимо записать собственно символ апострофа, он удваивается:

» » — символ апострофа (‘);

‘That’ ‘s string’ — строка с символом апострофа.

Допускается использование записи символа путем указания его внутреннего кода, которому предшествует символ # (код 35).

Например

#97 — символ «а»;

#13 — символ «CR».

Строковая константа- любая последовательность символов (кроме символов CR — возврат каретки), заключенная в апострофы.

Строка символов может быть пустой, то есть не иметь никаких символов в обрамляющих ее апострофах. Строку можно составлять из кодов нужных символов с предшествующими каждому коду символами #, например, следующая строка эквивалентна строке Symbol:

#83#121#109#98#11#108

В строке можно чередовать части, записанные в обрамляющих апострофах, с частями, записанными кодами. Таким способом можно вставлять в строки любые управляющие символы, в том числе и символы CR (код 13).

Например

#7’Ошибка !’#13’Нажмите любую клавишу … ‘#7

Конструктор множества- список элементов множества, обрамленный квадратными скобками, например:

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

В Delphi разрешается в объявлении констант использоватьпроизвольныевыражения, операндами которых могут быть ранее объявленные нетипизированные константы, имена типов и объектов, а также следующие функции от них:

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

Выражения

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

Частным случаем выражения может быть просто одиночный элемент, то есть константа, переменная или обращение к функции. Значение такого выражения имеет, естественно, тот же тип, что и сам элемент.

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

Примеры

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

Операции

В Delphi определены следующие операции:

унарные (not,@);

мультипликативные (*, /, div, mod, and, shl, shr);

аддитивные (+, -, or, xor);

отношения (=, , , =, in).

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

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

При исчислении логических выражений операции равного приоритета всегда вычисляются слева направо, причем будут вычисляться все или только достаточные операции в зависимости от установленного флажка Complete Boolean eval на вкладке Compiler диалогового окна Options (вызывается командой Project — Options).

При установленном флажке вычисляются все операции отношения, при снятом — только те, что необходимы для однозначного определения результата исчисления.

Правила использования операций с операндами различного типа иллюстрирует табл. 1.1.

Таблица 1.1

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

Таблица 1.1(продолжение)

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

Унарная операция @ применяется к операнду любого типа и возвращает результат типа Pointer, в котором содержится адрес операнда. Если операция @ применяется к процедуре, функции или методу в объекте, ее результатом будет адрес точки входа в эту процедуру (функцию, метод). Этот адрес можно использовать только в подпрограмме, написанной на ассемблере, или во встраиваемых фрагментах (задаются ключевым словом inline).

В Delphi определены следующие логические операции:

not- логическое НЕ;

and- логическое И;

or — логическое ИЛИ;

xor- исключающее ИЛИ.

Логические операции применимы к операндам целого и логического типов. Если операнды — целые числа, то результат логической операции есть тоже целое число, биты которого (двоичные разряды) формируются из битов операндов по правилам, указанным в табл. 1.2.

Таблица 1.2

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

К логическим в Delphi обычно относятся еще две сдвиговые операции над целыми числами:

i shl j — сдвиг содержимого i на j разрядов влево; освободившиеся младшие разряды заполняются нулями;

i shr j — сдвиг содержимого i на j разрядов вправо; освободившиеся старшие разряды заполняются нулями.

В этих операциях i и j — выражения любого целого типа.

Логические операции над логическими данными дают результат логического типа по правилам, указанным в табл. 1.3.

Таблица 1.3

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

Операция отношения in применяется к двум операндам.

Первым (левым) операндом должно быть выражение любого порядкового типа, вторым — множество, состоящее из элементов того же типа, или идентификатор множественного типа.

Результат операции равен True, если левый операнд принадлежит множеству.

КВН Приоритет ДГТУ — 2015 Высшая лига Четвертая 1/8 Приветствие


Похожие статьи.

Понравилась статья? Поделиться с друзьями: