МАССИВЫ

Лабораторная работа №9

Тема работы: Работа с одномерными и двумерными массивами.

Цель работы:Приобретение практических навыков работы c одномерными и двумерными массивами.

Задание к работе:

1) изучить теоретический материал в лабораторной работе;

2) получить вариант индивидуального задания;

3) разработать алгоритм решения задачи;

4) написать и отладить программу;

5) подготовить ответы на контрольные вопросы.

Содержание отчета:

1) постановка задачи индивидуального задания;

2) программа (текст рабочего модуля);

3) результаты работы программы;

4) ответы на контрольные вопросы;

5) выводы о проделанной работе.

 

 

ТЕОРЕТИЧЕСКИЙ МАТЕРИАЛ

МАССИВЫ

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

A[5]

S[k+1]

B[3,5]

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

type
Massiv = array [1..20] of Real;
var
A, B:Massiv;
C: array [10..30] of Integer;
D: array[1..10,1..5] of byte;

В данном примере описаны одномерные массивы с именами A, B, C, D причём массивы A и B имеют элементы типа Real, порядковые индексы элементов изменяются от 1 до 20, а массив С - с элементами типа Integer, и индексами от 10 до 30. Массив D является двумерным с элементами Byte. В квадратных скобках указывается тип индекса (в приведённых примерах - это тип диапазон).

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

Массив может быть проиндексирован по каждой размерности всеми значениями соответствующего индексного типа. Поэтому число элементов равно числу значений в каждом индексном типе. Число размерностей не ограничено.

Массивы бывают одномерные и многомерные. Из многомерных наиболее часто приходится иметь дело с двумерными. Двумерные массивы хранятся в памяти ЭВМ по строкам. Двумерный массив можно представить как матрицу элементов. Описание такого массива выглядит так:

type
Matrix = array [1..20, 1..10] of Real;
var
X, Y: Matrix;
Z: array [1..10, 1..10] of Integer;

Массивы X и Y имеют двадцать строк и десять столбцов. Массив Z представляет собой квадратную матрицу размером 10X10.

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

Индексные выражения обозначают компоненты в соответствующей размерности массива. Число выражений не должно превышать числа индексных типов в описании массива. Более того, тип каждого выражения должен быть совместимым по присваиванию с соответствующим индексным типом. В случае многомерного массива можно использовать несколько индексов или несколько выражений в индексе.

Например:
X[I][J] тождественно записи: X[I,J].

Для одномерного массива обращение к элементу будет выглядеть так: Z[I]. В этом и предыдущем случае переменные I и J должна иметь значения, не превышающие диапазона индексов соответствующего массива.