Смекни!
smekni.com

НН Трушин Информатика (стр. 19 из 37)

6.5.2. Константы

Константами называются параметры программы, значения которых не меняются в процессе ее выполнения. В языке Turbo Pascal возможно двоякое использование констант:

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

Объявление константы с помощью идентификатора осуществляется в разделе объявления констант Const. При этом имеется две разновидности констант, задаваемых идентификаторами:

• обычные константы, тип которых определяется их значением; типизированные константы, для которых в явном виде указывается их тип.

Обычные константы могут быть целого, вещественного, символьного, строкового, логического типов, типизированные константы – любого типа, кроме файлового. Форматы объявления простой и типизированных констант соответственно:

Const

<имя константы>=<значение>;

<имя константы>:<тип константы>=<значение>;

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

Целые константы могут быть десятичные и шестнадцатеричные. Перед шестнадцатеричной константой должен стоять знак $. В языке Turbo Pascal заданы две предопределенные константы, определяющие максимальные положительные значения данных типа Integer и LongInt:

MaxInt=32767;

MaxLongInt=2147483647.

Вещественные константы могут изображаться в форме с фиксированной точкой и плавающей точкой. В первом случае целая и дробная части числа обязательно присутствуют и отделяются друг от друга точкой. Во втором случае число записывается в экспоненциальном виде: <мантисса>E<порядок>.

Мантисса представляется в виде целого числа или как вещественное число с фиксированной точкой; порядок обозначается положительным или отрицательным целым числом.

Пример. Простые целые и вещественные константы.

Const

I=1;

Y=1.0;

Z=-1E-5;

HEX=$B800;

J=-10;

X=-0.5;

W=7.5e+15;

Cir=2*3.1415926;

Строка символов – это последовательность любого количества символов, расположенных на одной строке и заключенных в апострофы. Максимальная длина строки – 126 символов. Строка, состоящая из одного символа, называется символьной константой. Нулевая строка не содержит между апострофами ни одного символа. При необходимости поместить в строку символ апострофа его следует удвоить. Для включения в строку символов, не имеющих физического изображения или отсутствующих на клавиатуре ПЭВМ, используется их код с символом # перед ним.

Пример. Символьные константы.

Const

Symbols='TURBO-PASCAL';

Return=#13#10;{Коды управляющих символов CR и LF}

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

Const

Maximum: Integer=9999;

Re: Real=–0.5;

Bell: Char=#7; {Символ звукового сигнала}

6.5.3. Стандартные функции

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

Арифметические функции можно использовать только с аргументами целого и вещественного типов. Если арифметическая функция используется с ключом трансляции {$N+}, то вместо результата типа Real она вычисляет величину типа Extended. Перечень арифметических функций приведен в табл. 6.4.

Таблица 6.4 Арифметические функции

Функция Назначение Тип результата

Abs(x) Arctan(x)

Cos(x)

Exp(x)

Frac(x)

Int(x)

Ln(x)

Pi

Sin(x)

Sqr(x)

Sqrt(x)

Random

Random(i) Randomize

Inc(x,n) Dec(x,n)

Абсолютное значение аргумента

Арктангенс аргумента Косинус аргумента

ex

Дробная часть аргумента

Целая часть аргумента

Натуральный логарифм аргумента

Число "пи"

Синус аргумента

Квадрат аргумента

Квадратный корень аргумента

Случайное число в интервале 0..1 Случайное число в интервале 0..i Инициализация генератора случайных чисел

Увеличение/уменьшение значения целой переменной x на n. При отсутствии n инкремент/декремент равен 1

Совпадает с типом x

Вещественный

Вещественный

Вещественный

Вещественный

Вещественный

Вещественный

Вещественный

Вещественный

Совпадает с типом x

Вещественный

Вещественный

Целый

Целый

Целый

Функции преобразования типа предназначены для преобразования типов величин. К их числу относятся следующие:

Chr(x) – преобразование кода в символ. Аргумент типа Byte, результат типа Char;

Ord(x) – преобразование любого порядкового типа в целый тип. Аргумент – величина любого порядкового типа, результат – типа Longint.

Round(x) – округление вещественного числа до ближайшего целого. Аргумент – величина вещественного типа, результат – типа Longint.

Trunc(x) – получение целой части вещественного числа. Аргумент – величина вещественного тип, результат – типа Longint.

Следующие функции позволяют выполнить ряд действий над данными порядкового типа. К ним относятся:

Odd(x) – проверка аргумента на нечетность. Аргумент – типа Longint. Результат – типа Boolean равен True, если аргумент нечетный, и False, – если четный.

Pred(x) – определение предыдущего значения величины x. Аргумент может быть любого порядкового типа. Результат – предшествующее значение того же типа, например, Pred(2)=1.

Succ(x) – определение последующего значения величины x. Аргумент может быть любого порядкового типа. Результат – последующее значение того же типа, например, Succ(2)=3.

6.5.4. Знаки операций

Арифметические операции применимы только к величинам целых и вещественных типов. Они могут быть унарные и бинарные.

Унарный знак минус (–), поставленный перед величиной целого либо вещественного типа, приводит к изменению знака этой величины. Унарный знак плюс (+) не оказывает никакого влияния на величину. Бинарные арифметические операции приведены в табл. 6.5.

Таблица 6.5 Арифметические операции

Знак Операция Типы операндов Тип результата

+

*

/ div mod

Сложение

Вычитание

Умножение

Деление Деление целых чисел

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

Целые

Хотя бы один вещественный

Целые

Хотя бы один вещественный

Целые

Хотя бы один вещественный

Целые или вещественные

Целые

Целые

Целый Вещественный

Целый Вещественный

Целый Вещественный Вещественный

Целый

Целый

Вещественный результат будет типа Extended, если используется директива трансляции {$N+}, и типа Real – в противном случае. Знаки операций +, –, * могут использоваться и с другими типами операндов, но тогда они имеют другой смысл. Знаки операций div и mod должны отделяться от операндов пробелами.

Логические операции применяются к величинам логического типа, результат операции – логического типа. Имеется одна унарная логическая операция not (отрицание) и три бинарные операции: and (И), or (ИЛИ), xor (исключающее ИЛИ). Знаки логических операций отделяются от операндов пробелами. Результаты логических операций определяются таблицами истинности (табл. 6.6 и 6.7).

Таблица 6.6

Таблица истинности операции not

x not x
False True

True

False

Таблица 6.7 Таблица истинности операций and, or, xor

X Y x and y x or y x xor y

False

False

True

True

False True

False

True

False

False

False

True

False

True

True

True

False

True

True

False

Операции not, and, or, xor можно использовать для операций над отдельными битами целого числа. К битовым операциям относятся также операции сдвига shl и shr.

Операции отношения предназначены для сравнения двух величин, которые могут быть любого типа, кроме файлового. Результат сравнения имеет логический тип. К операциям отношения относятся следующие: = (равно); <= (меньше или равно); <> (не равно); >= (больше или равно); < (меньше); > (больше).

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

6.5.5. Порядок вычисления выражений

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