Типы данных, определяемые программистом
Перечисляемый тип
До этого момента в программах использовались стандартные типы данных: integer, Real, Char, string и Boolean. Вместе с тем, язык Delphi позволяет программисту определить свой собственный тип данных, а затем данные этого типа использовать в программе.Интервальный тип
Интервальный тип является отрезком или частью другого типа, называемого базовым. В качестве базового обычно используют целый тип данных (integer). | При объявлении интервального типа указываются нижняя и верхняя границы интервала, т. е.Запись. Объявление записи.
В практике программирования довольно часто приходится иметь дело с данными, которые естественным образом состоят из других данных. Например, сведения об учащемся содержат фамилию, имя, отчество, число, месяц и год рождения, домашний адрес и другие данные.Инструкция with
Инструкция with позволяет использовать в тексте программы имена полей без указания имени переменной-записи. В общем виде инструкция with выглядит следующим образом: | with Имя do | begin | (инструкции программы } | end; | Где: | Имя – имя переменной-записи;Ввод и вывод записей в файл. Вывод записи в файл.
Записи можно хранить в файле. Для того чтобы программа могла сохранить значение переменной-записи в файле или ввести его из файла, необходимо объявить файл, указав в качестве типа его компонентов тип "запись". Например, инструкции: | type | ТРеrson = record | f_riame: string [20]; | l_name: string [20];Чтение записи из файла
Рассмотрим программу, демонстрирующую процесс чтения и обработки записей файла. Программа Чтение записей из файла, диалоговое окно которой представлено на рис.Динамические структуры данных. Указатели.
До этого момента мы работали только с данными, имеющими статическую, неизменяемую во время исполнения программы, структуру. Во время работы программы могли изменяться только значения переменных, в то время как количество переменных всегда оставалось постоянным (отсюда и название – статические структуры). Это не всегда удобно.Динамические переменные
Динамической переменной называется переменная, память для которой выделяется во время работы программы. | Выделение памяти для динамической переменной осуществляется вызовом процедуры new. У процедуры new один параметр – указатель на переменную того типа, память для которой надо выделить.Списки. Упорядоченный список.
Указатели и динамические переменные позволяют создавать сложные динамические структуры данных, такие как списки и деревья. | Список можно изобразить графически (рис. 8.6). | Рис. 8.6. Графическое изображение списка | Каждый элемент списка (узел) представляет собой запись, состоящую из двух частей.Добавление элемента в список
Добавление элемента в список выполняется путем корректировки указателей. Для того чтобы добавить элемент в упорядоченный список, нужно сначала найти элемент, после которого требуется вставить новый. Затем следует скорректировать указатели.Удаление элемента из списка
Для того чтобы удалить узел, необходимо скорректировать значение указателя узла, который находится перед удаляемым узлом (рис. 8.12). | Рис. 8.12. Удаление элемента из списка | Поскольку узел является динамической переменной, то после исключения узла из списка занимаемая им память должна быть освобождена.