Cтраница 2
Основным компонентом, составляющим описание структурированного типа данных, является описание набора операций, которые могут быть применены к объектам, имеющим этот структурированный тип, тогда как описания структур только дополняются операциями над их элементами. [16]
Еще одним достоинством типа поддиапазон является то, что он позволяет программисту осуществлять контроль за выделением места в памяти для размещения переменных, например, при использовании упакованных структурированных типов. [17]
Данные могут относиться к структурированному или неструктурированному типу. Структурированный тип определяется как агрегат базовых типов. Базовые типы в конечном итоге неструкту-рнрованы. Предполагается, что наиболее примитивные типы данных реализуются аппаратными средствами. Неструктурированные типы данных в пределе основываются на одном примитивном типе. [18]
В заголовке описания процедуры процедура-функция обозначается посредством указания типа значения, которое возвращается. Если объект структурированного типа должен быть изменен процедурой, то он либо должен находиться в окружении процедуры, либо должен быть передан как параметр-переменная. [19]
Описание переменных в языке Си может сопровождаться их инициализацией определенными значениями. Однако переменные, имеющие структурированные типы ( например, массивы), могут быть инициализированы в процессе их описания только в том случае, если они являются статистическими. [20]
Любой структурированный тип, кроме типа-указатель, может быть упакованным. Зарезервированное слово PACKED, предшествующее определению структурированного типа, означает, что этот тип является упакованным. Отметка об упакованности типа является указанием компилятору, что память при размещении такого типа следует экономить даже за счет потери эффективности при его обработке. Отметка об упакованное влияет на представление в памяти только этого типа. Если, например, тип компонентов упакованного типа, в свою очередь, является сруктурированным, то компоненты будут упакованы только в том случае, если их тип указан как упакованный. [21]
К структурированным типам относятся типы: множество, массив, запись, указатель и файл. Если простые типы не содержат компонентов, то структурированные типы имеют в своем составе другие типы и, кроме того, обладают структурой. [22]
Во второй главе дается описание ЯП Pascal, в том числе примеры простых программ на языке Pascal, лексика языка, переменные и константы, типы данных. Далее рассматриваются выражения и операции, операторы языка, структурированные типы данных, динамические данные, процедуры и функции. Описываются компоненты структуры программы, методы организации ввода-вывода данных и работы с файлами. [23]
По умолчанию параметры, представляющие собой объекты, имеющие простые типы или тип указатель, передаются по значению. В противоположность этому параметры, представляющие собой объекты, имеющие структурированные типы, должны передаваться по ссылке. Границы, указываемые при описании массивов или в различных операторах, например операторе цикла for, могут иметь определенные простые типы, но не могут иметь структурированные типы. Таким образом, идентичность трактовки объектов различных типов на основе идентичности их трактовки в операторе присваивания не может быть распространена на прочие языковые конструкции. [24]
В языке Паскаль функции могут возвращать значения любых скалярных типов или указатели, кроме значения структурированных типов. [25]
Вопросы представления научно-технических данных, их быстрого нахождения в соответствии с возникающими потребностями в больших массивах информации давно являются предметом исследований специалистов. В настоящее время все системы представления данных НТИ могут быть отнесены к двум основным видам: к документальным базам данных с представлением данных на ЕЯ и к базам данных структурированного типа. Терминология в области описания баз данных ( БД) и банков данные ( БнД) еще не вполне устоялась. [26]
Как уже было отмечено в § 9.2.3, понятие типа в языке Паскаль объединяет три различные концепции, сохраняя терминологию А. Хабермана, названные нами типом, диапазоном, структурой. Наиболее важным является то, что с объектами, имеющими структурированные типы, допускаются манипуляции в точности такие же, как и с объектами, имеющими неструктурированные типы. Например, массив может быть компонентом некоторого файла или другого массива, а может быть полем некоторой записи. Выполнение оператора присваивания допустимо почти для всех типов объектов при условии, что тип объектов в правой и левой частях оператора присваивания совпадает. [27]
В языке Ада, как и в языке программирования Паскаль, присваивание разрешено только в том случае, если тип операндов в правой и левой частях оператора присваивания совпадает. В частности, это означает возможность выполнения присваивания массива на массив в случае, если типы обоих массивов совпадают. Такая возможность не только демонстрирует элегантность языка Ада ( в котором структурированные типы трактуются так же, как и простые типы), но и оказывается очень удобной на практике. [28]
Структурированные типы описывают наборы однотипных или разнотипных данных. Типы данных, образующих набор, в свою очередь могут быть как простыми, так и структурированными. Если тип компонент набора является структурным, то говорят, что получаемый в результате структурированный тип имеет более одного уровня структурирования. Структурированный тип может иметь неограниченное количество уровней структурирования. [29]
По умолчанию параметры, представляющие собой объекты, имеющие простые типы или тип указатель, передаются по значению. В противоположность этому параметры, представляющие собой объекты, имеющие структурированные типы, должны передаваться по ссылке. Границы, указываемые при описании массивов или в различных операторах, например операторе цикла for, могут иметь определенные простые типы, но не могут иметь структурированные типы. Таким образом, идентичность трактовки объектов различных типов на основе идентичности их трактовки в операторе присваивания не может быть распространена на прочие языковые конструкции. [30]