
Ответы на контрольные вопросы
1.Двумерный
массив (матрица)–
одномерный массив, элементы которого
также являются одномерными массивами.
Матрица имеет вид:
.
Элемент массива – величина, входящая в состав массива.
Индекс – порядковый номер строки или столбца в двумерном массиве.
Двумерные
массивы обычно обозначаются так:
;
, где
A
– массив; m
– количество строк; n
– количество столбцов; i
– индекс строки; j
– индекс столбца; aij
– элемент массива A
в i-й
строке и j-м
столбце.
2. Описание двумерного массива в разделе описания переменных (var) на языке Pascal имеет вид:
Mas : array [ IMin .. IMax , JMin .. JMax ] of T
Это означает, что переменная Mas является массивом, который может иметь индексы строк от IMin до IMax , индексы столбцов от JMin до JMax , а также состоит из элементов типа T .
Пример. Var A:array[1..10,1..15] of real;
Это означает, что A – массив, который может содержать от 1 до 10 строк и от 1 до 15 столбцов из элементов вещественного типа.
Доступ к элементу двумерного массива на языке Pascal имеет вид:
Mas [ Ind1 , Ind2 ]
Это означает доступ к элементу массива Mas с индексом строки Ind1 и индексом столбца Ind2.
Пример. a[1,1]; b[i,j].
Это означает элемент массива A в 1-й строке и 1-м столбце, элемент массива B в i-й строке и j-м столбце.
3.
Матрица
называется квадратной,
если у неё количество строк равно
количеству столбцов (
).
Рассмотрим
квадратную матрицу:
. У ней
4. Фрагменты вычисления характеристик строк и столбцов двумерного массива
Характеристика |
Для каждой строки |
Для каждого столбца |
s |
for i:=1 to m do begin s[i]:=0; for j:=1 to n do s[i]:=s[i]+A[i,j]; end; |
for j:=1 to n do begin s[j]:=0; for i:=1 to m do s[j]:=s[j]+A[i,j]; end; |
p |
for i:=1 to m do begin p[i]:=1; for j:=1 to n do p[i]:=p[i]*A[i,j]; end; |
for j:=1 to n do begin p[j]:=1; for i:=1 to m do p[j]:=p[j]*A[i,j]; end; |
max |
for i:=1 to m do begin max[i]:=A[i,1]; for j:=1 to n do if A[i,j]>max[i] then max[i]:=A[i,j]; end; |
for j:=1 to n do begin max[j]:=A[1,j]; for i:=1 to m do if A[i,j]>max[j] then max[j]:=A[i,j]; end; |
min |
for i:=1 to m do begin min[i]:=A[i,1]; for j:=1 to n do if A[i,j]<min[i] then min[i]:=A[i,j]; end; |
for j:=1 to n do begin min[j]:=A[1,j]; for i:=1 to m do if A[i,j]<min[j] then min[j]:=A[i,j]; end; |
Фрагменты вычисления характеристик одномерного массива
Характеристика |
Для всех элементов ai |
Для
части
элементов
|
1.Сумма s |
s:=0; for i:=1 to n do s:=s+A[i]; |
s:=0; for i:=1 to n do if A[i]>z then s:=s+A[i]; |
2.Количество k |
k:=n; |
k:=0; for i:=1 to n do if A[i]>z then k:=k+1; |
3.Произведение p |
p:=1; for i:=1 to n do p:=p*A[i]; |
p:=1; for i:=1 to n do if A[i]>z then p:=p*A[i]; |
4.Максимальное значение max |
max:=A[1]; for i:=2 to n do if A[i]>max then max:=A[i]; |
max:=-1E10; for i:=1 to n do if (A[i]>max) and (A[i]>z) then max:=A[i]; |
min |
min:=A[1]; for i:=2 to n do if A[i]<min then min:=A[i]; |
min:=1E10; for i:=1 to n do if (A[i]<min) and (A[i]>z) then min:=A[i]; |
sr |
s:=0; for i:=1 to n do s:=s+A[i]; sr:=s/n; |
s:=0; k:=0; for i:=1 to n do if A[i]>z then begin s:=s+A[i]; k:=k+1; end; sr:=s/k; |