Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемФилипп Веденяпин
1 Двумерные массивы. Задачи обработки двумерных массивов
2 Рассматриваемые вопросы: Понятие двумерного массива, его характеристики Различные способы заполнения двумерного массива Примеры решения задач 2
3 Массив - упорядоченная последовательность данных одного типа, объединенных под одним именем Одномерный один Одномерный массив - таблица в которой для точного указания на элемент массива достаточно указать только один индекс – номер элемента. 3
4 ABCDEFGH Структура данных в языке Паскаль для хранения такой таблицы называется двумерным массивом. 4
5 Характеристики массива: Имя Тип элементов Размер (количество элементов) Размер количеством строк и столбцов Размер двумерного массива задается количеством строк и столбцов, причем сначала обычно указывается количество строк, а затем количество столбцов. 5
6 3 5 Пример двумерного массива размером 3 х Описание этого массива: Var A : Array [1..3,1..5] Of Integer; 6
7 Элемент массива и его характеристики Местоположение элемента в массиве Значение 7
8 A[2, 3] = A[3, 2] =
9 Различные способы заполнения двумерного массива: в разделе описания констант; с клавиатуры; с использованием формулы; случайными числами (частный случай использования формулы). 9
10 Пример заполнения массива в разделе описания констант …Const A : Array[1..3, 1..5] Of Integer = ((-5, 6, 12, 8, 2), (89, 4, 0, 1, 6), (14, -65, -11, 23, -41)); … 10
11 A : Array[1..3, 1..5] Of Integer = ((-5, 6, 12, 8, 2), (89, 4, 0, 1, 6), (14, -65, -11, 23, -41));
12 Пример заполнения массива с клавиатуры Var i, j, n, m : word; A : Array[1..100, ] Of Integer; … … Readln(n); Readln(m); For i :=1 To n Do For j :=1 To m Do Readln(A[i, j]); 12
13 i :=1, 2, 3 j :=1, 2, 3, 4, For i :=1 To n Do For j :=1 To m Do Readln(A[i, j]); 13
14 j :=1, 2, 3, 4, 5 i :=1, 2, For j :=1 To m Do For i :=1 To n Do Readln(A[i, j]); 14
15 Пример заполнения массива с помощью формулы … Readln(n); Readln(m); For i :=1 To n Do For j :=1 To m Do A[i, j]:= i - j; … 15
16 Пример заполнения массива с помощью формулы – 1 = – 3 = -2 1 – 2 = – 5 = – 4 =
17 Пример заполнения массива случайными числами Общий вид формулы для интервала [a, b] Random(b-a+1)+a 17
18 Randomize; Readln(n); Readln(m); For i :=1 To n Do For j :=1 To m Do A[I]:= Random(21) - 5; Для [-5, 15] формула Random(15-(-5)+1)+(-5) Random(21)
19 Вывод двумерного массива For i :=1 To n Do Begin For j :=1 To m Do Write (A[i, j]:4); Writeln; End; … 19
20 Пример 1: Пример 2: 20
21 Задача 1 Все элементы двумерного массива A размером 10х10 первоначально были равны 0. Затем значения элементов меняются с помощью вложенных циклов. 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? 21
22 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= 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=
23 Задача 2 Значения двумерного массива размера 7 7 задаются с помощью вложенного оператора цикла for n:=1 to 7 do for k:=1 to 7 do B[n, k]:=k–n; Сколько элементов массива будут иметь положительные значения? 23
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 > 0 k > n k kk k n
25 Задача 3 Дан фрагмент программы, обрабатывающей двухмерный массив A размера n×n. k:=1; for i:=1 to n do begin c:=A[i,i]; A[i,i]:=A[k,i]; A[k,i]:=c; end; Какую задачу решает этот алгоритм? 25
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; i := i := i := i := i := 1 26
27 Задача 4 В1010 Значения элементов двумерного массива В размера 10 х 10 задаются с помощью вложенных операторов цикла в представленном фрагменте программы. Сколько элементов массива будут принимать четные значения? for i:=l to 10 do forj:=l to 10 do B[i,j]:=i*j; 27
28 For i:=1 to 10 do For j:=1 to 10 do B[i,j]:=i*j; Ответ: 100 – 25 = 75 28
29 Задача 5 Значения элементов двумерного массива размера 10 х 10 задаются с помощью вложенного оператора цикла в представленном фрагменте программы. 0 Сколько элементов массива будут равны 0? 5 Сколько элементов массива будут равны 5? for i:=1 to 10 do for j:=1 to 10 do If i
30 for i:=1 to 10 do for j:=1 to 10 do If i
31 Задача 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 then B[i, j]:= i else B[i, j]:= j; 123…343536… … …
33 Ввели понятие двумерного массива;Ввели понятие двумерного массива; Рассмотрели правила заполнения и вывода двумерного массива;Рассмотрели правила заполнения и вывода двумерного массива; Разобрали решение задач, на заполнение и обработку массива.Разобрали решение задач, на заполнение и обработку массива. 33
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.