Слайд 2
01 02 03 04 05 06 07 Январь 11 6 9 8 5 10 12 61 Февраль 14 10 11 10 8 9 13 75 Март 17 11 13 11 16 14 15 97 Апрель 21 15 20 13 13 13 17 112 Май 20 11 9 20 9 12 20 101 Июнь 22 9 8 9 9 10 15 82 Июль 14 8 7 10 8 10 18 75 Август 13 15 21 14 22 18 20 123 Сентябрь 18 10 12 11 13 12 23 99 Октябрь 20 19 10 12 15 14 20 110 Ноябрь 23 18 20 18 10 19 21 129 Декабрь 25 19 18 20 15 13 29 139 Отчёт о продажах (код товара 2045) Сколько товара продано за год? Сколько товара продано в феврале? Сколько товара за год продал 04 магазин? Сколько магазинов в августе продало не менее 20 штук товара? В каком месяце продано товара всех больше? 2 Итоги контрольной работы 1 2 3 4 5 6 7 8 1 ученик 1 1 1 1 1 1 1 1 8 2 ученик 1 1 1 1 1 1 0 1 7 3 ученик 0 0 1 0 1 0 1 0 3 4 ученик 1 1 0 1 1 1 1 1 7 5 ученик 1 1 1 0 0 1 1 0 5 6 ученик 1 1 0 1 1 1 1 1 7 7 ученик 1 1 1 1 0 1 0 1 6 8 ученик 1 0 1 0 1 0 1 0 4 9 ученик 1 1 0 1 1 1 1 1 7 10 ученик 1 1 1 1 0 0 1 0 5 11 ученик 1 0 0 0 1 1 1 0 4 10 8 7 7 8 8 9 6
Слайд 3
3 7 0 4 0 1 2 4 5 0 7 0 4 0 1 2 4 5 0 7 0 4 0 1 2 4 5 0 7 0 4 0 1 2 4 5 0 7 0 4 0 1 2 4 5 0 11 3 9 Обработка всех элементов матрицы Обработка отдельных строк или столбцов матрицы Обработка всех строк или всех столбцов матрицы Обработка отдельных фрагментов матрицы S=23 План
Слайд 4
Матрица (двумерный массив) – это прямоугольная таблица, составленная из элементов одного типа (чисел, строк и т. д.). Каждый элемент матрицы имеет два индекса – номер строки и столбца. 4
Слайд 5: Объявление и заполнение матрицы
program P1; const N= 3 ; M= 4 ; var A:array [1..N,1..M] of integer; i, j: integer; Begin randomize; for i:=1 to N do begin for j:=1 to M do begin A [ i, j]:=random(20)+80; write (A[ i,j ]:4); end; writeln ; end ; … end. j=1 j=2 j=3 j=4 i =1 85 90 9 8 81 i =2 98 87 97 94 i =3 80 90 9 1 82 Объявление и заполнение матрицы Возможный вариант матрицы А 5
Слайд 6: Обработка всех элементов матрицы
Нахождение суммы всех элементов матрицы s:=0; f or i:=1 to N do for j:=1 to M do s:=s+A[i,j]; Нахождение количества элементов матрицы, больших 90 k:=0; for i:=1 to N do for j:=1 to M do if A[ i,j ]>90 t hen k:= k+1; Для перебора всех элементов матрицы используется двойной цикл j=1 j=2 j=3 j=4 i =1 85 90 9 8 81 i =2 98 87 97 94 i =3 80 90 9 1 82 6
Слайд 7: Обработка отдельных строк и отдельных столбцов матрицы
При работе со строчкой меняется параметр j, номер строчки определяется условием задачи При работе со столбцом меняется параметр i, номер столбца определяется условием задачи j=1 j=2 j=3 j=4 i=1 -5 0 8 -1 i=2 -8 7 7 4 i=3 0 0 1 2 i=4 3 4 5 8 j=1 j=2 j=3 j=4 i=1 -5 0 8 -1 i=2 -8 7 7 4 i=3 0 0 1 2 i=4 3 4 5 8 7
Слайд 8: Обработка отдельных строк и отдельных столбцов матрицы
Найдём сумму элементов 3 -го столбца s:=0; for i:=1 To 4 do s:=s+A [i, 3 ]; writeln (‘s=’, s); j=1 j=2 j=3 j=4 i =1 -5 0 8 -1 i =2 -8 7 7 4 i =3 0 0 1 2 i =4 3 4 5 8 8
Слайд 9: Обработка отдельных строк и отдельных столбцов матрицы
Найдём количество положительных элементов во второй строчке k :=0; for j:=1 to 4 do if A[ 2,j]>0 then k:=k+1; writeln (‘k=’, k); j=1 j=2 j=3 j=4 i =1 -5 0 8 -1 i =2 -8 7 7 4 i =3 0 0 1 2 i =4 3 4 5 8 9
Слайд 10: Обработка отдельных строк и отдельных столбцов матрицы
Найдём максимальный элемент в 4-м столбце max:=A [1, 4 ]; for i:=2 To 4 Do if A[i, 4 ]>max then max:=A[i, 4 ]; writeln (‘max=’, max); j=1 j=2 j=3 j=4 i =1 -5 0 8 -1 i =2 -8 7 7 4 i =3 0 0 1 2 i =4 3 4 5 8 10
Слайд 11: Обработка отдельных строк и отдельных столбцов матрицы
Переставим вторую и четвёртую строчки, используя вспомогательную переменную c f or j:=1 to 4 do begin c:=A [ 2,j]; A [ 2,j]:=A [ 4,j]; A [ 4,j]:=c; end; j=1 j=2 j=3 j=4 i =1 -5 0 8 -1 i =2 -8 7 7 4 i =3 0 0 1 2 i =4 3 4 5 8 11
Слайд 12: Обработка всех строк и всех столбцов матрицы
j=1 j=2 j=3 j=4 i =1 -5 0 8 -1 i =2 -8 7 7 4 i =3 0 0 1 2 i =4 3 4 5 8 -10 11 21 13 Найдём сумму элементов в каждом столбце матрицы for j:=1 to 4 do begin D [j]:=0; for i:=1 to 4 do D [j]:=D [ j ]+ c [ i,j ]; end; for i:=1 to 4 writeln (D [j]); e nd. 12
Слайд 13: Обработка всех строк и всех столбцов матрицы
j=1 j=2 j=3 j=4 i =1 -5 0 8 -1 2 i =2 -8 7 7 4 1 i =3 0 0 1 2 0 i =4 3 4 5 8 0 Найдём количество отрицательных элементов в каждой строке матрицы for i:=1 to 4 do begin D [ i ]:=0; for j:=1 to 4 do if a[ i,j ]<0 then D [ i ]:=D [ i ]+1; end; for i:=1 to 4 writeln (D [ i ]); e nd. 13
Слайд 14: Практикум
Сформировать таблицу «Отчёт о продажах» з а год для некоторого предприятия. У предприятия семь магазинов. Матрицу продаж заполнить случайным образом (диапазон взять от 5 до 30). 01 02 03 04 05 06 07 Январь 11 6 9 8 5 10 12 Февраль 14 10 11 10 8 9 13 Март 17 11 13 11 16 14 15 Апрель 21 15 20 13 13 13 17 Май 20 11 9 20 9 12 20 Июнь 22 9 8 9 9 10 15 Июль 14 8 7 10 8 10 18 Август 13 15 21 14 22 18 20 Сентябрь 18 10 12 11 13 12 23 Октябрь 20 19 10 12 15 14 20 Ноябрь 23 18 20 18 10 19 21 Декабрь 25 19 18 20 15 13 29 Найти Сколько товара продано за год первыми тремя магазинами? Сколько товара продано в мае? Сколько месяцев в году 03 магазин продавал не более 10 штук товара? Распечатать, сколько каждый магазин продал товара за год. В каком месяце продали товара меньше всех? 14
Слайд 15
const N= 12 ; M= 7 ; a=5; b=31; var c: array [1..N,1..M] of integer; d: array [1.. M ] of integer; z : array [1..N] of integer ; s,s1 :integer; k, min, kmin, i, j : integer; begin randomize; writeln (‘ Отчёт о продажах ’); for i:=1 to N do begin for j:=1 to M do begin c [ i, j]:= random(b-a)+a; write (c[ i,j ] :4 ); end; w riteln ; end; … 15
Слайд 16
writeln (' Найдём сумму элементов трёх первых столбцов матрицы '); s:=0; for i:=1 to N do for j:=1 to 3 do s:= s+c [ i, j]; writeln ('s=',s); writeln ; writeln ( 'Найдём сумму элементов 5 строчки матрицы '); s1:=0; for j:=1 To 7 do s1:=s1+c [ 5,j]; writeln ('s1=', s1); writeln ; writeln ( ' Сколько элементов в 3 столбце <= 10? '); k:=0; for i:=1 to N do if c [ i, 3 ]<=10 then k:=k+1; writeln ('k=', k); writeln ; 16
Слайд 17
writeln (' Распечатаем суммарный массив продаж для данных семи магазинов '); for j:=1 to M do begin d[j]:=0; for i:=1 to N do d[j]:=d[j]+ c [ i, j]; end; for j:=1 to M do write(d[j]:4); writeln ; 17
Слайд 18
writeln (' Выясним, в каком месяце продали товара меньше всех '); for i:=1 to N do begin z[ i ]:=0; for j:=1 to M do z[ i ]:=z[ i ]+ c [ i, j]; end; for i:=1 to N do write(z[ i ]:4); writeln ; min:=z[1]; kmin :=1; for i:=1 to N do if z[ i ]<min then begin min:=z[ i ]; kmin := i ; end; writeln (' kmin =', kmin ); end. 18