ВУЗ:
Составители:
Рубрика:
3
1. Структурированные типы данных. Массивы
В предыдущих лабораторных работах мы рассматривали простые типы
данных (порядковые и вещественные). Структурированные типы данных отли-
чаются множественностью образующих их элементов. В Паскале четыре струк -
турированных типа - массивы , записи, множества и файлы.
Структура - тип данных , состоящий из компонентов. Компонент может
принадлежать структурированному типу. В Турбо Паскале возможна произ-
вольная глубина вложения типов. Максимальная суммарная длина структуры
не должна превышать 65520 байт.
Массив - это структурированный тип данных , состоящий из фиксиро-
ванного числа элементов одного типа.
Массивы можно описывать в разделе описания типов и в разделе описа-
ния переменных .
Например, массив А , состоящий из 100 целых чисел , можно описать так:
Var A : array [1..100] of Integer;
Если в программе понадобятся несколько массивов из 100 целых чисел, то
в разделе описания типов целесообразнее один раз описать нужный тип.
Type Mas = array [1..100] of Integer;
Var A, B, C : Mas;
В общем виде тип массива задается так:
< Имя типа> = array [<Список индексных типов>] of <Тип>;
<Имя типа> - идентификатор .
<Тип> - тип элементов массива, который может являться любым типом
Турбо Паскаля.
<Список индексных типов> - список из одного или нескольких по-
рядковых типов, разделенных запятыми.
В список индексных типов нельзя включать тип LongInt, а также его диа-
пазоны .
Каждый элемент списка задает диапазон варьирования индекса.
Индекс - выражение порядкового типа, по значению которого осуществ-
ляется доступ к элементу массива.
Например, 25-му элементу описанного ранее массива А присвоим значение
0: A[25]:= 0;
Если список индексных типов состоит из n типов, то доступ к элементу
массива осуществляется по n индексам, разделенным запятыми.
Например, опишем двумерный массив S, состоящий из трех строк и пяти
столбцов, элементами которого являются вещественные числа:
Var S : array [1..3,1..5] of Real;
Присвоим значение 0 элементу, стоящему в третьей строке и четвертом
столбце: S [3,4]:= 0;
Массив называется регулярным типом, потому что в нем объединены
логически однородные элементы , упорядоченные по индексам, определяющим
3 1. С труктуриро ва нны е тип ы д а нны х. М а с с ивы В предыдущ их лабораторных работах мы рассматривали простые типы данных (п оряд к ов ы еи в ещ ест в енны е). С труктурированные типы данных отли- чаю тсямножественность ю образую щ их их э лементов. В П аскале четыре струк- турированных типа- массивы, записи, множестваи ф ай лы. С труктура - тип данных , состоящ ий изкомпонентов. Компонент может принадлежать структурированномутипу. В Т урбо П аскале возможнапроиз- воль наяглубинавложениятипов. М аксималь наясуммарнаядлинаструктуры не должнапревышать 65520 б а йт. М а с с ив - э то структурированный тип данных , состоящ ий изф иксиро- ванного числаэ лементоводного типа. М ассивы можноописывать вразделе описаниятипови вразделе описа- нияпеременных . Н апример, массивА , состоящ ий из100 целых чисел, можно описать так: Var A : array [1..100] of Integer; Е сли впрограмме понадобятсянесколь ко массивовиз100 целых чисел, то вразделе описаниятиповцелесообразнее один разописать нужный тип. Type Mas = array [1..100] of Integer; Var A, B, C : Mas; В общ емвиде тип массивазадаетсятак: <Имя типа> = array [<Список индексных типов>] of <Тип>; <Имя типа> - идентиф икатор. <Тип> - тип э лементовмассива, который можетявлять сялю бымтипом Т урбо П аскаля. <Список индексных типов> - списокизодного или несколь ких по- рядковых типов, разделенных запятыми. В сп и сок и нд ек сны х т и п ов нель зяв к лючат ь т и п LongInt, а т ак же его д и а- п азоны . К аждый э лементсписказадаетдиапазон варь ированияиндекса. И нд екс - выражение порядкового типа, по значению которого осущ еств- ляетсядоступ кэ лементумассива. Н апример, 25-муэ лементуописанного ранее массиваА присвоимзначение 0: A[25]:= 0; Е сли списокиндексных типовсостоит из n типов, то доступ кэ лементу массиваосущ ествляетсяпоn индексам, разделеннымзапятыми. Н апример, опишемдвумерный массивS, состоящ ий изтрех строки пяти столбцов, э лементами которого являю тсявещ ественные числа: Var S : array [1..3,1..5] of Real; П рисвоимзначение 0 э лементу, стоящ емувтреть ей строке и четвертом столбце: S [3,4]:= 0; М ассивназывается регул ярны м тип о м , потомучто внемобъединены логически однородные э лементы, упорядоченные по индексам, определяю щ им