Описание переменных, констант, типов

Содержание |  Назад  |  Вперед

Описание констант

Перейти к: | Переменные | Типизированные константы | Описание типов |

Раздел описания CONST позволяет ввести в программу идентификаторы, являющиеся синонимами (представителями) определенных значений. Описание константы представляет собой пару "идентификатор - значение", разделителем пары служит символ "=".

Синтаксис описания констант:

CONST
  ИмяКонстанты1 = Значение1;
  ИмяКонстанты2 = Значение2;

или

  ИмяКонстанты = ЗначениеВыражения;

Примеры описания констант:

CONST
  Min = 0;  { константа - целое число }

  Max = 100;{ константа - целое число }
  e = 2.7;  { константа - вещественное число }
  SpecChar = '\'; {константа - символ }
  HelpStr = 'Нажмите клавишу F1'; {константа - строка }
  OK = True; { логическая константа "истина" }
 

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

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

CONST
  Interval = Max - Min + 1;

  e2 = e*e;
  BigHelpStr = HelpStr + ' для подсказки';

В выражениях могут использоваться все математические операции (+, -, /, *, div, mod), логические операции (not, or, and, xor) и операции отношения.

Описанные ранее константы можно использовать для построения индексов массивов, например:

CONST
  N = 100;

VAR
  V : array[1..N] of Byte;

Описание переменных

Перейти к: | Константы | Типизированные константы | Описание типов |

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

Синтаксис описания переменных:

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

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

или

VAR
  ИмяПеременной1,

  ИмяПеременной2,
  ИмяПеременной3  : ИмяТипа;

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

Однотипные переменные могут перечисляться через запятую перед объявлением их типа.

Примеры описания переменных:

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

  i, j, k : Integer; { три целочисленных переменных }
  T : MyType; { переменная определенного ранее типа MyType }
  D : 1..10;  { целочисленная переменная ограниченного типа }
  M : array[1..5] of Byte; { переменная типа "массив" }
  Data : RECORD
           X, Y : Byte;
           TextStr : String { переменная тпиа "запись" }
         END

 

Описание типизированных констант

Перейти к: | Константы | Переменные | Описание типов |

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

Только третий пункт роднит типизированные константы с простыми (обычными) константами, а во всем остальном это обычные переменные, начальные значения которых указываются при описании. Поэтому, типизированные константы часто так и называют - переменные со стартовым значением, что правильно отражает их суть. А то, что они описываются в разделе описания констант - это маленькое недоразумение, допущенное разработчиками языка Турбо Паскаль. Но с этим придется мирится - таковы правила.

Синтаксис описания типизированных констант:

CONST
  ИмяКонстанты1 : ИмяТипа1 = Значение1;
  ИмяКонстанты2 : ИмяТипа2 = Значение2;

Примеры описания типизированных констант:

CONST
  R : Real = 19.875;

  I : Integer = -10;
  Title : String = 'Заголовок';
  SpecChar : Char = '\';
  { стартовое значение можно задать масиву }
  Vector : array[1..5] of Byte = (1,3,5,7,9);
  { а можно и множеству }
  Indexes : set of Byte = [1..10,20,100..200];

Важно: Поскольку типизированные константы это, на самом деле, обычные переменные, их нельзя использовать в описаниях других констант и типов. Следующий фрагмент показывает пример НЕПРАВИЛЬНОГО использования типизированных констант:

CONST
  Min : Byte = 0;

  Max : Byte = 1;
  e : Real = 2.7;
  Interval = Max - Min + 1; { Ошибка }
  e2 = e*e;                 { Ошибка }

VAR
 
V : array[Min..Max] of Integer; { Ошибка }

Зачем нужны типизированные константы?
Когда программа начинает работать, места под значения переменных уже выделены, но не очищены. Это означает, что в ячейках памяти может быть что угодно (остатки предыдущей программы или ее следы). Поэтому в Паскале очень важно, чтобы каждая переменная перед использованием была бы заполнена имеющим смысл или хотя бы пустым (нулевым) значением. Выполнить это требование можно, начиная программу со "скучной" перепеси переменных

  x := 0; y := 0; ch := 'n';
  flag := FALSE;
  a[1] := 1; a[2] := 0; a[3] := -1; a[4] := 0;

Более элегантное решение этой проблемы - переменная со стартовым значением: вводим идентификатор переменной, указываем ее тип и тут же (!) определяем ее начальное значение. Все просто!

 

Описание типов

Перейти к: | Константы | Переменные | Типизированные константы |

 

Содержание |  Назад  |  Вперед