Выражения в Turbo Pascal 7
Опубликовано: 02.09.2018
Выражение - это синтаксическая единица языка, определяющая способ вычисления некоторого значения. Выражения в языке Паскаль формируются в соответствии с рядом правил (см. [1]) из констант (в том числе и конструкторов множеств - см. п. 6.5), переменных (в том числе и компонент массивов - см. п. 6.1, полей записей - см. п. 6.4 - и полей объектов - см. п. 14), функций (стандартных и написанных самостоятельно), знаков операций и круглых скобок. В этом разделе будут рассмотрены все элементы выражений.
4.1. Переменные
Переменными называются параметры программы, значения которых могут изменяться в процессе ее выполнения.
Все используемые в программе переменные должны быть определены с указанием их типов. Переменные определяются:
в разделе объявления переменных программы; в разделе объявления переменных подпрограммы; в разделе объявления переменных модуля; в заголовке подпрограммы.Раздел объявления переменных начинается зарезервированным словом var, за которым следуют объявления конкретных переменных, состоящие из имени переменной (имен переменных, перечисленных через запятую, если они одного типа), двоеточия и типа переменной (переменных). Каждое объявление завершается точкой с запятой:
Pascal. Логические выражения. Тип boolean. Урок 4
var
: ; : ; . . . : ;В разделе объявления переменных наряду с предопределенными типами можно использовать типы, объявленные перед этим в разделе объявления типов, а также новые, вводимые только для конкретных переменных.
В заголовке подпрограммы при определении переменных можно использовать лишь стандартные или ранее определенные типы.
Пример.
type | |
Operat = (Plus, Minus, Mult, Divide); | |
var | |
X, Y, Z: Real; | {предопределенный тип} |
I, J, K: Integer; | {предопределенный тип} |
Operator: Operat; | {ранее определенный тип} |
Digit: 0..9; | {объявление нового типа} |
Переменные, объявленные не в подпрограмме, называются глобальными, т. к. они доступны во всех частях программы, в том числе и в подпрограммах, и размещаются в сегменте данных размером 65520 байтов.
Переменные, объявленные в подпрограмме, называются локальными, т. к. доступны только этой подпрограмме, и размещаются в стековом сегменте. По умолчанию стековый сегмент имеет размер в 16384 байта, однако с помощью ключа компилятора {$М} его можно изменять от 1024 до 65520 байтов.
Глобальные переменные постоянно находятся в памяти, локальные размещаются в стеке лишь на время выполнения подпрограммы, затем область стека освобождается.
В Turbo Pascal можно использовать абсолютные переменные, располагаемые в определенной области памяти.
Абсолютные переменные снабжаются директивой absolute и указанием на место размещения этой переменной. При этом возможны два варианта:
указание абсолютного адреса в оперативной памяти заданием через двоеточие адреса сегмента и смещения; "привязка" переменной к адресу начала другой переменной.Пример.
var | |
Str: string[32]; | {тип-строка, см. п. 6.2} |
StrLen: Byte absolute Str; | {привязка к началу строки} |
CrtMode: Byte absolute $0040:$0049; | {указание абсолютного адреса} |