Типы данных

Данные характеризуются тремя качествами: семантикой, синтаксисом и прагматикой.

Семантика — это содержательная (смысловая) характеристика данных. Она определяет множество возможных значений чанных и множество операций, которые можно выполнить над значениями данных без потери смысла.

Синтаксис — это формальная характеристика данных, определяющая внешний вид (структуру) данных. Синтаксис основан на стаандартах языка программирования и задается грамматикой, ко­торая включает алфавит и синтаксические правила изображения тех или иных конструкций языка, в частности изображения данных.

Прагматика — это характеристика, определяющая правила использования данных в ЭВМ в результате распознавания смысла (интерпретации) данных, т.е. прагматика данных в ЭВМ — это алгоритмы их обработки.

Комбинации семантической и синтаксической характеристик данных в программировании называют типом данных. Комби­нирование большого количества семантической и синтаксичес­кой характеристик данных позволяет породить множество титпов данных. Очевидно, что в языке программирования невозмож­но предусмотреть средства для использования всех возможных типов данных, а поэтому используется лишь ограниченное число типов. Типы данных в современных языках программирования принято делить на две большие группы: скалярные и структури­рованные.

Данные скалярных типов рассматриваются как цельные про­стые неделимые объекты, атомы данных. Стандартными для по­чти всех современных ЭВМ, поддерживаемыми на конструктив­ном уровне, являются такие скалярные типы данных, как целый тип, вещественный тип, логический тип, символьный тип, ссы­лочный тип и д$.

Данные структурированных типов представляются как состав­ные агрегатные объекты, элементы которых могут быть данны­ми одного и того же или различного типа. Значения структури­рованного типа представляют собой совокупность значений ком­понентов, относящихся к составляющим типам, и называются составными. Если имеется только один составляющий тип, т.е. все компоненты относятся к одному типу, то он называется базо­вым типом. Число различных значений, входящих в тип Т, назы­вается мощностью Т. Поскольку составляющие типы также мо­гут быть составными, то можно построить целую иерархию струк­тур, но конечные компоненты структуры должны быть атомарными.

Если для значений некоторого типа существует отношение порядка, то такой тип называется порядковым. К ним относятся целый, логический, символьный, ссылочный типы, а также типы, созданные на основе перечисления всех возможных значений.

В современных системах программирования определено не­сколько основных структур данных (фундаментальных структур), на основе которых в программе могут строиться более сложные структуры, представляющие собой некоторые абстрактные дан­ные реального мира (абстрактные типы). Такими фундаменталь­ными структурами являются массив, запись и множество. К ним можно отнести с некоторыми ограничениями и последователь­ные файлы (последовательности). Фундаментальные структуры являются молекулами, с помощью которых строятся усложнен­ные структуры.

Можно привести следующее толкование структуры [21]. Структурой данных называют совокупность элементов данных, между которыми существуют некоторые отношения, причем эле­ментами данных могут быть как атомарные данные, так и струк­туры данных. Структуру можно определить как S = (D/R), где D — множество элементов данных, R — Множество отношений между элементами данных. Все связи одного элемента данных с другими образуют элемент отношений, связанный (ассоцииро­ванный) с соответствующим элементом данных. Пару, содержа­щую элемент данных и элемент отношений, назовем элементом структуры (рис. 1.2).

В некоторых случаях отношения между элементами данных настолько просты, что не возникает особой необходимости их отображения, т.е. элементы отношений могут отсутствовать в явном виде, например в массиве, где все элементы имеют один и тот же тип и следуют друг за другом.

Из вышеизложенного можно сделать вывод, что структура данных — это организованная некоторым образом информация, которая может быть описана, создана и обработана программа­ми. Благодаря структурам данных можно выразить содержатель­ный смысл конкретных представлений информации на физичес­ких носителях [27]. При описании на языке программирования структура, а во многих случаях и ее составные части получают имена, пп кптопым псушеетвпяется гтостугт к ним. Уточняется какбудут представлены структура в целом и ее составные части с уче­том разрешенных операций над структурой и операций над со­ставными частями.

Как и любые данные, структура данных представляется на трех уровнях. На внешнем уровне структура данных описывается как абстрактный объект. При этом определяются ее организация, возможные значения и операции, разрешенные над структурой (внешняя спецификация). Таким образом, определение структу­ры данных на внещнем уровне эквивалентно определению ново­го типа данных и его свойств.

Обобщая вышеизложенное, можно определить абстрактный тип данных (АТД) как математическую модель данных с сово­купностью операций, определенных в этой модели. Элементами данных абстрактного типа могут быть переменные стандартных типов, структуры и АТД, отличные от определенных в данной модели АТД [3]. Операции, определенные в модели АТД, реали­зуются как процедуры. Такие процедуры можно рассматривать как обобщение понятия оператора. Таким образом, программи­сту могут создавать и применять собственные операторы. Эти операторы могут иметь операндами не только данные, опреде­ленные в АТД, но и данные стандартных типов и фундаменталь­ные данные, а также данные, определенные в других АТД. Наи­более полное воплощение абстрактные типы данных нашли в системах программирования, поддерживающих объектно-ориен­тированное программирование.


//символ по коду int code=123; char symb= char(code); //код по символу char symb=’c’; int code= int(symb);


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: