Программирование в среде Турбо Паскаль (Поляков, Круглов) - страница 50

Abs(X) — абсолютное значение числа X;

Round(X) — округление X до ближайшего целого числа;

Trunc(X) — отсечение дробной части значения X;

Chr(X) — символ с кодом номер X;

Ord(X) — номер значения X в его перечислимом типе;

Pred(X) — значение, предшествующее X в его типе;

Succ(X) — значение, следующее за X в его типе;

Odd(X) — логическая функция проверки нечетности X;

SizeOf (X) — размер типа с именем X;

Length (X) — длина строки X;

Ptr(S,O) — функция задания адреса;

Lo(X), Hi(X) и Swap(X) — операции с машинными словами.

Этот же набор допускается при построении выражений в окнах отладки (Watch и Evaluate).

Все выражения вычисляются при компиляции, а затем лишь подставляются всюду вместо идентификаторов констант. Нельзя ввести простую (именно простую) константу: массив или запись. Турбо Паскаль вводит особый тип констант — типизированных — и позволяет работать с константами сложных типов (кроме файлов). Но такие сложные константы в силу особенности их реализации в языке, по сути, уже являются переменными и рассматриваются вместе с ними.

5.2. Переменные


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

- 78 -

различаются имена по первым 63 символам. Имена объявляемых в программе переменных должны быть перечислены в блоках описания VAR:

VAR

Имя1 : ИмяТипаОднойПеременной;

Имя2 : ИмяТипаДругойПеременной;

...

Имя9 : КонструкцияТипаПеременной;

Каждому имени переменной в блоке VAR должен ставится в соответствие ее тип. Имя и тип разделяются двоеточием. После объявления и описания переменной должен стоять символ «;». Концом блока описания будет начало какого-либо другого блока программы или описание процедур и функций.

Имя типа может быть именем предопределенного в языке типа или введенного программистом в предыдущем блоке описания типов TYPE. Но разрешается составлять типы по ходу объявления переменных:

| VAR

| X : Real; { вещественная переменная }

| T : Test; { переменная введенного ранее типа Test }

| i, j, k : Integer; { три целые переменные }

| Subr : 1..10; { целая ограниченная переменная }

| Dim : Array [0..99] of Byte; { переменная типа массив }

| S1, S2, { четыре переменные типа }

| S3, S4 : Set of Char; { множество символов }

| PointRec : RECORD

| X,Y : Real { запись с двумя полями }

| END;

Однотипные переменные могут перечисляться через запятую перед объявлением их типа. Никаких правил умолчания при задании типа (как в Фортране, например) или особого обозначения (как в Бейсике) нет. Все переменные должны быть описаны соответствующим типом.