Cтраница 1
Имена типов данных из расширяемой сигнатуры, встречающиеся в индексах операций данного типа, называются именами примитивных типов. Если 2 - сигнатура, полученная при введении описания данного типа, то базисный терм t e Ws называется примитивным термом, если он составлен только из знаков операций примитивных типов. Соответственно базисный терм, составленный только из конструкторов описания 2Г, называется термом данного типа. [1]
В языке Си предусмотрена возможность определения имен типов данных. [2]
Отношение КЛИЕНТ и отношение ОПЛАТА являются именами типа данных со структурой прямого произведения, и можно считать, что они являются операторами образования данных типа прямого произведения из данных простого типа. [3]
Описания переменных представляют собой список имен, за которым Следует имя типа данных. [4]
Операции приведения к типу применимы к любым типам данных. Операция оформляется как имя типа данных, помещенное в круглые скобки. Приведение к типу является унарной операцией, т.е. операцией, имеющей всего один операнд. [5]
Операции приведения типа существуют для любого типа данных. Операция приведения типа образуется путем помещения имени типа данных в круглые скобки. Операция приведения типа является одноместной операцией, т.е. операцией, принимающей только один операнд. [6]
Имя типа и набор принадлежащих типу значений должны подчиняться обычным правилам для имен идентификаторов. Так, определенное новое имя типа данных может использоваться точно так же, как любое другое имя типа данных, а имена значений типа рассматриваются как константы нового типа данных. Типы данных, объявляемые путем перечисления всех возможных значений, называются перечислениями. Единственные операции, которые могут выполняться над переменными перечислимого типа, - это присваивания и сравнения. Если требуются другие операции, то их должен задать программист с помощью процедур ( см. гл. [7]
На распечатке 11.2 процедура HashKey демонстрирует применение функций преобразования типа. Определяемый пользователем тип, названный хэш ( hash), применяется для преобразования данных, имеющих форму типа записи EmpRec в тип хэш. С помощью функции преобразования типа имя получаемого типа данных используется так, как если бы это была предварительно определенная процедура-функция, имеющая только один параметр - исходную переменную любого типа. Обратите внимание, что функция преобразования типа не выполняет на самом деле никаких преобразований. Она просто позволяет избежать выдачи ошибки компиляции для несовместимых типов. Различия во внутреннем представлении должны обрабатываться программой. [8]
Благодаря введению такого понятия описания типа данных сигнатура алгебры разбивается на ряд фрагментов ( по количеству основ), в каждом из которых вокруг данного имени основы концентрируется определенный круг имен операций, и такой фрагмент мы связываем с понятием типа данных. Для различения этих фрагментов, очевидно, их необходимо именовать. Немедленные вопросы: как соотносятся между собой имя основы и имя типа данных и соответственно чем индексируются операции: именами основ или именами типов. [9]
![]() |
Операторы для множеств. [10] |
Поскольку множество представляет собой группу элементов, константы для множеств несколько более сложно представляются, чем константы для простых типов данных. Элементы множества перечисляются либо по одному, либо в виде поддиапазонов, либо и так, и так и затем заключаются в фигурные скобки, чтобы показать, что они представляют константу для множества. Поскольку в программе может быть много различных типов множеств, скобкам должно предшествовать имя типа данных. [11]
Вы, вероятно, удивлены тем, что два различных ключевых слова создают практически идентичные объявления. Создатель C, Бьерн Строустрап, опирался на структуры, но заменил имя типа данных struct типом class, чтобы тем самым заявить о новых расширенных функциональных возможностях этого нового образования. [12]
Во-первых, можно опубликовать внутренний словарь Данных, объясняющий, какими должны быть корректные данные для каждого из элементов системы. Затем необходимо информировать об этом всех разработчиков и администраторов для того, чтобы они придерживались заданных правил при построении таблиц или объявлении основных переменных. Имя типа данных является по существу синонимом одного из стандартных типов. После этого администраторы и разработчики при определении столбцов и переменных, содержащих информацию такого вида, получат возможность использовать созданный тип. Это может быть очень полезно, особенно в больших децентрализованных системах, где для определения одного и того же элемента подчас применяется до десяти различных способов. [13]
Примером непрозрачных типов данных, с которыми знакомы большинство программистов, служит тип FILE, аналогичный тому, который существует в Паскале. Вместе с типом FILE пользователю предоставляются процедуры, такие, как Close ( FILE), Open ( FILE, FileName), EOF ( FILE), Seek ( File, BlockNumber), и другие операции над файлами. В этом случае мы не знаем ( и не должны знать) подробности объявлений FILE. Программе-клиенту будут доступны только имя типа данных FILE и процедуры операций над файлами. [14]