Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
62
Добавлен:
28.01.2014
Размер:
16.61 Кб
Скачать

25. Массивы

Массивы представляют собой ограниченную упорядоченную совокупность однотипных величин. Каждая отдельная величина называется компонентой массива. Тип компонент может быть любым, принятым в языке ПАСКАЛЬ, кроме файлового типа. Тип компонент называется базовым типом. Вся совокупность компонент определяется одним именем. Для обозначения отдельных компонент используется конструкция, называемая переменной с индексом или с индексами:

A[5] S[k+1] B[3,5].

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

В операторной части программы один массив может быть присвоен другому, если их типы иден- тичны, например:

R1:=Z.

Для ввода или вывода массива в список ввода или вывода помещается переменная с индексом, а операторы ввода или вывода выполняются в цикле. Первый индекс определяет номер строки, второй - номер столбца. Двумерные массивы хранятся в памяти ЭВМ по строкам. Инициализация массивов (присвоение начальных значений всем компонентам массивов) осуществляется двумя cпособами. Первый способ - с использованием типизированных констант, например:

type Dim10= Array[1..10] of Real;

const raM10: Dim10 = ( 0, 2.1, 4, 5.65, 6.1, 6.7, 7.2, 8, 8.7, 9.3 );

При инициализации двумерных массивов значения компонент каждого из входящих в него одномерных массивов записывается в скобках:

type Dim3x2= Array[1..3,1..2] of Integer;

const iaM3x2: Dim3x2= ( (1, 2) (3, 4) (5, 6) );

Второй способ инициализации - использование разновидности процедуры FillChar:

FillChar( var V; NBytes: Word; B: Byte );

Эта процедура заполняет участок памяти однобайтовым значением. Например, для обнуления массива A[1..10] of Real можно записать:

FillChar(A, 40, 0);

или

FillChar(A, SizeOf(A), 0);

МАССИВ

Под структурой данных типа массив понимают однородную структуру однотипных данных, одновременно хранящихся в последовательных ячейках оперативной памяти. Эта структура должна иметь имя и определять заданное количество данных (элементов). Однотипность данных определяет возможность использования циклических алгоритмов для обработки всех элементов массива. Количество итераций цикла определяется количеством элементов массива. Одновременное хранение в памяти всех элементов массива позволяет решать большой набор задач, таких как, поиск элементов, упорядочение и изменение порядка следования элементов.

Доступ к любому элементу массива осуществляется по его номеру ( индексу ). Поэтому для обращения к элементу массива используют имя_массива(номер элемента), например, А(5).

Если за каждым элементом массива закреплен только один его порядковый номер, то такой массив называется линейным. Вообще количество индексов элементов массива определяет размерность массива. По этом признаку массивы делятся на одномерные (линейные), двумерные, трёхмерные и т.д.

ОДНОМЕРНЫЕ МАССИВЫ

В информатике и математике массив называется одномерным ,если для получения доступа к его элементам достаточно одной индексной переменной. Так, чтобы найти в шкафу с одним рядом ящиков нужный Вам ящик, достаточно знать его номер и точку начала отсчета.

В ТП 7.0 Вы можете объявить одномерный массив следующим образом:

VAR

имя массива:ARRAY[нач индекс..кон индекс] OF тип данных; ПРИМЕРЫ: var a:array[1..5] of byte; b:array[1..3 of char; z:array['d'..'g']OF integer;

Величины, соответствующие начальному и конечному индексам ,т.е. значения, указанные в квадратных скобках ,разделяются двумя точками.

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

1)границы изменения индексов необходимо открыть либо в самом описании мас ва,либо до его описания;

2)максимальный объем памяти выделенной под массив не должен превышать 64kБ.

Пример 7.1. Вычислить сумму элементов массиваprogram a8;

var

a:array[1..10]of real;

i:integer;

c:real;

begin

c:=0;

writeln('Вычислить сумму элементов массива');

writeln(' Введите 10 элементов массива');

for i:=1 to 10 do

begin

write(i,' элемент= ');

readln(a[i]);

c:=c+a[i];

end;

writeln('Сумма элементов массива = ',c);

writeln('Для окончания работы нажмите enter');

readln;

readln;

end.

Массив — это пронумерованная последовательность величин одинакового типа, обозначаемая одним именем. Элементы массива располагаются в последовательных ячейках памяти, обозначаются именем массива и индексом. Каждое из значений, составляющих массив, называется его компонентой (или элементом массива).

Массив данных в программе рассматривается как переменная структурированного типа. Массиву присваивается имя, посредством которого можно ссылаться как на массив данных в целом, так и на любую из его компонент.

Вообще, массив – однородный, упорядоченный структурированный тип данных с прямым доступом к элементам.

Переменные, представляющие компоненты массивов, называются переменными с индексами в отличие от простых переменных, представляющих в программе элементарные данные. Индекс в обозначении компонент массивов может быть константой, переменной или выражением порядкового типа (целочисленный, логический, символьный, перечислимый, диапазон).

Если за каждым элементом массива закреплен только один его порядковый номер, то такой массив называется линейным. Вообще количество индексов элементов массива определяет размерность массива. По этом признаку массивы делятся на одномерные (линейные), двумерные, трёхмерные и т.д.

Пример: числовая последовательность четных натуральных чисел 2, 4, 6, ..., N представляет собой линейный массив, элементы которого можно обозначить А[1]=2, А[2]=4, А[3]=6, ..., А[К]=2*(К+1), где К — номер элемента, а 2, 4, 6, ..., N — значения. Индекс (порядковый номер элемента) записывается в квадратных скобках после имени массива.

Соседние файлы в папке краткие шпоры