Читаем Описание языка PascalABC.NET полностью

Переменные могут быть описаны в разделе описаний, а также непосредственно внутри любого блока begin/end.

Раздел описания переменных начинается с ключевого слова var, после которого следуют элементы описания вида

список имен: тип;

или

имя: тип := выражение;

или

имя: тип = выражение; // для совместимости с Delphi

или

имя := выражение;

Имена в списке перечисляются через запятую. Например:

var

a,b,c: integer;

d: real := 3.7;

s := 'PascalABC forever';

al := new List;

p1 := 1;

В последних трех случаях тип переменной автоматически определяется по типу правой части.

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

Кроме того, переменные-параметры цикла могут описываться в заголовке операторов for и foreach.

<p>Описание констант</p>

Раздел описания именованных констант начинается со служебного слова const, после которого следуют элементы описания вида

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

или

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

Например:

const

Pi = 3.14;

Count = 10;

Name = 'Mike';

DigitsSet = ['0'..'9'];

Arr: array [1..5] of integer = (1,3,5,7,9);

Rec: record name: string; age: integer end = (name: 'Иванов'; age: 23);

Arr2: array [1..2,1..2] of real = ((1,2),(3,4));

<p>Описание меток</p>

Раздел описания меток начинается с зарезервированного слова label, после которого следует список меток, перечисляемых через запятую. В качестве меток могут быть использованы идентификаторы и положительные целые числа:

a1,l2,777777;

Метки используются для перехода в операторе goto.

<p>Описание типов</p>

Раздел описания типов начинается со служебного слова type, после которого следуют строки вида

имя типа = тип;

Например, type

arr10 = array [1..10] of integer;

myint = integer;

pinteger = ^integer;

IntFunc = function(x: integer): integer;

Обычно описание используется для составных типов (статические массивы, процедурные переменные, записи, классы) чтобы дать имя сложному типу. Если для типа определена именная эквивалентность типов, это единственный способ передать переменные этого типа в подпрограмму.

Описание типов для классов использовать обязательно:

type

A = class

i: integer;

constructor Create(ii: integer);

begin

i:=ii;

end;

end;

Если описание типа используется просто для того чтобы заменить одно имя на другое, то такие типы называются синонимами типов:

type

int = integer;

double = real;

Описания типов могут быть обобщёнными, т.е. включать параметры-типы в угловых скобках после имени типа.

type

Dict = Dictionary;

Arr = array of T;

Использование такого типа с конкретным параметром-типом называется инстанцированием типа:

var

a: Arr;

d: Dict;

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

type

PNode = ^TNode;

TNode = record

data: integer;

next: PNode;

end;

При этом важно, чтобы определения обоих типов находились в одном разделе type.

В отличие от Delphi Object Pascal следующее рекурсивное описание верно:

type

TNode = record

data: integer;

next: ^TNode;

end;

Отметим, что для ссылочных типов (классов) разрешается описание поля с типом, совпадающим с типом текущего класса:

type

Node = class

data: integer;

next: Node;

end;

<p>Область действия идентификатора</p>

Любой используемый в программе идентификатор должен быть предварительно описан. Идентификаторы описываются в разделе описаний. Идентификаторы для переменных могут также описываться внутри блока.

Основная программа, подпрограмма, блок, модуль, класс образуют так называемое пространство имен - область в программе, в которой имя должно иметь единственное описание. Таким образом, в одном пространстве имен не может быть описано двух одинаковых имен (исключение составляют перегруженные имена подпрограмм). Кроме того, в сборках .NET имеются явные определения пространств имен.

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных