КОНСТАНТЫ
В качестве констант в Object Pascal могут использоваться целые, вещественные и шестнадцатеричные числа, логические константы, символы, строки символов, конструкторы множеств и признак непределенного указателя NIL. Целые числа записываются со знаком или без него по обычным правилам и могут иметь значение в диапазоне от -263 до +263-11. Следует учесть, что, если целочисленная константа выходит за указанные границы, компилятор дает сообщение об ошибке. Такие константы должны записываться с десятичной точкой, т. е. определяться как вещественные числа. Вещественные числа записываются со знаком или без него с использованием десятичной точки и/или экспоненциальной части. Экспоненциальная часть начинается символом е или е, за которым могут следовать знаки “+” или “-” и десятичный порядок. Символ е (е) означает десятичный порядок и имеет смысл “умножить на 10 в степени”. Например, 3.14Е5 - 3,14 умножить на 10 в степени 5; -17e-2 -минус 17 умножить на 10 в степени минус 2. Если в записи вещественного числа присутствует десятичная точка, перед точкой и за ней должно быть хотя бы по одной цифре. Если используется символ экспоненциальной части е (в), за ним должна следовать хотя бы одна цифра десятичного порядка.[ Только для версий 4...6. Для версии 1 диапазон от -32536 до +32535. Для версии 2 и 3 от -2147483648 до +4294967294 ] Шестнадцатеричное число состоит из шестнадцатеричных цифр, которым предшествует знак доллара $ (код символа 36). Диапазон шестнадцатеричных чисел - от $ffffffffffffffff до $7FFFFFFFFFFFFFFF(для версии 4...6). Логическая константа - это либо слово false (ложь), либо слово true (истина). Символьная константа - это любой символ ПК, заключенный в апострофы: 'z' - символ “z”; 'Ф' - символ “Ф”. Если необходимо записать собственно символ апострофа, он удваивается: '''' - символ “'” (апостроф). Допускается использование записи символа путем указания его внутреннего кода, которому предшествует символ # (код 35), например: #97 - символ “а”; #90 - символ “Z”; #39 - символ “'”; #13 - символ “CR”. Строковая константа - любая последовательность символов (кроме символа CR - возврат каретки), заключенная в апострофы. Если в строке нужно указать сам символ апострофа, он удваивается, например: 'Это - строка символов'; 'That''s string'. Строка символов может быть пустой, т. е. не иметь никаких символов в обрамляющих ее апострофах. Строку можно составлять из кодов нужных символов с предшествующими каждому коду символами #, например, строка #83#i2i#i09#98#ii#i08 эквивалентна строке ' Symbol '. Наконец, в строке можно чередовать части, записанные в обрамляющих апострофах, с частями, записанными кодами. Таким способом можно вставлять в строки любые управляющие символы, в том числе и символ cr (код 13), например: #7'Ошибка!'#13'Нажмите любую клавишу...'#7. Конструктор множества - список элементов множества, обрамленный-квадратными скобками,например: [1,2,4..7,12] [blue, red] [ ] [true] В Object Pascal разрешается в объявлении констант использовать произвольные выражения, операндами которых могут быть ранее объявленные нетипизированные константы, имена типов и объектов, а также следующие функции от них:
Например: Const MaxReal = Maxint div SizeOf(real); NumChars = ord('Z') - ord('a') + 1; Ln10 = 2.302585092994; Ln10R = 1 / Ln10; ВЫРАЖЕНИЯ Основными элементами, из которых конструируется исполняемая часть программы, являются константы, переменные и обращения к функциям. Каждый из этих элементов характеризуется своим значением и принадлежит к какому-либо типу данных. С помощью знаков операций и скобок из них можно составлять выражения, которые фактически представляют собой правила получения новых значений. Частным случаем выражения может быть просто одиночный элемент, т. е. константа, переменная или обращение к функции. Значение такого выражения имеет, естественно, тот же тип, что и сам элемент. В более общем случае выражение состоит из нескольких элементов (операндов) и знаков операций, а тип его значения определяется типом операндов и видом примененных к ним операций. Примеры выражений: у 21 (а + b) * с sin(t) а > 2 not Flag and (a = b) NIL [1, 3..7] * setl
|