3. Типы данных
19
3. Типы данных
Одной из основных особенностей языка Pascal (по сравнению с существующими
до его появления) является концепция типов данных. По словам автора языка Н. Вирт
организация данных в языке Pascal основывается на теории Хоара о структурной
организации данных. Согласно ей тип обладает следующими свойствами:
*
тип определяет класс значений (к которому могут принадлежать константы
или которые могут принимать переменные и выражения) и множество
операций над этим классом значений;
*
каждое значение принадлежит одному и только одному типу;
*
тип константы, переменной или выражения можно определить наличной
информацией в представлении операнда или извлечь из контекста: не
приходится ждать выполнения программы (это условие статических типов
данных);
*
каждой операции соответствует некоторый фиксированный тип ее
операндов и некоторый фиксированный тип ее результата;
*
для каждого типа свойства значений и элементарные операции над ними
задаются аксиомами.
При работе с языком высокого уровня, знание сущности типа данных позволяет
компилятору обнаруживать в программе бессмысленные конструкции и решать вопрос
о методе представления данных и о способе выполнения компьютером преобразований
над данными.
Сильная типизация (типы обладают указанными выше свойствами), введенная в
языке Pascal, является первым шагом в направление абстрактных типов данных, идея и
реализация которых появляются в позже разработанных языках.
И так, основные характеристики типа - это множество значений, принадлежащих
этому типу данных, и операции, определенные над объектами этого типа. При описании
типов они будут представлены с точки зрения этих двух аспектов.
3.1. Простые типы данных
К простым типам данных в UniPascal-е относятся стандартные и перечисляемые
типы и типы диапазона. Вводитя и понятие ординального типа, включающего в себя все
простые типы за исключением вещественого.
SimpleType =
OrdinalType | RealType.
OrdinalType =
Enumerated | SubRange | StandardType.
StandardType =
'integer' | 'shortint' | 'longint' |
'cardinal' | 'shortcard' | 'natural' |
'char' | 'boolean' |
'byte' | 'word' | 'longword'|.
RealType =
'real'.
Для всех простых типов данных дефинированы следующие операции (не будем
специально останавливаться на них, но будем предполагать их наличие): присваивание
значения (:=) и отношения равенства (=), неравенства (<>), меньше (<), не больше
(<=), больше (>) и не менше (>=). При операциях отношений тип результата -
логический (BOOLEAN).
<<  <  GO  >  >>

Вернуться к началу сайта