Program UsingEnumerateds; Type
TColor = (Black, White, Red); {Описание перечислимого типа TColors. Диапазоном значений переменных этого типа являются три константы — Black, White, Red; значения этих констант не известны, но их можно использовать по именам} Var Color: TColor;{Описание перечислимого типа данных} Begin Color := White;{Присвоение переменной Color значение White} End. Перечислимые типы данных используются, в основном, для повышения читабельности программы и привлечения внимания к возможным значениям какого-либо параметра программы. Обратим внимание на то, что в стандартных компонентах и подпрограммах Delphi крайне широко используются перечислимые типы. 2.3.3. Множества Типы данных «множества» аналогичны перечислимым и интервальным типам данных, однако переменные множественных типов могут иметь несколько значений из описанного перечисления в каждый момент времени работы программы, причем каждое значение не может присутствовать в множестве дважды в одно и то же время. Описание переменной множественного типа выглядит следующим образом: <Переменная>: SetOf <Перечислимый тип>; Аналогично можно описать множество на основе интервального типа: <Переменная>: SetOf <Интервальный тип>; Для присвоения значения переменной множественного типа используется специальный оператор — конструктор множества [ ]: <Переменная> := [Оначение 1>, . . . , Оначение п>] ; В качестве Значенийможет быть использовано любое значение из множества, на основе которого создан данный тип. Рассмотрим пример описания и использования переменной-множества, основанной на перечислимом типе данных (см. листинг 2.4). Листинг 2.4. Пример описания и использования переменной-множества Program UsingSets; Type TColors = Set Of (Black, White, Red); {описание множественного типа данных TCoiors. В качестве значений переменных данного типа в любой момент времени выполнения программы может быть любое сочетание констант Black, White и Red} Var Colors: TColors; {описание переменной множественного гиг.а данных TColors} Begin Colors:= [Black, Red]; {присвоение переменной Colors множества, состоящего из двух элементов — Black и Red}
Colors := []; {присвоение переменной Colors пустого множества} Colors:= [White];{присвоение переменной Colors множества, состоящего из одного элемент.а — White} End.
При работе с множествами используются следующие понятия: ♦ Объединениемдвух множеств называется множество, содержащее элементы, как первого, так и второго множеств. Для объединения множеств используется оператор «+». Например, после выполнения команды Colors := [Black] + [Red], В переменной Colors будет содержаться множество [Black, Red]. ♦ Пересечениемдвух множеств называется множество, содержащее элементы, включенные в оба множества. Для пересечения множеств используется оператор «*». Например, после выполнения команды Colors := [Black, Red] * [Black, White], В переменной Colors будет содержаться множество из одного элемента Black. ♦ Разностьюдвух множеств называется множество, содержащее элементы первого множества (уменьшаемого), не содержащиеся во втором множестве. Для определения разности множеств используется оператор «-». Например, после выполнения команды Colors : = [Black, Red] - [Black, White], в переменной Colors будет содержаться множество из одного элемента Red. ♦ Пустыммножеством называется множество, не содержащее элементов. Для присвоения переменной множественного типа пустого множества может использоваться обычный конструктор множества. Например, после выполнения команды Colors := [] в переменной Colors не будет содержаться ни одного элемента. Множество станет пустым, если вычесть из него множество, содержащее все возможные элементы. Например, после выполнения команды Colors := Colors - [Black, White, Red] множество Colors будет пустым вне зависимости от своего начального состояния. 2.3.4. Записи Запись является типом данных5 и описывается в разделе описания типов данных Туре. После описания типа данных его можно использовать для создания переменных этого типа в обычном порядке. Описание записей как типов данных имеет следующий вид:
Туре{начало раздела описания типов данных} <Имя типа>=Record{заголовок описания записи} <Имя переменной 1>: <Тип>; {описание "поля» записи} <Имя переменной п>: <Тип>; {описание "поля» записи} end;{окончание описания типа} Таким образом, запись, как переменная, состоит из набора разнородных переменных, называемых полямизаписи, каждая из которых имеет свое уникальное имя в пределах записи. В качестве Типов переменных, описываемых внутри записи, могут использоваться любые типы данных, встроенные в Delphi или описанные в программе до описания данной записи, в том числе массивы и другие записи. Описание переменных-записей, или, как их принято называть, экземпляров записей,осуществляется по обычным правилам в разделе описания переменных Var. Обращаться к экземплярам записей в программе можно двумя способами — как к совокупностям полей, то есть к записям в целом, так и к отдельным полям конкретной записи. Для работы с записями в целом определена всего одна операция — присвоение. При этом поля одной записи присваиваются полям другой записи, то есть копируются в них. Для обращения к какому-либо конкретному полю записи используется имя этой записи и имя поля в его составе, разделенные точкой: <Имя переменной-экземпляра записи>.<Имя поля> С полями экземпляров записей можно производить любые операции, допустимые для типа данных этого поля, то есть указывать в качестве параметров процедур и функций, использовать как операнды для арифметических и логических операторов, и так далее. Приведем небольшой пример (листинг 2.5). Листинг 2.5. Работа с записями Program UsingRecords; Type {начало раздела описания типов данных} Thuman= Record {заголовок описания записи) FirstName: String;{описание поля записи с именем FirstName} {описание поля записи с именем LastName} {описание поля записи с именем Age} {окончание описания типа} Lastame: String; Age: Integer; end; Var Human1:Thuman; Human2: Thuman;
{Описание переменной — записи типа THuman с именем Human1} {Описание переменной — записи типа THuman с именем Human2} Begin Humanl.FirstName = 'Michael';{Изменение поля FirstName переменной Humanl} Human2 := Humanl;{Копирование значений всех полей записи Humanl в поля записи Human2. Таким образом поле FirstName записи Human2 станет иметь значение 'Michael'} End. 2.3.5. Массивы Массив— это поименованная область памяти, доступ к отдельным частям которой осуществляется по общему имени и индексу соответствующей части. Все части (элементы) массива имеют один и тот же тип, в качестве которого может выступать любой из стандартных или нестандартных типов, описанных к моменту объявления массива. В частности, элементы массива также могут являться массивами. Такие структуры называются многомерными. Описание массива производится в разделе описания типов данных (после ключевого слова Туре) и выглядит следующим образом: <Наззание массива> = Array [<Нижнийиндекс>..<Верхний индекс>] Of <Тип элементов>; Program DeclareArrayTypesl; Type MyArray Begin End. {Начало раздела описания типов данных) Array [5..150] Of Integer; {Описание типа данных — массива с именем MуАrrау, состоящего из 14 6-ти элементов, пронумерованных от 5-ти до 150-ти, каждый из которых имеет тип Integer} С момента такого описания тип MyArray может использоваться наравне с остальными типами данных, известными компилятору, например, для описания двухмерного массива: Program DeclareArrayTypes2; Туре{Начало раздела описания типов данных) MyArray = Array [5..150] Of Integer; {Описание типа данных — массива с именем MyArray, состоящего из 146-ти элементов, пронумерованных от 5-ти до 150-ти, каждый из которых имеет тип Integer) MyArray2D = Array [1..10] Of MyArray; {Описание типа данных — массива с именем MyArray2D, состоящего из 10-ти элементов, пронумерованных от 1 до 10-ти, каждый из которых представляет собой массив типа MyArray} Begin End. Многомерный массив можно также описать без использования вспомогательных типов, просто указав в квадратных скобках через запятую пределы изменения индексов для каждого измерения массива: Туре MyArray2D = Array [1..10, 5..150] Of Integer; {Описание двухмерного массива) Описание переменной, представляющей собой массив, происходит по обычным правилам описания переменных: Туре MyArray2D = Array [1..10, 5..150] Of Integer; {Описание двухмерного массива) Var Array2D: MyArray2D; {Описание переменной-массива} Для обращения к элементу массива-переменной, ее индекс (индексы в случае многомерных массивов) указываются в квадратных скобках после имени переменной:
Популярное: Как построить свою речь (словесное оформление):
При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою... Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы... Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение... ©2015-2020 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (471)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |