Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
информатика сессия.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
112 Кб
Скачать
☆

Выражения в Turbo Pascal 7

Выражение - это синтаксическая единица языка, определяющая способ вычисления некоторого значения. Выражения в языке Паскаль формируются в соответствии с рядом правил (см. [1]) из констант (в том числе и конструкторов множеств - см. п. 6.5), переменных (в том числе и компонент массивов - см. п. 6.1, полей записей - см. п. 6.4 - и полей объектов - см. п. 14), функций (стандартных и написанных самостоятельно), знаков операций и круглых скобок. В этом разделе будут рассмотрены все элементы выражений.

Переменные

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

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

  • в разделе объявления переменных программы;

  • в разделе объявления переменных подпрограммы;

  • в разделе объявления переменных модуля;

  • в заголовке подпрограммы.

Раздел объявления переменных начинается зарезервированным словом var, за которым следуют объявления конкретных переменных, состоящие из имени переменной (имен переменных, перечисленных через запятую, если они одного типа), двоеточия и типа переменной (переменных). Каждое объявление завершается точкой с запятой:

var    <списокпеременных1>:<тип1>;    <списокпеременных2>:<тип2>;    ...     <список переменных N>: <тип N>;

В разделе объявления переменных наряду с предопределенными типами можно использовать типы, объявленные перед этим в разделе объявления типов, а также новые, вводимые только для конкретных переменных.

В заголовке подпрограммы при определении переменных можно использовать лишь стандартные или ранее определенные типы.

Пример.

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;

{указание абсолютного адреса}