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



страница1/11
Дата07.11.2012
Размер0.54 Mb.
ТипДокументы
  1   2   3   4   5   6   7   8   9   10   11

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

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

1.1История


Ещё в 1960-х гг. Р. Хиндли (Roger Hindley) исследовал типизацию в комбинаторной логике. Его проблемной областью была типизация в языках, основаных на теории лямбда-исчисления. Позднее, в конце 1960-х годов, тот же учёный исследовал полиморфные системы типов. Позже, в 1970-х годахРобин Милнер предложил практическую реализацию расширенной системы полиморфной типизации для языка функционального программирования ML.

1.2Определение


Тип (сорт) — относительно устойчивая и независимая совокупность элементов, которую можно выделить во всём рассматриваемом множестве (предметной области).[1]

Полиморфный тип — представление набора типов как единственного типа.

Математически тип может быть определён двумя способами:

  1. Множеством всех значений, принадлежащим типу.

  2. Предикатной функцией, определяющей принадлежность объекта к данному типу

1.3Необходимость использования типов данных


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

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

1.
4Практическое применение


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

Современные языки программирования (включая Ассемблер) поддерживают оба способа задания типа (см. Определение). Так, в С++ тип enum является примером задания типа через набор значений. Определение класса (если рассматривать класс как тип данных) фактически является определением предиката типа, причём возможна проверка предиката как на этапе компиляции (проверка соответствия типов), так и на этапе выполнения (полиморфизм очень тесно связано с полиморфными типами). Для базовых типов подобные предикаты заданы создателями языка изначально.
  1   2   3   4   5   6   7   8   9   10   11

Похожие:

Структуры и типы данных языка программирования iconОсновы языка Haskell Структуры данных и их типы
Одна из основных единиц любого языка программирования — это символ. Символом традиционно называется последовательность букв, цифр...
Структуры и типы данных языка программирования icon«Язык программирования Pascal в примерах»
Предлагаемый курс является введением в программирование на языке Pascal. Его особенность в том, что важнейшие основные понятия программирования:...
Структуры и типы данных языка программирования iconКраткая теория по курсу информатика Типы данных языка программирования Turbo Pascal
В языке программирования Turbo Pascal все данные, используемые программой должны принадлежать к какому-либо типу данных. Некоторые...
Структуры и типы данных языка программирования iconПрограмма курса "Языки и технология программирования (C++)" Доц. А. С. Цветков Введение Предмет "
Алгоритмы, способы описания алгоритмов. Словесный подход. Язык блок-схем. Алгоритмический язык. Алгоритмы и структуры данных. Типы...
Структуры и типы данных языка программирования iconТемы, рекомендуемые для работы с одаренными учащимися в плане подготовки к олимпиаде по информатике (программированию) Раздел Математические основы программирования Раздел Техника программирования
Переменные и простейшие типы данных, размеры типов. Линейные программы. Условные операторы. Циклы. Процедуры и функции. Сложные типы...
Структуры и типы данных языка программирования iconТехнология программирования. Вопрос №5 Динамические структуры данных
Динамические структуры данных служат полезным дополнением к стандартным структурам, уже определенным в языке Pascal. Динамическими...
Структуры и типы данных языка программирования iconВопросы к экзамену по курсу «Методы программирования»
Простые структуры данных: методы реализации, особенности в различных языках программирования
Структуры и типы данных языка программирования icon«простые типы данных. Символьный тип данных» Простые типы данных делятся на порядковые и ве­щественный типы данных
Под порядковым типом понимают тип данных, областью значений которых является упорядоченное счетное множество. Каждому элементу такого...
Структуры и типы данных языка программирования iconТипы данных
Примитивные типы данных Паскаля: типы с плавающей запятой (real), целые (integer), char, boolean и перечисления
Структуры и типы данных языка программирования iconТипы данных на Паскаль. Целочисленные типы данных
В типах данных со знаком старший бит числа используется как признак знака числа. Все целые типы относятся к порядковым, т е для любого...
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org