3. Алгоритмы и структуры данных. Понятие типа данных

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


В большинстве случаев новый тип данных строится из других типов, уже определенных (назовем их составляющими). Значения такого типа – это обычно агрегаты значений компонент, принадлежащих ранее определенным составляющим типам, и такие значения называются составными, или структурированными. Если используется только один составляющий тип, то есть все компоненты принадлежат одному типу, то этот тип называют базовым. Число различных значений типа T называют его мощностью. Мощность позволяет определить объем памяти для представления переменной x, имеющей тип T, что обозначается как x: T.

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

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

Переменные и типы данных вводятся в программу для использования в вычислениях. Для вычислений нужно иметь набор операций. Для числовых типов мы вводим стандартные арифметические операции, а для логических значений – элементарные операции логики высказываний.

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