Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции / Программирование (2).doc
Скачиваний:
84
Добавлен:
10.02.2014
Размер:
171.01 Кб
Скачать

4. Массивы. Описание одномерного массива

Массив - это структурированный тип данных, состоящий из фиксированного числа переменных. Набор переменных, входя­щих в массив, имеет один и тот же тип.

Элементы массива, объединены общим именем и занимают в компьютере определённую область памяти. Количество эле­ментов в массиве всегда конечно. Эти элементы, упорядочены таким образом, что каждому элементу соответствует совокуп­ность номеров (индексов), определяющих его местоположение в общей последовательности. Доступ к каждому отдельному эле­менту осуществляется путем индексирования элементов масси­ва. Индексы представляют собой выражения любого целого ти­па. Массив используют для хранения и обработки однородной информации, например таблиц и списков. Если за каждым элементом массива закреплен только один его порядковый номер, то такой массив называется линейным, или одномерным.

Массив описывается в разделе переменных.

Var

<имя массива>: array [тип индекса] of <mun данных>;

Пример: Var

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

Одномерный массив А содержит десять элементов, вещест­венного типа. Если несколько массивов имеют одинаковое ко­личество элементов и один и тот же тип, то в разделе описания переменных их можно перечислить через запятую:

Var

В, С: array[1...20] of integer;

По индексу определяется положение элемента в массиве. Индекс заключается в квадратные скобки и может быть целым числом

Например:

А[4] - элемент массива А находится на 4 позиции А[1] - элемент массива А находится на 1 позиции.

Индекс элемент массива можно задать выражением целого типа.

Пример: A[2i+3]

Такое задание номера элемента используют при описании некоторой последовательности.

5. Действия над элементами одномерного массива

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

А[1] : = 1;

А[2]:= 1; А[3]:=1;

for i:=1 to 3 do A[i]:=l;

2) Ввод и вывод элементов массива. Ввод/вывод эле­ментов массива осуществляется при помощи цикла for

Ввод:

for i=1 to 10 do Read(a[i]);

Вывод:

for i:=1 to 10 do Write(a[i]);

Копирование массивов (присвоение значений всех элементов одного массива соответствующим элементам другого массива).

For i:=1 to 10 do A[i]:=B[i];

4) Перестановка элементов массива осуществляется при помощи дополнительной переменной.

Пример: В массиве А нужно поменять местами второй и пятый элементами.

buffer := а[2];

а[2]:=а[5];

а[5] :=buffer;

Переменной buffer присваивается значение второго элемента массива А. Затем второму элементу присваивается значение пя­того элемента массива А. Последняя операция присваивает пя­тому элементу значение второго элемента, который мы записали в переменную buffer.

6. Описание двумерного массива. Ввод и вывод элементов двухмерного массива. Если в описании массива заданы два индекса, то это дву­мерный массив. Такой массив соответствует понятию прямо­угольной таблицы (матрицы). Чтобы определенный образом задать какую-либо ячейку двумерной таблицы, нужно указать номер строки и номер столбца.

Общий вид объявления двумерных массивов выглядит так:

Var

<Имя массива>: array[<нижняя граница масси­ва1..<верхняя граница массива1 >, <нижняя граница маси-ва2>..<верхняя граница массива2>] of<mun данных>;

Var

Matrix : array[1..5,l:.5] of integer;

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

For i:=l to 5 do

For j:=l to 5 do Read(Matrix[i,j]);

Здесь i u j - счетчики целочисленного типа (byte), объявляе­мые в разделе var. Алгоритм такого кода:

При использовании вложенных циклов последовательно идет работа с элементами первой строки, потом второй, третьей, четвертой, пятой. Вывод матрицы на экран:

For i:=l to 5 do begin

Forj: -1 to 5 do

Write(Matrix[i j],' ');

WriteLn;

End.

Соседние файлы в папке лекции