1. Стандартные типы данных.Одним из важнейших понятий в программировании является переменная. Переменная — это поименованная область оперативной памяти компьютера, где хранится значение некоторой величины. Переменная обладает такими свойствами: название (имя), значение, тип. Количество переменных и их свойства указывает пользователь. Тип переменной определяет её допустимые значения, а также операции, которые можно над нею выполнять. В программе triangle предыдущего параграфа переменные риз объявлены как переменные числового вещественного типа.
Рассмотрим стандартные типы данных: числовые целые (табл. 1), числовые вещественные (табл. 2), символьный и логический. Другие типы данных будем изучать позднее.
Табл.1. Целые типы
Имя типа
Диапазон значений
Byte
0..255
Shortint
-128. .127
Word
0..65535
integer (основной тип)
-32768..32767
Longint
-2147483648. .2147483647
Объявим переменные: var х : byte; у : integer. Этим переменным можно присвоить, например, такие значения х := 65; у := -5. Заметим, что переменная х не может принимать отрицательные значения, поскольку они не входят в диапазон допустимых значений типа byte.
Табл.2. Вещественные типы
Имя типа
Диапазон
Single
1.5*10^-45-3.4*10^38
real (основной тип)
2.9*10^-39-1.7*10^38
Double
5.0*10^-324-1.7*10^308
Extended
3.4*10^-4951-1.1*10^4932
Вещественные числа можно записывать в формате с фиксированной точкой, например, 5.04, -12.109, или в формате с плавающей точкой. Запись -5.2Е+2 является представлением числа -520.0, а 16.1Е-3 — числа 0.0161. Символы Е+2 обозначают умножение на 10 в степени +2, а Е-3 - на Ю'3, то есть
N~Em = п • 10т
Символьный тип(char) - это множество символов кодовой таблицы компьютера ASCII. Символьная константа - это символ, заключенный в кавычки, например, 'а', '5', '%'.
Логический тип(boolean) характеризуется двумя значениями; false (ложь) и true (истина).
Все стандартные типы (кроме вещественного) упорядочены, то есть для каждого данного определены последующее и предыдущее значения.
2. Нестандартные простые типы. Все рассмотренные выше типы данных - стандартные. Их не нужно описывать в разделе type. Пользователь может определить свои собственные типы данных в разделе описания типов type таким образом:
type<имя типа 1> = <описание типа 1>;
<имя типа п> = <описание типа п>;
К простым нестандартным типам принадлежат перечислимьш, диапазонный и строковый.
Перечислимый типпользователь создаёт путем указания (перечисления) всех значений, которые могут принимать переменные этого типа, в виде списка слов-идентификаторов, заключённого в скобки:
type <имя типа> = (<значение 1>, <значение 2>, ...,
<значение п>);
Значениями не могут быть данные числовых и символьного типов.
Пример. Опишем два перечислимых типа (названия дней недели и цветов):
Этим переменным можно присвоить, например, такие значения:
day := fri; avto := green; avto := red.
Нумерация элементов списка начинается с 0. Над данными перечислимого типа определены функции ord, pred и succ (см. табл. 4). Например,
ord(avto) = 0, ord(day) = 4,
pred(day) = the, succ(day) = sat.
Данные этого типа нельзя вводить с клавиатуры или выводить на экран.
Диапазонный тип — это сужение некоторого базового упорядоченного типа. Его описывают так:
type<имя типа> = <значение 1> .. <значение 2>;
Пример. Создадим три типа (weekdays, workdays, months), которые описывают все дни и рабочие дни недели, а также номера месяцев года. Объявим переменные dayl, day2, day3 и month этих типов:
Строковыйтип данных (string). Значениями переменной строкового типа может быть любая последовательность, состоящая не более чем из 255 символов. Данные строкового типа можно описать в разделе типов, задать в разделе констант или объявить в разделе переменных. Например:
typet = string[10];
const s = 'Bye!';
vartop : t; w : string;
В квадратных скобках указывают длину строки. Константы строкового типа были использованы в программе triangle в команде вывода writeln.
3. Типизированные константы.Кроме обычных существуют типизированные константы. Они дают возможность объявлять переменные и сразу присваивать им значения: