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

Вид материалаМетодическое пособие

Содержание


X. Простейшие алгоритмы обработки двумерных массивов
20 INPUT "Ввести количество строк и столбцов матрицы"; N, M
X.3.Задачи  уровня
A(N,N). Найти значение макси­мального элемента на главной диагонали матрицы. 7. Дана матрица A(N,M).
Подобный материал:
1   ...   14   15   16   17   18   19   20   21   ...   25

X. Простейшие алгоритмы обработки
двумерных массивов


Двумерным называется массив, элемент которого зависит от его местоположения в строке и в столбце. В общем виде элемент двумерного массива обозначается A(I,J).

где А - имя массива,

I - индекс (номер) строки,

J - индекс (номер) столбца.

массив А(3,5)

индексы

1

2

3

4

5

1

4

8

9

5

6

2

3

3

5

8

8

3

6

7

8

5

4



X.1.Бейсик


DIM A(I,J) - описать матрицу (двумерный массив) это значит предоставить свободные ячейки в памяти ЭВМ для эле­ментов данной матрицы. В памяти ЭВМ элементы двумерного массива располагаются по строкам, поэтому индекс строки изменяется медленнее, чем индекс столбца.

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

Квадратной называется двумерный массив, в котором количество строк равно количеству столбцов.

пример: Дана матрица, состоящая из N строк и M столбцов. Ввести значения элементов матрицы с клавиатуры и вывести значения элементов матрицы на экран в столбик.

10 REM Ввод с клавиатуры, вывод в столбик

20 INPUT "Ввести количество строк и столбцов матрицы"; N, M

30DIM A(N, M)

40 FOR I=1 TO N

50 FOR J=1 TO M

60 INPUT "Ввести значение элемента"; A(I,J)

70 PRINT "A("I","J")="; A(I,J)

80 NEXT J

90 NEXT I

100 END

X.2.Паскаль


Двумерный массив можно задать двумя способами:

I. <имя массива >: array <кол-во строк> of array <кол-во столбцов> of <тип переменной>;

II. <имя массива >: array <кол-во строк>,<кол-во столб­цов> оf <тип переменной>.

Соотношение индексов в квадратной матрице

I=J

элементы матрицы расположены на главной диагонали

KJ

элементы матрицы расположены над глав­ной диагональю

I>J

элементы матрицы расположены под глав­ной диагональю

I+J=N+1

элементы матрицы расположены на побоч­ной диагонали

(N - количество строк или столбцов в квадратной матрице)

I+J

элементы матрицы расположены над побоч­ной диагональю

I+J>N+1

элементы матрицы расположены под побоч­ной диагональю


пример: program zadacha (input, output);

{ввод с клавиатуры, вывод в столбик}

var

a:array [1..10, 1..10] of real;

i, j: integer;

begin

for i:=1 to 10 do

for j:=1 to 10 do begin

readln (a[i, j]);

writeln ('a(' , i, ',' , j,')=', a[i, j]

end;

end.

X.3.Задачи  уровня


1. Введите с помощью операторов DATA-READ значения эле­ментов матрицы А(3,4) и выдайте их на экран в виде таб­лицы (для языка БЕЙСИК).

2. Дана матрица, состоящая из N строк и М столбцов. Ввести значения элементов матрицы с клавиатуры и вывести зна­чения элементов матрицы на экран в столбик.

3. Заполните случайными числами таблицу 5*5.Выведите ее на экран в строчку.

4. Сформировать единичную матрицу. (Единичная матрица -это квадратная числовая таблица, главная диагональ кото­рой состоит из единиц, все остальное - из нулей.)

5. Найти наибольшее значение элементов двумерного масси­ва.

6. Дана квадратная матрица A(N,N). Найти значение макси­мального элемента на главной диагонали матрицы.

7. Дана матрица A(N,M). Выдать на печать значения макси­мальных элементов каждой строки матрицы.

8. Дан двумерный массив, состоящий из N строк и М столб­цов. Подсчитать сумму значений всех элементов этого массива.

9. Дана квадратная матрица A(N,N). Подсчитать сумму значений элементов каждой строки матрицы.