Двумерные массивы. Задачи обработки двумерных массивов

Содержание

Слайд 2

Рассматриваемые вопросы:

Понятие двумерного массива, его характеристики
Различные способы заполнения двумерного массива
Примеры решения

Рассматриваемые вопросы: Понятие двумерного массива, его характеристики Различные способы заполнения двумерного массива Примеры решения задач
задач

Слайд 3

Массив - упорядоченная последовательность данных одного типа, объединенных под одним именем.

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

Массив - упорядоченная последовательность данных одного типа, объединенных под одним именем. Одномерный
- таблица в которой для точного указания на элемент массива достаточно указать только один индекс – номер элемента.

Слайд 4

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

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

Слайд 5

Характеристики массива:
Имя
Тип элементов
Размер (количество элементов)
Размер двумерного массива задается количеством строк и столбцов,

Характеристики массива: Имя Тип элементов Размер (количество элементов) Размер двумерного массива задается
причем сначала обычно указывается количество строк, а затем количество столбцов.

Слайд 6

Пример двумерного массива размером 3 х 5

Описание этого массива: Var A : Array

Пример двумерного массива размером 3 х 5 Описание этого массива: Var A
[1..3,1..5] Of Integer;

Слайд 7

Элемент массива и его характеристики

Местоположение элемента в массиве
Значение

Элемент массива и его характеристики Местоположение элемента в массиве Значение

Слайд 8

A[2, 3] = 0

A[3, 2] = - 65

A[2, 3] = 0 A[3, 2] = - 65

Слайд 9

Различные способы заполнения двумерного массива:

в разделе описания констант;
с клавиатуры;
с использованием формулы;
случайными числами

Различные способы заполнения двумерного массива: в разделе описания констант; с клавиатуры; с
(частный случай использования формулы).

Слайд 10

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


Const
A : Array[1..3, 1..5] Of Integer

Пример заполнения массива в разделе описания констант … Const A : Array[1..3,
=
((-5, 6, 12, 8, 2), (89, 4, 0, 1, 6), (14, -65, -11, 23, -41));

Слайд 11

A : Array[1..3, 1..5] Of Integer =
((-5, 6, 12, 8, 2), (89,

A : Array[1..3, 1..5] Of Integer = ((-5, 6, 12, 8, 2),
4, 0, 1, 6), (14, -65, -11, 23, -41));

Слайд 12

Пример заполнения массива с клавиатуры

Var i, j, n, m : word; A : Array[1..100,

Пример заполнения массива с клавиатуры Var i, j, n, m : word;
1..100] Of Integer; …


Readln(n);
Readln(m);
For i :=1 To n Do
For j :=1 To m Do
Readln(A[i, j]);

Слайд 13

i :=1, 2, 3
j :=1, 2, 3, 4, 5

-41

-5

6

12

8

2

89

4

0

1

6

14

-65

-11

23

For i

i :=1, 2, 3 j :=1, 2, 3, 4, 5 -41 -5
:=1 To n Do
For j :=1 To m Do
Readln(A[i, j]);

Слайд 14

j :=1, 2, 3, 4, 5 i :=1, 2, 3

-41

-5

6

12

8

2

89

4

0

1

6

14

-65

-11

23

For j

j :=1, 2, 3, 4, 5 i :=1, 2, 3 -41 -5
:=1 To m Do
For i :=1 To n Do
Readln(A[i, j]);

Слайд 15

Пример заполнения массива с помощью формулы


Readln(n);
Readln(m);
For i :=1 To n Do
For j

Пример заполнения массива с помощью формулы … Readln(n); Readln(m); For i :=1
:=1 To m Do
A[i, j]:= i - j; …

Слайд 16

Пример заполнения массива с помощью формулы

1 – 1 = 0

-4

1 – 3

Пример заполнения массива с помощью формулы 1 – 1 = 0 -4
= -2

1 – 2 = -1

0

-1

1 – 5 = -4

-2

1 – 4 = -3

-3

-3

1

0

-1

-2

-2

2

1

0

-1

Слайд 17

Пример заполнения массива случайными числами

Общий вид формулы для интервала [a, b]
Random(b-a+1)+a

Пример заполнения массива случайными числами Общий вид формулы для интервала [a, b] Random(b-a+1)+a

Слайд 18

Randomize;
Readln(n);
Readln(m);
For i :=1 To n Do
For j :=1 To m Do
A[I]:= Random(21)

Randomize; Readln(n); Readln(m); For i :=1 To n Do For j :=1
- 5;

Для [-5, 15] формула
Random(15-(-5)+1)+(-5)
Random(21) - 5

Слайд 19

Вывод двумерного массива

For i :=1 To n Do
Begin
For j :=1

Вывод двумерного массива For i :=1 To n Do Begin For j
To m Do Write (A[i, j]:4);
Writeln;
End;

Слайд 20

-5 6 12 8 2
89 4 0 1 6
14 -65 -11 23

-5 6 12 8 2 89 4 0 1 6 14 -65
-41

Пример 1:

Пример 2:

Слайд 21

Задача 1

Все элементы двумерного массива A размером 10х10 первоначально были равны 0.

Задача 1 Все элементы двумерного массива A размером 10х10 первоначально были равны

Затем значения элементов меняются с помощью вложенных циклов.

for n:=1 to 4 do
for k:=n to 4 do
begin
A[n, k]:=A[n, k]+1;
A[k, n]:=A[k, n]+1;
End;

Сколько элементов массива в результате будут равны 1?

Слайд 22

for n:=1 to 4 do
for k:=n to 4 do
begin
A[n,

for n:=1 to 4 do for k:=n to 4 do begin A[n,
k]:=A[n, k]+1;
A[k, n]:=A[k, n]+1;
End;

n=1

k=1, 2, 3, 4

A[1,1]:=A[1,1]+1=0+1=1
A[1,1]:=A[1,1]+1=1+1=2

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

2

A[2,4]:=A[2,4]+1=0+1=1
A[4,2]:=A[4,2]+1=0+1=1

A[1,2]:=A[1,2]+1=0+1=1
A[2,1]:=A[2,1]+1=0+1=1

1

1

A[1,3]:=A[1,3]+1=0+1=1
A[3,1]:=A[3,1]+1=0+1=1

1

1

A[1,4]:=A[1,4]+1=0+1=1
A[4,1]:=A[4,1]+1=0+1=1

1

1

n=2

k=2, 3, 4

A[2,2]:=A[2,2]+1=0+1=1
A[2,2]:=A[2,2]+1=1+1=2

2

A[2,3]:=A[2,3]+1=0+1=1
A[3,2]:=A[3,2]+1=0+1=1

1

1

1

1

2

2

1

1

Слайд 23

Задача 2

Значения двумерного массива размера 7×7 задаются с помощью вложенного оператора

Задача 2 Значения двумерного массива размера 7×7 задаются с помощью вложенного оператора
цикла
for n:=1 to 7 do
for k:=1 to 7 do
B[n, k]:=k–n;
Сколько элементов массива будут иметь положительные значения?

Слайд 24

for n:=1 to 7 do
for k:=1 to 7 do
B[n, k]:=k–n;

B[n, k]:= k–n k–n

for n:=1 to 7 do for k:=1 to 7 do B[n, k]:=k–n;
> 0 k > n

0

0

0

0

0

0

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

Слайд 25

Задача 3

Дан фрагмент программы, обрабатывающей двухмерный массив A размера n×n.
k:=1;
for i:=1

Задача 3 Дан фрагмент программы, обрабатывающей двухмерный массив A размера n×n. k:=1;
to n do
begin
c:=A[i,i];
A[i,i]:=A[k,i];
A[k,i]:=c;
end;
Какую задачу решает этот алгоритм?

Слайд 26

k:=1;
for i:=1 to 5 do
begin
c:=A[i,i];
A[i,i]:=A[1,i];
A[1,i]:=c;
end;

1

2

3

4

5

6

7

8

9

10

12

11

14

13

15

17

16

19

18

20

22

21

24

23

25

i := 2

7

2

i := 5

13

3

k:=1; for i:=1 to 5 do begin c:=A[i,i]; A[i,i]:=A[1,i]; A[1,i]:=c; end; 1
i := 3

4

19

i := 4

25

5

i := 1

Слайд 27

Задача 4

Значения элементов двумерного массива В размера 10 х 10 задаются с

Задача 4 Значения элементов двумерного массива В размера 10 х 10 задаются
помощью вложенных операторов цикла в представленном фрагменте программы. Сколько элементов массива будут принимать четные значения?
for i:=l to 10 do
forj:=l to 10 do
B[i,j]:=i*j;

Слайд 28

For i:=1 to 10 do
For j:=1 to 10 do
B[i,j]:=i*j;

1

2

3

5

4

7

6

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Ответ:
100 – 25 =

For i:=1 to 10 do For j:=1 to 10 do B[i,j]:=i*j; 1
75

Слайд 29

Задача 5

Значения элементов двумерного массива размера 10 х 10 задаются с

Задача 5 Значения элементов двумерного массива размера 10 х 10 задаются с
помощью вложенного оператора цикла в представленном фрагменте программы.
Сколько элементов массива будут равны 0?
Сколько элементов массива будут равны 5?
for i:=1 to 10 do
for j:=1 to 10 do
If i<=j then B[i, j]:=j - i+1
else B[i, j]:=0;

Слайд 30

for i:=1 to 10 do
for j:=1 to 10 do
If i <= j

for i:=1 to 10 do for j:=1 to 10 do If i
then B[i, j]:=j - i+1
else B[i, j]:=0;

j - i+1= 0

i = j +1
i <= j

j - i+1= 5

i = j - 4

5

5

5

5

5

5

Слайд 31

Задача 6

Значения элементов двумерного массива размера 50x50 задаются с помощью вложенного

Задача 6 Значения элементов двумерного массива размера 50x50 задаются с помощью вложенного
оператора цикла в представленном фрагменте программы.
Сколько элементов массива будут принимать значения, равные 35?
for i:=1 to 50 do
for j :=1 to 50 do
If i

Слайд 32

for i:=1 to 50 do
for j:=1 to 50 do
If i < j

for i:=1 to 50 do for j:=1 to 50 do If i else B[i, j]:= j;
then B[i, j]:= i
else B[i, j]:= j;
Имя файла: Двумерные-массивы.-Задачи-обработки-двумерных-массивов.pptx
Количество просмотров: 27
Количество скачиваний: 0