Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Обработка массивов.doc
Скачиваний:
7
Добавлен:
01.04.2025
Размер:
502 Кб
Скачать
☆

Теоретический материал по массивам Понятие массива

Чтобы определить понятие «массив», сначала необходимо определить понятие «простая переменная».

Простая переменная – это одно значение, имеющее имя и занимающее одну ячейку памяти. Размер этой ячейки зависит от типа переменной.

Например:

Var

X:Real; {простая переменная X, занимает 6 байт памяти}

N:Integer; {простая переменная N, занимает 2 байта памяти}

Обращение к простой переменной производится через ее имя.

Например:

X:=10.4; {X присвоили значение 10.4}

N:=round(X)+5; {N присвоили значение округленного до целого X (а это 10) + 5= 10+5=15}

Массив, в отличии от простой переменной, представляет собой не одно значение, а множество значений, объединенных одним именем. В языке Turbo Pascal’е все значения из этого множества должны иметь один и тот же тип.

Каждое из значений массива называется элементом массива.

Доступ к элементам массива производится посредством указания имени массива и номера элемента массива, заключенного в квадратные скобки.

Номер элемента массива называется индексом элемента массива.

Использование элемента массива не отличается от использования простой переменной, имеющей тот же тип, что и элемент массива.

В Turbo Pascal’е массив объявляется при помощи ключевого слова array, после которого в квадратных скобках указываются границы индексов – верхняя, а после двух точек нижняя.

После квадратных скобок после ключевого слова of указывается тип элементов массива.

Пример определения массивов:

Var

A: Array [1..10] of integer; {массив A, состоящий из 10 элементов целого типа с индексами от 1 до 10}

B: Array [5..8] of real; {массив B, состоящий из 4 элементов вещественного типа с индексами от 5 до 8}

Пример работы с массивами:

Begin

A[1]:=3; {в элемент массива A с индексом 1 записали число 3}

A[4]:=A[1]+1; {в элемент массива A с индексом 4 записали число 3+1=4}

B[5]:=0.111; {в элемент массива B с индексом 5 записали число 0.111}

B[A[1]+A[4]]:=B[5]*2; {в элемент массива B с индексом = A[1]+A[4]=3+4= 7 записали число 0.222}

End.

Индексы массива

В качестве индекса массива можно использовать любой порядковый тип, кроме типа Longint. Напомним, что порядковый тип – это тип, все значения которого можно перечислить. К таким типам относятся все целые типы(integer, shortint, longint, byte, word), все логические (boolean, wordbool, longbool, bytebool), символьный тип (char), перечисляемые типы и типы-диапазоны.

Примеры использования в качестве индексов порядковых типов:

Var {примеры объявления массивов}

A: Array [Byte] of integer; {массив A, состоящий из 256 элементов, нижняя граница индекса 0, верхняя 255}

B: Array [Char] of real; {массив B, состоящий из 256 элементов, нижняя граница индекса #0(символ с кодом 0), верхняя граница индекса #255(символ с кодом 255)}

i:Byte; {переменная, используемая как индекс массива A}

c:Char; {переменная, используемая как индекс массива B}

Begin {примеры обращения к элементам массива}

A[45]:=0; {В элемент массива A, имеющий индекс 45, записали 0}

B[‘t’]:=2.4; {В элемент массива B, имеющий индекс ‘t’, записали 2.4}

i:=200; {i присвоили значение 200 }

c:=’#’; {c присволили значение ‘#’ }

A[i]:=23400; {В элемент массива A, имеющий индекс i=200, записали 23400}

B[c]:=123.456; {В элемент массива B, имеющий индекс c=’#’, записали 123.456}

End.

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

Например:

Var {примеры объявления массивов}

C: Array [-10..5] of integer; {массив C, состоящий из 16 элементов, нижняя граница индекса -10, верхняя 5}

D: Array [‘A’..’Z’] of char; {массив D, состоящий из 26 элементов, нижняя граница индекса ’A’, верхняя граница индекса ‘Z’}

j: -10..5; {переменная, используемая как индекс массива C}

c1: ‘A’..’Z’; {переменная, используемая как индекс массива D}

k: integer; {эту переменную можно использовать в качестве индекса массива C, т.к. –10..5 – это диапазон значений целого типа}

c2: char; {эту переменную можно использовать в качестве индекса массива D, т.к.’A’..’Z’ – это диапазон значений символьного типа}

begin {примеры обращения к элементам массивов}

C[-4]:=3;

D[‘F’]:=’%’;

j:=4; C[j]:=-10;

c1:=’R’; D[c1]:=’q’;

k:=-3; C[k]:=80;

c2:=’G’; D[c2]:=’Й’;

end.

Чаще же всего используют диапазон значений целого типа, причем нижний индекс обычно берут равным 1.

Например:

Var

E: Array [1..10] of integer; {массив E, состоящий из 10 элементов, нижняя граница индекса 1, верхняя 10}