Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

AlgStr / Библиотека / ЛЕКЦИИ / PZ01 / Понятие о типе данных в языках программирования

.doc
Скачиваний:
38
Добавлен:
23.03.2015
Размер:
33.28 Кб
Скачать

Понятие о типе данных в языках программирования

Что есть данные? Одно из определений будет звучать как Данные – изображение информации, то есть описание состояний некоторый среды хранения. Все это можно рассмотреть на примере. Зададим себе вопрос: а что есть формат данных? Допустим у нас некоторое число:

14101954

Что оно означает? Каков его формат? Возможно это просто набор отдельных цифр: один, четыре, один, ноль, один, девять, пять, четыре. Возможно это просто целое положительное число: четырнадцать миллионов сто одна тысяча девятьсот пятьдесят четыре. Еще один вариант – это дата: четырнадцатое октября тысяча девятьсот пятьдесят четвертого года. Как мы видим из рассмотренного нами примера все зависит от того как мы интерпретируем предоставленные нам данные или изображение информации. Из этого можно сделать вывод, что формат и тип данных по своей сути есть одно и то же. Из за показанной здесь неоднозначности следует что к каждому источнику данных требуется свой интерпретатор данных: некая сущность, которая знает правильный формат данных поступающих из источника. Без него мы не сможем получить из данных информацию и наоборот.

Тип данных определяет множество допустимых значений, которые может иметь объект данного типа, а также множество допустимых операция, которые могут применятся к нему. Тип данных был введен в языках высокого уровня для обеспечения типовой безопасности: обеспечении использования типа в соответствии с поведением заданным в спецификации типа. Благодаря этому мы можем рассматривать тип данных как класс объектов-переменных, которые могут подменять друг друга в различных контекстах.

Тип данных определяется:

  1. Поведением объектов рассматриваемого типа;

  2. Представлением (форматом) объектов этого типа

  3. Множеством объектов этого типа

Тип данных это процедура периода компиляции. Если тип данных является встроенным в язык высокого уровня, то он предоставляет там следующие средства:

  1. Объявить переменную этого типа

  2. Объявление констант данного типа

  3. Сравнение значений

  4. Присваивание и определение значений

  5. Определение компонент типа (только для сложных типов)

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

  1. Тип данных определяет класс значений, которые могут принимать переменные и выражения.

  2. Каждое значение принадлежит одному и только одному типу(данное правило не нарушается в языке Паскаль во многом благодаря неявному приведению типов).

  3. Тип константы, переменной или выражения можно вывести либо из контекста либо из вида самого выражения не обращаясь к значениям, вычислимым во время работы программы, что обеспечивает возможность статического контроля типов.

  4. Для каждой операции существует тип ее операндов и результата.

  5. Для каждого типа свойства значений и элементарных операций над значениями задается с помощью аксиом.

  6. При работе с языком высокого уровня значение типа позволяет обнаруживать в программе бессмысленные конструкции (контроль типов) и решать вопрос о методе представления данных.

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

К простым типам относятся порядковые и вещественные типы.

Порядковые типы отличаются тем, что каждый из них имеет конечное число состояний. Эти значения, соответственно, можно определенным образом упорядочить (отсюда и название) и, следовательно, сопоставить некоторое целое число – порядковый номер.

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

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