Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
11_Лекция_Двумерн_мас_Р.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
199 Кб
Скачать
☆

Напомним:

объем сегмента памяти, где будут храниться данные Pascal-программы, представляет для Turbo Pascal 64 Кбайт, Object Pascal – 2 Гбайт. Поэтому есть ограничения на количество элементов массива. Размер памяти можно рассчитать: произведение количества элементов массива на размер одного элемента в байтах.

Естественной формой изображения двумерного массива является таблица.

Пример: на рисунке изображен массив, который объявлен как

var а: array [1..2, 1..3] of byte;

Направление увеличения

второго индекса

1

2

3

Направление увеличения

первого индекса

1

a11

a12

a13

2

a21

a22

a23

Естественное изображение двумерного массива отличается от его изображения в оперативной памяти, ведь оперативная память линейная.

1-я строка

2-я строка

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

Пример:

var а: array [1..2, 1..3] of byte;

begin

//Инициализация двумерного массива

a[1,1]:=1;a[2,1]:=2; a[2,3]:=3;a[1,2]:=4; a[2,2]:=5; a[1,3]:=6;

end.

В этом случае в памяти последовательно будут размещены значения 1, 4, 6, 2, 5, 3, а не 1, 2, 3, 4, 5, 6.

=

=

=

=

=

=

1-я строка

2-я строка

Размер оперативной памяти определяется при объявлении двумерного массива и не изменяется во время работы с ним.

БАЗОВЫЕ ОПЕРАЦИИ ОБРАБОТКИ ДВУМЕРНЫХ МАССИВОВ

Двумя простейшими операциями над элементами двумерного массива является выбор определенного элемента и изменение его значения.

Для того чтобы в программе использовать элемент двумерного массива, надо выполнить операцию индексирования [ ]. Указываются: имя массива и индексы в квадратных скобках. Первый индекс это номер строки, второй – номер столбца, в которых находится элемент. Между индексами ставится запятая.

Имя [индекс1, индекс2]

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

Например,

а[2,3] – элемент второй строки третьего столбца матрицы а.

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

Например:

b[5,1]:=3.2;{Элементу пятой строки первого столбца матрицы b присваивается значение 3.2}

c[4,3]:=’C’;{Элементу четвертой строки третьего столбца матрицы присваивается значение ‘C’}

Изменить значение элемента массива можно с помощью операции ввода данных:

readln(a[1,1]); {В элемент массива a[1,1] считывается новое значение}

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

Перечень базовых операций над матрицами:

  • ввод или инициализация матриц;

  • вывод матриц;

  • поиск максимального или минимального элемента матрицы;

  • поиск элемента по определенному критерию;

  • определить имеет ли матрица (ее один или несколько элементов, строка, столбик) указанное свойство;

  • выполнение определенных операций над компонентами матриц (перестановка строк и столбцов и т.д.) или над матрицами в целом (умножение матриц и т.д.);

  • преобразование матрицы нужным способом.