Описание переменных
Переменные могут быть описаны в разделе описаний, а также непосредственно внутри любого блока begin/end.
Раздел описания переменных начинается со служебного слова var, после которого следуют элементы описания вида
список имен: тип;
или
имя: тип := выражение;
или
имя := выражение;
Имена в списке перечисляются через запятую.
Пример описания переменных
Например:
var a,b,c: integer; d: real := 3.7; s := 'Pascal forever'; al := new ArrayList; p1 := 1;
Описание констант
Раздел описания именованных констант начинается со служебного слова 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));
Описание меток
Раздел описания меток начинается с зарезервированного слова label, после которого следует список меток, перечисляемых через запятую. В качестве меток могут быть использованы идентификаторы и положительные целые числа:
label a1,l2,777777;
Описание типов
Раздел описания типов начинается со служебного слова type, после которого следуют строки вида
имя типа = тип;
Например,
type myint = integer; arr10 = array [1..10] of integer; pinteger = ^integer; A = class i: integer; constructor Create(ii: integer); begin i:=ii; end; end;
Простые (порядковые) типы
Тип |
Идентификатор |
Размер в байтах |
Диапазон значений |
логический |
boolean |
1 |
true, false |
символьный |
char |
1 |
все символы кода ASCII |
Интервальный тип (тип-диапазон) определяется пользователем и формируется только из порядковых типов. Представляет собой подмножество значений в конкретном диапазоне.
Можно создать собственный тип данных простым перечислением значений, которые может принимать переменная данного типа. Это так называемый перечисляемый тип данных.
Целочисленные типы
Тип |
Диапазон |
Формат |
Размер в байтах |
Byte |
0..255 |
Беззнаковый |
1 |
ShortInt |
−128..127 |
Знаковый |
1 |
SmallInt |
−32768..32767 |
Знаковый |
2 |
Word |
0..65535 |
Беззнаковый |
2 |
Integer |
-32768..32767 |
Знаковый |
2 |
LongWord |
0..4294967295 |
Беззнаковый |
4 |
LongInt |
−2147483648..2147483647 |
Знаковый |
4 |
QWord |
0..18446744073709551615 |
Беззнаковый |
8 |
Вещественные типы
Идентификатор |
Длина (байт) |
Диапазон значений |
real |
6 |
2,9x10-39 - 1,7x1038 |
single |
4 |
1,5x10-45 - 3,4x1038 |
double |
8 |
5x10-324 - 1,7x10308 |
extended |
10 |
3,4x10-4932 - 1,1x104932 |
Структурированные типы
Массив – это структура, занимающая в памяти единую область и состоящая из фиксированного числа компонентов одного типа.
Строки представляет собой последовательность символов. Причем количество этих символов не может быть больше 255 включительно. Такое ограничение характерная черта Pascal.
Запись – это структура, состоящая из фиксированного числа компонент, называемых полями. В разных полях данные могут иметь разный тип.
Множества представляют собой совокупность любого числа элементов, но одного и того же перечисляемого типа.
Файлы для Pascal представляют собой последовательности однотипных данных, которые хранятся на устройствах внешней памяти (кстати, жесткий диск – это тоже внешняя память).
