Учебно-методическое пособие. Алматы, 2017 ббк


Двухмерный массив (матрица)



бет55/106
Дата03.01.2022
өлшемі483.39 Kb.
#451845
түріУчебно-методическое пособие
1   ...   51   52   53   54   55   56   57   58   ...   106
УЧЕБНИКПаскаль(100217)

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











Направление изменения второго индекса

Направление изменения первого индекса




1

2

3

.

.

.

.

N




1




























2




























3

























































M
































































Рис 2.6.








Трехмерный массив , n - мерный массив. Кроме одномерных и двухмерных массивов встречаются и трехмерные и n-мерные массивы. Если трех мерный массив еще можно изобразить на плоскости (Рис 2.7.), то n-мерный массив изобразить на двумерной плоскости затруднительно. Это связано с тем, что мы живем с вами в пространстве трех измерений. Несмотря на это многомерные массивы часто используются в научных и экономических расчетах.

Рис 2.7.


2.7.2.Описание массива

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

Описание массива, как и всех переменных, производится в блоке описания Var. Для этого используется зарезервированное слово array. Описание массива выглядит так:

Одномерный массив

Massiv1 : array [n1..n2] of тип переменной;

Двухмерный массив

Massiv2 : array [m1..m2,n1..n2] of тип переменной;

Трехмерный массив

Massiv3: array [m1..m2,n1..n2,p1..p2] of тип переменной;
Где Massiv1, Massiv2, Massiv3 – имена массивов,

m1..m2,n1..n2,p1..p2 – пределы изменения индексов массива,

тип переменной – тип элементов массива.
Имя массива является единым для всех его элементов.

Нижний предел изменения индексов, как правило, принимают за 1.

Одномерный массив

Massiv1 : array [1..n] of тип переменной;

Двухмерный массив

Massiv2 : array [1..m,1..n] of тип переменной;

Трехмерный массив

Massiv3 : array [1..m,1..n,1..p] of тип переменной;

Разность между верхним и нижним индексом плюс 1 и есть максимально возможное количество элементов с данным индексом.

Тип элемента массива может быть как любым простым типом (real, integer, char,..), так и составным типом (массивом, записью,..).

Общее количество памяти, выделяемое для данного массива, есть произведение объема памяти, занимаемой одним элементом массива, в зависимости от его типа, на общее количество элементов массива, которое определяется как произведение максимально возможного количества элементов по всем индексам

2.7.3. Нахождение максимального элемента в массиве

Попробуем решить нашу задачу, поставленную в параграфе 2.7.1. Для начала нам надо описать массив чисел, который вы будете вводить с клавиатуры. Как мы говорили числа целые и их не более 40. Выделим память для хранения переменных: счетчика, конкретного количества чисел которое вы будете вводить и значения минимального элемента.


Program Primer_8; {программа нахождение минимального по величине числа в массиве}

var


Chislo :array [1..40] of integer;

i,n, resultat: integer;


Использование массива позволяет упростить текст программы для ввода данных
procedure init;

begin


write ('input n -');

readln (n); {ввод количества чисел}

for i:=1 to n do

begin


write ('input Chislo[',i,']=');

readln (Chislo[i]);

end;

end;
Обратите внимание на процедуру write('input Chislo[',i,']=') , использование такой конструкции позволяет выводить не только приглашение ввода нового элемента, но и за счет изменения значения счетчика помогает не запутаться с вводом значения конкретного элемента.



После ввода исходных данных, приступим к основной работе: поиску элемента с минимальным значением. Для этого воспользуемся искусственным приемом: Будем считать, что первый элемент и является элементом с минимальным значением. Действительно, если в массиве нет других элементов, то так оно и есть. В переменную с именем resultat поместим значение первого элемента. Если элементов в массиве несколько сравним значение переменной resultat со значением второго элемента массива. Если значение второго элемента меньше значения переменной resultat , то поместим в переменную resultat значение второго элемента, иначе оставим значение resultat без изменения. Будем повторять эти действия, пока не просмотрим все элементы массива:
procedure work;

begin


resultat:= Chislo[1];

for i:=2 to n do

if Chislo[i]< resultat then

resultat:= Chislo[i];

end;
Нам остается вывести результат на экран, в этом затруднений, наверное, не будет. Текст модуля такой же, как и для программы Primer_7. Текст тела программы так же не изменился.



Достарыңызбен бөлісу:
1   ...   51   52   53   54   55   56   57   58   ...   106




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет