Выбранный для просмотра документ Двумерные массивы.pps
Скачать материал "Презентация по основам программирования "Двумерные массивы""
Рабочие листы
к вашим урокам
Скачать
1 слайд
КГБ ПОУ «Хабаровский машиностроительный техникум»
Преподаватель:
Галина Григорьевна Москвичева
Двумерные массивы
2 слайд
Двумерным массивом называется совокупность данных, каждое значение которых, зависит от его положения в строке и в столбце.
3 слайд
Двумерный массив соответствует понятию таблицы
или матрицы. (Две меры: длина и ширина).
Если двумерный массив имеет имя А, то запись A[i,j] обозначает элемент, расположенный на пересечении стороки i и столбца j.
4 слайд
Если в таблице (матрице) количество строк и столбцов совпадают, то она называется квадратной, в противном случае прямоугольной.
5 слайд
Если i=j, то матрицу называют квадратной. В квадратной матрице различают главную и побочную диагонали массива.
Главная диагональ
Побочная диагональ
6 слайд
Примеры двумерных массивов: таблица умножения (таблица Пифагора), страница классного журнала с оценками (строка – оценки одного ученика, столбец – оценка за урок), зал кинотеатра (ряд, место).
Обозначения
A[i,j] – элемент массива
A[i,3] – любой элемент третьего столбца
A[5,j] – любой элемент пятой строки
7 слайд
Описание двумерного массива в программе
Описание матрицы в разделе var аналогично описанию одномерного массива, только теперь необходимо указывать диапазон изменения столбцов и строк.
1.
Var A:array[1..5,1..6] of integer;
(целочисленный массив из 5 строк и 6 столбцов)
2.
Var A:array[1..4,1..4] of char;
(символьный массив из 4 строк и 4 столбцов)
3.
Const n=5; m=6;
Var А:array [1..n,1..m] of integer;
8 слайд
Для ввода матрицы в память существует много способов, это зависит от направления задачи. Рассмотрим два самых распространенных способа:
1.
Program primer1;
Const n=5; m=6;
Var А:array [1..n,1..m] of integer; I,j : integer;
Begin
Writeln(‘Введите элементы матрицы по строкам’);
Writeln(‘В конце каждой строки нажимайте ENTER’);
For I:=1 to n do
Begin
For j:= 1 to m do
Begin
Readln(a[i,j]);
End;
End;
End.
9 слайд
2.
Program primer2;
Const n=10; m=12;
Var А:array [1..n,1..m] of integer; I,j : integer;
Begin
Randomize;
For I:=1 to n do
Begin
For j:=1 to n do
Begin
a[i,j]:=random(10);
write(a[i,j],’ ‘);
End;
Writeln;
End;
End.
10 слайд
Свойства элементов
квадратной матрицы
11 слайд
Элемент массива находится на главной диагонали: i=j
12 слайд
2. Элемент массива находится выше главной диагонали: i<j
i<=j (на главной диагонали и выше)
13 слайд
3. Элемент массива находится ниже главной диагонали: i>j
i>=j (на главной диагонали и ниже)
14 слайд
4. Элемент массива находится на побочной диагонали: i+j=6 (если размер матрицы 5х5)
15 слайд
5. Элемент массива находится ниже побочной диагонали: i+j>6
i+j>=6 (на побочной диагонали и ниже)
16 слайд
6. Элемент массива находится выше побочной диагонали: i+j<6
i+j<=6 (на побочной диагонали и выше)
17 слайд
Способы заполнения двумерного массива
18 слайд
Заполнение массива с клавиатуры
Program sposob1;
Var A : array [1..3, 1..3] of integer;
i,j:integer;
Begin
For i:=1 to 3 do
For j:=1 to 3 do
read (A[i,j]);
For i:=1 to 3 do
begin
For j:=1 to 3 do
write (A[i,j]);
end;
End.
Ввод элементов массива пользователем с клавиатуры
Вывод элементов массива на экран в виде таблицы
19 слайд
2. Заполнение массива с помощью генератора случайных чисел
Program sposob1;
Var A : array [1..5, 1..5] of integer;
i,j:integer;
Begin
For i:=1 to 5 do
begin
For j:=1 to 5 do
begin
a[i,j]:=random(100);
write (A[i,j] :4);
end;
writeln;
end;
End.
20 слайд
Пример
Пусть на целом ряде метеостанций, расположенных в разных точках земного шара, в течение многих дней измеряли температуру воздуха. Показания термометров свели в таблицу. Ограничимся для экономии места тремя станциями и четырьмя днями:
21 слайд
Требуется:
Распечатать температуру на 2-й метеостанции за 4-й день и на 3-1 метеостанции за 1-й день.
Распечатать показания термометров всех метеостанций за 2-й день.
Определить среднюю температуру на 3-й метеостанции.
Распечатать всю таблицу.
Распечатать, в какие дни и на каких метеостанциях температура была в диапазоне 24-26 градусов тепла.
22 слайд
Для этого обозначим показания температуры термометров индексированной переменной с двумя индексами по следующей схеме:
t[1,1] t[1,2] t[1,3] t[1,4]
t[2,1] t[2,2] t[2,3] t[2,4]
t[3,1] t[3,2] t[3,3] t[3,4]
Обратите внимание, что первый индекс в скобках обозначает номер строки (метеостанции), второй – номер столбца (дня) прямоугольной таблицы.
23 слайд
Программа:
Program temp;
Var t : array [1..3, 1..4] of integer;
s,I,j : integer;
Begin
{Зададим значения элементов массива обычным присваиванием:}
t[1,1]:=8; t[1,2]:=-14; t[1,3]:=-19; t[1,4]:=-18;
t[2,1]:=25; t[2,2]:=28; t[2,3]:=26; t[2,4]:=20;
t[3,1]:=11; t[3,2]:=18; t[3,3]:=20; t[3,3]:=25;
{Распечатываем температуру на 2-й станции за 4-й день и на 3-й станции за 1-й день:}
Writeln (t[2,4]);
Writeln (t[3,1]);
24 слайд
{Распечатываем показания термометров всех метеостанций за 2-й день:}
For i:=1 to 3 do
Writeln (t[i,2]);
{Определим среднюю температуру на 3-й метеостанции:}
i:=3;
S:=0;
For j:=1 to 4 do
S:=S+t[i,j];
Writeln (S/4 :10:3);
{Распечатаем всю таблицу:}
For i:=1 to 3 do
For j:=1 to 4 do
Writeln (t[i,j]);
25 слайд
{Распечатываем станции и дни с температурой 24-26 градусов:}
For i:=1 to 3 do
For j:=1 to 4 do
if (t[i,j])>=24 and (t[i,j])<=26 then
Writeln (‘Станция ‘, i , ‘ день ‘,j);
End.
26 слайд
Задача 1
Вычислить сумму элементов главной диагонали квадратной матрицы.
27 слайд
Program Sumglav;
const n=3;
var a:array [1..n,1..n] of real;
i, j: integer; S: real;
Begin
Randomize;
For I:=1 to n do
Begin
For j:=1 to n do
Begin
a[i,j]:=random(10);
write(a[i,j],' ');
End;
Writeln;
End;
Начало программы
28 слайд
S:=0;
for i:=1 to n do
S:=S+a[i,i];
write(‘Сумма элементов главной диагонали =’,S);
readln;
readln
end.
Окончание программы
29 слайд
Задача 2
Нахождение наибольших элементов каждой строки массива.
30 слайд
Program Stroki;
const n=3; m=4
var a:array [1..n,1..m] of real;
max:array [1..n] of real; i, j: integer;
Begin
Randomize;
For I:=1 to n do
Begin
For j:=1 to m do
Begin
a[i,j]:=random(10);
write(a[i,j],' ');
End;
Writeln;
End;
Начало программы
31 слайд
for i:=1 to n do
begin
max[i]:=a[i,1];
for j:=2 to m do
if max[i]<a[i,j] then max[i]:=a[i,j];
end;
writeln(‘Наибольшие числа строк массива =>’);
for i:=1 to n do
writeln(max[i]);
readln;
readln
end.
Окончание программы
32 слайд
Задача 3
Перестановка строк массива.
33 слайд
Program Stroki2;
const n=3; m=4;
var a:array [1..n,1..m] of integer; i, j,k,l,c: integer;
Begin
Randomize;
For I:=1 to n do
Begin
For j:=1 to m do
Begin
a[i,j]:=random(10);
write(a[i,j],' ');
End;
Writeln;
End;
Начало программы
34 слайд
writeln(‘Ведите номера меняемых местами строк’);
readln(k,l);
for j:=1 to m do
begin
c:=a[k,j];
a[k,j]:=a[l,j];
a[l,j]:=c;
end;
Продолжение программы
35 слайд
writeln(‘Новый массив => ’);
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j],’ ‘);
writeln;
end;
readln;
readln
end.
Окончание программы
Рабочие листы
к вашим урокам
Скачать
Рабочие листы
к вашим урокам
Скачать
6 662 863 материала в базе
Настоящий материал опубликован пользователем Москвичева Галина Григорьевна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт
Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.
Удалить материалВаша скидка на курсы
40%Курс профессиональной переподготовки
500/1000 ч.
Курс профессиональной переподготовки
300/600 ч.
Курс профессиональной переподготовки
300/600 ч.
Курс повышения квалификации
36/72 ч.
Мини-курс
10 ч.
Мини-курс
4 ч.
Мини-курс
6 ч.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.