Константы и переменные. Типы переменных

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

Данные в программе могут присутствовать в виде констант и переменных.

Константы.Константы определяются один раз и не изменяются во время

выполнения программы.

Используют следующие типы констант:

  • целые и вещественные десятичные числа, например, 25, 6.12, 0.125е10 (см. примечание);
  • шестнадцатеричные числа - должны начинаться со знака «$», например, $64;
  • логические константы - true (истина) и false (ложь);
  • символьные константы – записываются либо в апострофах, например 'А', либо в виде соответствующих кодов по таблице ASCII
  • строки символов ~ записываются в апострофах, например 'ABCD'
  • конструкторы множеств;
  • «нулевой» адрес - nil (см. параграф 7.1).

Константы используются в двух формах: как литералы и как поименованные

константы.

Литерал представляет собой значение константы, записанное непосредственно в программе (например, в выражении 2+5.1*х использованы два литерала «2» и «5.1»).

Поименованные константы объявляются в инструкции раздела описаний const. Обращение к ним осуществляется по имени (идентификатору).

Под выражением при этом (рис. 2.3) понимают запись, состоящую из ранее

Константы и переменные. Типы переменных - student2.ru

объявленных констант, литералов, знаков операций (см. параграф 2.4) и стандартных функций abs, chr, hi, length, lo, ord, odd, pred, round, sizeof, str, succ,trunc

Например;

Const min=23; мах=45; {десятичные константы}

A16=$AB;

chl=#94;ch2='a';

stroka= ‘end’

vl-[3,6,8..9];

center=(max+min) div 2;

Переменные.Переменные - поименованные значения, которые могут изменяться в процессе выполнения программы. Их объявление также выполняют в разделе описаний программы, причем при этом указывается не только идентификатор переменной, но и ее тип (рис. 2.4). Обращение к переменным также осуществляют по идентификатору.

Тип переменной определяет возможный набор значений данной переменной, размер ее внутреннего представления и множество операций, которые могут выполняться над переменной. На рис. 2.5 показана классификация типов переменных Borland Pascal. В соответствии с ней различают простые и структурные типы переменных.

Простые (скалярные) типы описывают упорядоченные наборы значений. Они делятся на порядковые и вещественные.

Группа порядковых типов объединяет типы переменных, набор значений которых конечен, группа вещественных типов - типы с условно бесконечным набором значений.

Порядковые типы переменных делятся на стандартные, перечисляемые и отрезки. Стандартно заданы следующие типы:

• целые типы - см. табл. 2.1;

• булевский тип Boolean включает только два значения - false (0) и true (1), но в памяти значения данного типа занимают целый байт;

• символьный тип Char определяет набор символов по таблице ASCII (см. приложение 2). Всего в таблице указано 255 кодов, для большинства из которых существует символьное представление. Это, например, буквы русского и латинского алфавитов, цифры и специальные знаки, такие как точка, запятая и т. п.

Нестандартные порядковые типы необходимо описывать при объявлении переменных или используя инструкцию объявления типа (рис. 2.6).

Константы и переменные. Типы переменных - student2.ru

Константы и переменные. Типы переменных - student2.ru

Из которых существует символьное представление. Это, например, буквы русского и латинского алфавитов, цифры и специальные знаки, такие как точка, запятая и т. п.

Нестандартные порядковые типы необходимо описывать при объявлении переменных или используя инструкцию объявления типа (рис. 2.6).

Константы и переменные. Типы переменных - student2.ru

Константы и переменные. Типы переменных - student2.ru

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

Var D:(Mon,The,Wed,Thu,Fri,Set,Sun); ...{переменная D может приниматьтолько указанные значения}

Объявляя переменную перечисляемого типа, можно сначала определить

новый тип, а затем уже переменную этого типа, например:

Туре Day=(Mon,The,Wed,Thu,FrhSet,Sun); {объявление нового типа}

Var D:Day; {объявление переменной данного типа}

Тип переменной отрезок определяется как диапазон значений некоторого

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

Туре Data=1..31; {диапазон одного из целых типов}

Var DataN:Data;..,

или, не описывая тип отдельно, ту же переменную можно объявить следующим образом:

Var DataN:1..31;

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

сетку данного типа. В табл. 2.2 приведены характеристики вещественных

типов Borland Pascal.

Константы и переменные. Типы переменных - student2.ru

Инициализированные переменные.В Borland Pascal имеется возможность объявления переменных с заданными начальными значениями. Такие переменные называют инициализированными и объявляют в специальной конструкции const (рис. 2.7).

Примечание, С точки зрения идеологии языка объявление инициализированных переменных

в конструкции const является не корректным. В последующих версиях языка эта некорректность была исправлена.Инициализированные переменные в программе можно изменять так же, как и обычные.

Константы и переменные. Типы переменных - student2.ru

Const a:real=5;...

а:=234;

Наложенные переменные.Иногда возникает необходимость объявления переменных, размещенных по конкретным физическим адресам памяти или в том же месте, что и другие переменные программы. Наложение переменных выполняют также с использованием конструкции var, но после типа указывают зарезервированное слово absolute. На рис. 2.8 представлена полная синтаксическая диаграмма данной конструкции, из которой следует, что

возможны два варианта наложения переменной.

1. Наполсение по абсолютному адресу. В этом случае за словом absolute следует пара чисел типа word, разделенных двоеточием. Первое число трактуется как адрес сегмента, а второе как смещение. Такое объявление соответствует физическому связыванию переменной и области

памяти по указанному физическому адресу.

Например:

Var А: word absolute$0000:$OOFF;

L:array[1..2] of char absolute128:0;...

Данный вариант применяют, например, для обращения к таблицам операционной системы.

2. Наложение на ранее определенную переменную. В этом случае за словом absolute размещают идентификатор ранее определенной переменной. При этом переменной, описанной с absolute, присваивается адрес переменной, идентификатор которой стоит после него. Таким образом, происходит совмещение в памяти данных с разными именами и, возможно, типами.

Например:

Var c:byte;

а:real absolute с;...

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

Константы и переменные. Типы переменных - student2.ru

Наши рекомендации