Алгоритмы на языке Паскаль




Конспект Двумерные массивы

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

Формат записи

<имя>: array [н_индекс_1..в_индекс_1, н_индекс_2..в_индекс_2] of <тип>

Var

A: array[1..n,1..m] of integer;

Const

Для того чтобы использовать элемент массива, надо указать имя массива и индекс элемента. Первый индекс соответствует номеру строки, второй – номеру столбца. Например:

for i:=1 to n do
for j:=1 to n do
a[i,j]:= random (100);

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

const a:mas= ((2,3,1,0),
(1,9,1,3),
(3,5,7,0));

Аналогом массивов языка Паскаль в математике являются матрицы. Матрица, у которой число строк равно числу столбцов, называется квадратной. A(n,n) – квадратная матрица

Основные свойства квадратных матриц:

1. Квадратные матрицы имеют главную и побочные диагонали. Например, для матрицы А на главной диагонали лежат элементы 1,5 и 9, а на побочной – 3, 5 и 7.

.

Если:

i=j – элементы расположены на главной диагонали;
i> j – элементы расположены ниже главной диагонали;
i<j – элементы расположены выше главной диагонали;
i?j – элементы расположены на главной диагонали и ниже;
i+j= n+1– элементы расположены на побочной диагонали;
i+j< n+1– элементы расположены над побочной диагональю;
i+j> n+1– элементы расположены под побочной диагональю;

2. Квадратная матрица, у которой все элементы, исключая элементы главной диагонали, равны нулю, называется диагональной матрицей

.

3. Диагональная матрица, у которой все элементы, стоящие на главной диагонали, равны 1, называется единичной матрицей

4. Если в матрице A (m,n) поменять местами строки и столбцы, то получится матрица At (m,n), которая называется транспонированной матрицей.

Основные действия, которые можно выполнять над матрицами

  • суммировать;
  • находить разность;
  • произведение матрицы на некоторое число;
  • произведение двух матриц.

Типовые алгоритмы обработки матриц на языке Паскаль

  1. Вывод матрицы в виде таблицы:

for i:= 1 to n do
begin
for j:= 1 to m do
write (a[i,j]:4);
writeln
end;

  1. Использование генератора случайных чисел:

randomize;
for i:=1 to m do
begin
for j:=1 to n do
begin
a[i,j]:=random(100)-10;
write(a[i,j]:4);
end;
writeln;
end;

  1. 2-ой способ вывода матрицы в виде таблицы:

for i:= 1 to n do
for j:= 1 to m do
if j>m then write (a[i,j]:4)
else writeln (a[i,j]:4);

  1. Суммирование матриц:

for i:= 1 to n do
begin
for j:= 1 to m do
c[i,j]:=a[i,j]+ b[i,j]
end;

  1. Транспонирование матрицы – зеркальное отражение ее элементов относительно главной диагонали. Сделать это можно, введя новый массив:

for i:= 1 to n do
for j:= 1 to n do
b[i,j]= a[j,i];

Алгоритмы на языке Паскаль

  1. Написать программу, которая для целочисленной матрицы 3х4 определяет среднее арифметическое ее элементов и количество положительных элементов в каждой строке. Приложение 2
  2. Написать программу, которая для прямоугольной целочисленной матрицы 3х4 определяет номер самого левого столбца, содержащего только положительные элементы. Если такого столбца нет, выводится сообщение. Приложение 3


Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2021-07-20 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: